Skip to main content

C# là ngôn ngữ tuyệt vời nhất. Java, PHP, C, C++, RUBY chỉ toàn là thứ rẻ tiền


Sau một khoảng thời gian dài lập trình, mình đã có thể tự mà phát biểu rằng: C# là ngôn ngữ lập trình tuyệt vời và đáng học nhất. Lý do ư, vô số kể:
  • Bản thân ngôn ngữ C# có vô số điều thú vị: static method, partial class, delegate, LINQ, lambda expression, … Cái ngôn ngữ cùi bắp như Java làm gì có partial class, delegate, đến Java 8 mới bắt chước được cái lambda expression còn gì.
  • C# là ngôn ngữ strong-typed: Các tham số, kết quả trả về của hàm đều là một object. Mọi lỗi do đánh nhầm tên trường, tên hàm, nhầm kiểu class đều được báo trong lúc viết code, không phải chờ đến lúc chạy mới báo như mấy cái ngôn ngữ PHP, python cùi chuối khác.
  • C# đi kèm với framework .NET, hỗ trợ nhiều thứ: Tạo ứng dụng Window với WinForm, WPF; Tạo website bằng WebForm, MVC.NET… Mấy cái ngôn ngữ cấp thấp như C, C++ tuổi gì làm được mấy cái đó.
  • C# có IDE Visual Studio cùng nhiều plug-in vô cùng mạnh mẽ. VS ra bản mới đều đặn như FIFA. Reshaper hỗ trợ refactor, tăng tốc độ code … Mấy đứa khác code PHP, Python dùng cái gì để code? Dĩ nhiên là mấy thứ rởm rởm như Notepad++ hoặc Sublime Text rồi, đến cái chức năng “Jump to Definition” còn không có.
Đọc xong đoạn này, có lẽ sẽ có khoảng vài chục người ném cà chua, trứng thối và gạch đá đủ cho mình xây biệt thự. Từ từ, ít ra hãy bỏ thời gian kéo xuống dưới, đọc hết bài viết rồi ném gạch mình nhé. Dù sao khung comment nó nằm tận dưới cuối trang mà.

Chúng ta đang xem ngôn ngữ lập trình như một thứ tôn giáo

Ngày xưa, mình cũng hay nhảy vào ném gạch khi nghe có đứa mở mồm chê C# và .NET. Giữa lập trình viên với nhau luôn có những cuộc tranh cãi liên tu bất tận về ngôn ngữ và công nghệ: Ngôn ngữ nào mạnh nhất, công nghệ nào tốt nhất. Ngôn ngữ, thứ vốn chỉ là công cụ, nay được nâng lên tầm TÔN GIÁO. Lập trình viên chia thành đạo Java, đạo PHP, đạo C#, đạo này công kích chửi bới đạo kia. Mức độ cuồng tín đôi khi chắc cũng không thua fan bóng đá, fan cuồng K-pop hay ISIS. Những cuộc cãi vã chê bai đầy rẫy trên mạng, các bạn có thể thử google: Why C# sucks, Why Java sucks, Why PHP sucks, … để xem thử.
Khi làm việc nhiều với một ngôn ngữ, một developer sẽ quen dần với ngôn ngữ đó, tìm ra được nhiều điều hay ho ẩn trong ngôn ngữ. Nhiều người sẽ nghĩ rằng ngôn ngữ của mình là nhất, có thể giải quyết được mọi vấn đề (Giống như ISIS nghĩ rằng đạo Hồi là nhất, mọi lời nói của đấng tối cao đều đúng đắn). Khi ngôn ngữ mình thích bị chê bai, bị xúc phạm, họ cảm thấy như chính tôn giáo của mình bị xúc phạm. Họ xù lông lên, kêu gọi bạn bè, đồng đội cùng đạo, nhảy vào ném đá cho chết “cái thằng bố láo, dám chê Java, PHP, C++, … của bố“.

Về bản chất, ngôn ngữ chỉ là công cụ

Ngôn ngữ chỉ là thứ chúng ta sử dụng, nó không định hình nên con người chúng ta. Để mở rộng tầm nhìn, bạn hãy thử tìm hiểu nhiều ngôn ngữ xem. Bạn sẽ ngạc nhiên khi thấy giữa chúng đều có một vài khái niệm, khuôn mẫu chung. (Mình từng dùng MVC.NET, Struts2, Django, 3 framework của 3 ngôn ngữ khác nhau nhưng đều dựa trên khái niệm MVC cả). Nói một các công bằng, ngôn ngữ nào cũng có cái hay của nó:
  • C, C++ làm web khá cực và mất thời gian, nhưng để lập trình nhúng, lập trình game hay cần performance thì khó ai bằng nó.
  • Javascript là cái ngôn ngữ kì dị điên khùng và cực tệ. Tuy nhiên do có vô số framework đi kèm nên hiện tại và tương lai nó vẫn sẽ hot, do đó mình khuyên nhiều bạn nên học.
  • PHP được thiết kế dở tệ (Vốn nó được tạo ra chỉ để viết mấy trang web nho nhỏ), nhưng có vô số framework, cộng đồng lập trình viên đông và hung hãn. Nó là lựa chọn số 1 nếu muốn tạo 1 trang web nhanh, nhiều tính năng, ít lỗi (Điển hình như blog này viết trên wordpess, cũng viết bằng PHP).
  • C#.NET, muốn dùng phải cài 1 đống thứ nặng nề và tốn tiền. Nhưng nó lại được rất nhiều công ty sử dụng vì tính năng, bảo mật, v…v
  • Dừng tranh cãi lại, bớt gạch đá đi

    Xét cho cùng, thứ quan trọng không phải là ngôn ngữ, mà là khả năng tư duy logic, kĩ năng giải quyết vấn đềtầm nhìn hệ thống. Khách hàng sẽ đánh giá chúng ta qua sản phẩm – thứ họ thấy, và éo ai quan tâm đến code bạn viết đâu. Bạn có ngừng dùng facebook vì nó viết bằng PHP – thứ ngôn ngữ cùi bắp không? KHÔNG. Bạn có bỏ stackoverflow khi biết nó được xây dựng dựa trên MVC.NET, ngôn ngữ vừa chậm vừa mắc tiền không? DĨ NHIÊN LÀ KHÔNG. Vậy thì hãy đánh giá một lập trình viên qua thứ họ làm ra, chứ đừng thông qua ngôn ngữ họ sử dụng.
    Thay vì chê bai, tranh cãi khi có người chê ngôn ngữ mình thích, hãy bỏ thời gian ra tìm hiểu và chia sẻ kiến thức (Bằng cách viết blog như mình này).  Giữ một cái nhìn khách quan về ngôn ngữ lập trình, bạn sẽ dễ dàng thăng tiến, tìm việc hơn (Đang làm Java nhảy qua Python cũng không sao). Ngày xưa mình cũng ghét PHP lắm, sau khi tự học nó lại thấy nó có kha khá thứ thú vị đấy chứ.
    Kết luận: Nói gì thì nói, bản chất PHP vẫn là một ngôn ngữ sida cùi bắp, và Javascript vẫn là cái thứ dị hợm, dở dở ương ương, thất bại của tạo hóa. Nếu bạn vẫn còn cay cú vì PHP bị nói xấu, vui lòng kéo lên đầu và đọc lại bài viết nhé.
  • Xem thêm việc làm tại : https://freec.asia/

Comments

Popular posts from this blog

Điều gì làm cho PostgreSQL hơn các cơ sở dữ liệu mã nguồn mở khác?

Tag line của PostgreSQL đã phát biểu rằng nó là: "Cơ sở dữ liệu mã nguồn mở tiên tiến nhất thế giới".Trong loạt bài này, chúng ta sẽ xem điều gì làm cho PostgreSQL khác biệt với những cơ sở dữ liệu SQL mã nguồn mở khác, như MySQL, MariaDB và Firebird. Đánh chỉ mục PostgreSQL cung cấp khả năng đánh chỉ mục mà những cơ sở dữ liệu mã nguồn mở khác không có. PostgreSQL hỗ trợ các loại chỉ mục partial, expression, GiST và GIN, và nhiều chuẩn khác. Chúng ta hãy xem xét một số loại chỉ mục đặc biệt này. Partial Indexes (Đánh chỉ mục từng phần) Partial Indexes có thể được tạo ra khi bạn chỉ muốn đánh chỉ mục một tập hợp con của bảng, chẳng hạn như chỉ một số dòng nơi giá trị của cột phù hợp với một điều kiện cụ thể. Lợi thế của tính năng này giúp chỉ mục của bạn có kích thước hợp lý, với mục tiêu để cải thiện hiệu năng và giảm kích thước trên ổ đĩa. Một khía cạnh quan trọng của partial indexes là cột được đánh chỉ mục có thể khác so với các điều kiện được cung cấp. Ví dụ, bạn có thể ...

Google Chrome sắp có thêm tính năng gộp nhiều tab thành một nhóm

Ngày hôm nay, Google cho biết sẽ sớm tích hợp thêm tính năng nhóm các tab trong trình duyệt Chrome. Đây là tính năng rất thú vị, mà nhiều người sử dụng Chrome mong đợi. Bởi thói quen của người dùng trình duyệt hiện nay là mở rất nhiều tab, có khi đến vài chục tab cùng lúc. Vì vậy, họ rất cần một tính năng có thể nhóm và quản lý dễ dàng các tab trình duyệt này. Ngay bây giờ, người dùng có thể trải nghiệm tính năng mới này trong phiên bản Chrome Beta mới nhất. Đối với phiên bản Chrome chính thức, Google cho biết sẽ cập nhật tính năng nhóm tab vào tuần tới. Với tính năng mới, người dùng Chrome có thể tùy chỉnh từng tab bằng cách bấm chuột phải vào tab đó, rồi đặt tên và màu sắc riêng. Các tab có cùng một màu sắc sẽ được gộp lại thành một nhóm chung. Bạn có thể chia thành các nhóm theo chủ đề công việc, giải trí, liên lạc. Bạn cũng có thể kéo một tab từ nhóm này sang nhóm khác để thay đổi cách sắp xếp. Chrome không phải là trình duyệt đầu tiên có tính năng này, trước đó thì Viva...

Học lập trình có cần giỏi toán học không ?

Đây là một trong vô vàn câu hỏi của bạn các bạn trẻ có đam mê học lập trình nhưng lại không tự tin về khả năng toán học của mình. Vậy thực sự, nếu không giỏi toán, bạn có thể theo đuổi việc học lập trình được hay không? Hay nói cách khác, học lập trình có cần giỏi toán không? Hãy cùng theo dõi tiếp bài viết dưới đây để tìm ra câu trả lời nhé! 1. Học lập trình có cần giỏi toán ? Nhiều người nghĩ rằng, học lập trình thì nhất định phải giỏi toán, đây là môn học chỉ dành cho những người có tài năng thiên phú về toán học hay đại loại là yêu thích các hoạt động về trí não, tư duy…Như vậy là hiểu đúng hay sai? Hầu hết mọi ngành nghề đều đòi hỏi người học phải có những tố chất nhất định, để có thể phù hợp với nghề nghiệp đã chọn. Học và làm lập trình đương nhiên cũng không phải là ngoại lệ. Trên thực tế, đối với các ngành chuyên về kỹ thuật, việc học giỏi các môn học như toán, vật lý, hóa học... sẽ có ích rất lớn trong quá trình học tập cũng như rèn luyện. Tuy nhiên, học lập trình ...