C# LÀ NGÔN NGỮ TUYỆT VỜI NHẤT. JAVA, PHP, C, C++, RUBY CHỈ TOÀN LÀ THỨ RẺ TIỀN

9/18/2020 1:27 PM | Lập trình

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ử.

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é :D.

Tác giả: Phạm Huy Hoàng - Tôi đi code dạo

Tin tức khác

  • Tạo chatbot với CHAT GPT sử dụng C#

    Tạo chatbot với CHAT GPT sử dụng C#

    Trong hướng dẫn này, chúng ta sẽ đi sâu vào quá trình xây dựng chatbot bằng ChatGPT và C#. Chúng tôi sẽ đề cập đến mọi thứ, từ thiết lập quyền truy cập API ChatGPT đến triển khai chatbot của bạn. Bắt đầu nào!

  • Remote SQL Server. Cách mở port 1433 để kết nối với sqlserver từ xa.

    Remote SQL Server. Cách mở port 1433 để kết nối với sqlserver từ xa.

    Hiện nay nhiều người có xây dựng cơ sở dữ liệu trên server và kết nối tới để làm việc cho tiện. Nên mình chia sẻ bài viết này cho người mới nhé.

  • Sự khác nhau giữa Application, Virtual Direction và Site. Cách tạo 1 Virtual Direction.

    Sự khác nhau giữa Application, Virtual Direction và Site. Cách tạo 1 Virtual Direction.

    Trong IIS, bạn có thể tạo các trang web, ứng dụng và thư mục ảo để chia sẻ thông tin với người dùng qua Internet, mạng nội bộ hoặc mạng phụ. Mặc dù các khái niệm này đã tồn tại trong các phiên bản trước của IIS, một số thay đổi trong IIS 7 trở lên ảnh hưởng đến định nghĩa và chức năng của các khái niệm này. Quan trọng nhất, các trang web, ứng dụng và thư mục ảo giờ đây hoạt động cùng nhau theo mối quan hệ phân cấp như những khối xây dựng cơ bản để lưu trữ nội dung trực tuyến và cung cấp dịch vụ trực tuyến.

  • Design pattern là gì? Tại sao nên sử dụng Design pattern?

    Design pattern là gì? Tại sao nên sử dụng Design pattern?

    Design pattern là các giải pháp tổng thể đã được tối ưu hóa, được tái sử dụng cho các vấn đề phổ biến trong thiết kế phần mềm mà chúng ta thường gặp phải hàng ngày. Đây là tập các giải pháp đã được suy nghĩ, đã giải quyết trong tình huống cụ thể.

  • CDN là gì? Khi nào thì cần xài CDN cho website

    CDN là gì? Khi nào thì cần xài CDN cho website

    Thuật ngữ CDN có thể bạn sẽ bắt gặp khá nhiều bài viết trên thachpham.com, hoặc khi bạn cần một người có kinh nghiệm tư vấn giải pháp tiết kiệm băng thông máy chủ và tăng tốc độ website đều sẽ được nghe tư vấn là sử dụng CDN. Vậy CDN chính xác là cái gì, có bao nhiêu loại CDN, và website của bạn có thích hợp để sử dụng CDN không thì bài này sẽ cung cấp cho bạn các thông tin cần thiết đó.

  • Giao thức HTTP và HTTPS là gì? Tại sao nên sử dụng HTTPS?

    Giao thức HTTP và HTTPS là gì? Tại sao nên sử dụng HTTPS?

    Môi trường internet phát triển, kéo theo tội phạm mạng tăng cao, vì thế cần có những chuẩn bảo mật web cao hơn. Đó là lí do giao thức HTTPS dần thay thế hoàn toàn HTTP. Vậy, giao thức HTTPS là gì? HTTP và HTTPS khác nhau như thế nào? Và tại sao các website nên dùng HTTPS thay vì HTTP? Bài viết này sẽ giúp bạn giải đáp tất cả những thắc mắc đó.

  • Tích hợp zalo vào website.

    Tích hợp zalo vào website.

    Nếu bạn là một người có website bán hàng thì việc liên hệ thuận lợi nhanh cho khách hàng luôn là ưu tiên hàng đầu. Cũng chính vì lí dó này mình đã tìm hiểu sau khi chèn cho website của mình. Thấy hay nên chia sẻ cho mọi người có nhu cầu.