SO SÁNH KHÁCH QUAN VỀ LẬP TRÌNH ASP.NET VÀ PHP

Hai ngôn ngữ lập trình Asp.Net và PHP không có dân IT nào là không biết nhưng để hiểu và so sánh khách quan về chúng thì không phải ai cũng làm được. Từ kinh nghiệm được đúc kết Stanford đã đưa ra được sự so sánh :

Nên học ngôn ngữ (lập trình) nào? 


Ngôn ngữ nào tốt hơn, ngôn ngữ dễ học hơn, ngôn ngữ nào được chuộng hơn, ngôn ngữ nào dễ kiếm tiền... là hàng loạt câu hỏi mà người mới bắt đầu chọn và học thiết kế web hay quan tâm.

Đề tài so sánh 2 ngôn ngữ thiết kế website Asp.net và PHP được bàn tán sôi nỗi trên các diễn đàn, có khá nhiều so sánh nhưng cho tới bây giờ vẫn không biết ngôn ngữ nào mạnh hơn thật sự! 

Tuy nhiên sau đây là một vài ý kiến đánh giá khách quan có, chủ quan có nhưng mong bạn cứ xem đó là một ý tham khảo thôi.

Đứng giữa ngã rẻ của công nghệ, các bạn sinh viên thường phân vân xem đặt mình vào đâu để khỏi bị "hố", kiến thức chưa đủ, tâm lý chưa vững vàng nên còn "lo lắng và sợ sệt". Vậy nên trước hết mình xin điểm qua một số định nghĩa cũng như nhận định, từ đó các bạn có thể rút ra được những quyết định đúng đắn cho mình.

PHP là gì ?

PHP mang đến sự đơn giản, dễ tiếp cận cho người mới bắt đầu. PHP có hàng tá những thư viện bổ trợ, những ứng dụng phong phú do cộng đồng mạng phát triển.

PHP có thể "chạy" trên "đâu" ?

Web cần hosting để lưu trữ nội dung web, hiện nay thì thông dụng nhất là Windows và Linux hosting (xin không bàn những hệ điều hành khác). Ở cà 2 loại hosting này PHP đều có thể cài đặt và "chạy" được (chỉ cần cài Apache hoặc IIS).

ASP.NET là gì ? 

Là đứa con "ruột" của Microsoft, ASP.NET hơi "gây khó dễ" cho người mới bắt đầu. ASP.NET có cấu trúc khá giống với Java (chắc có "bà kon" hoặc nghe "đồn" là ASP.NET "chôm" của Java) là hướng đối tượng hoàn toàn. ASP.NET ứng dụng framework .NET cho xử lý, do vậy có rất nhiều những tiện ích, lớp viết sẵn phục vụ công việc lập trình. Bên cạnh đó thì những ứng dụng nguồn mở, tiện ích do cộng đồng phát triển cũng không ít. Có một điểm đặc biệt ấn tượng là do sử dụng framework .NET nên trong tương lai sẽ có thể sử dụng khá nhiều loại ngôn ngữ (PHP, Java, Ruby) để làm web ASP.NET. Vì thế nên đây có thể là nơi dung nạp hầu hết những lập trình viên khác muốn làm web ASP.NET nhưng vẫn muốn giữ những thói quen của mình.

ASP.NET thì "chạy" trên "đâu" ?

 ASP.NET thì khiêm tốn hơn, chỉ chạy tốt trên Windows hosting, tuy có một số nền tảng khác (như Mono) cũng có thể "chạy" được nhưng tính ổn định chưa cao.

Công nghệ nào "mạnh" hơn ?

Đây là vấn đề kinh điển, là "khơi nguồn cảm hứng tàn sát" lẫn nhau trên khá nhiều diễn đàn. Khi mua cái gì, tìm hiểu cái gì ai cũng mong "chơi" với "đồ tốt" cả. Chính vì vậy, mình chỉ có vài lời khuyên:
Mạnh hơn cũng phải cần định nghĩa rõ ở khía cạnh nào, chứ không phải anh í là superman nên có thể đè bẹp tất cả.
Sức mạnh ở khía cạnh đó có phục vụ cho nhu cầu của bạn hay không ?
Sau khi nhận định rõ mạnh yếu của cả 2 công nghệ thì tốt hơn hết là đừng "pót" lên diễn đàn kẻo "gây mất đoàn kết dân tộc"

ASP.NET dành cho "đại gia" còn PHP dành cho "tiểu gia" ?

Đây là sự ví von khá hài, tuy nhiên không phải là không có cơ sở. Nếu đi sâu vào vấn đề "tốn kém" chúng ta phải biết rõ tốn kém những gì, có phù hợp với sinh viên không ?
Sinh viên khi học cần những gì: tài liệu, ứng dụng bổ trợ, điều kiện thử nghiệm thực tế

Tài liệu thì e-book có đầy trên mạng, không thiếu. Nên sách PHP miễn phí thì ASP.NET cũng miễn phí.
Công cụ bổ trợ: thường được hiểu là khi học web thì dùng gi để lập trình, dùng gì để thiết kế. Vâng PHP thì có hàng tá công cụ mã nguồn mở như: Notepad++, Eclipse... để lập trình và GIMP, Paint.. để vẽ. Thế nên nhìn sơ qua, dân học ASP.NET hay dân PHP nhìn qua .NET cũng chỉ thấy có bộ Visual Studio, mà nghe đồn bộ này đắt lém, chúng ta lại bỏ quên đi những công cụ miễn phí như Visual Studio Express, Develop.NET... Hoặc có thể dùng Paint, Paint.NET để vẽ vời mà chả mất xu nào. Cơ sở dữ liệu thì PHP có phpMyAdmin, MySql Administrator, bên ASP.NET thì sử dụng Microsoft SQL Express đều miễn phí cả.

Điều kiện thử nghiệm thực tế thì chúng ta có thể tìm Linux hosting miễn phí cho PHP và ASP.NET cũng có khá nhiều "mạnh thường quân".

Vậy sinh viên chúng ta tốn gì khi học ASP.NET ?

Học gì thì lương cao ?

Ngôn ngữ nào, công nghệ nào cũng đều phụ thuộc vào nhu cầu. Hiện nay nhu cầu làm website khá nhiều, nên học ASP.NET hay PHP đều có thể kiếm tiền được cả, tuy nhiên có khá nhiều sự cạnh tranh nên chúng ta cần trang bị kiến thức kỹ để có thể đề xuất mức lương cao khi xin việc.

Học ASP.NET có thực sự là Pro ?

Có thể nhìn nhận khía cạnh nào đó thì công nghệ cũng là một xu hướng, ở thời điểm này người ta chuộng công nghệ này và thời điểm khác thì công nghệ khác lên ngôi. Nhưng nếu chúng ta chạy theo những xu hướng "ảo" đó mà không tìm hiểu kỹ, cứ nghe "đồn" rồi quyết định "nhắm mắt đưa chân" thì thiệt là dại dột. Vì vậy bản thân chúng ta có cố gắng đủ để gọi là Pro trong công nghệ mà mình chọn hay không, chứ không phải khi chạy theo công nghệ thì nó sẽ gán cho ta cái "mác" là Pro mặc dù bản thì "ve ri a ma tơ".

Học ASP.NET xong thì học PHP sẽ dễ hơn ? 

Câu hỏi này cũng thường gặp như những lời "phán" rằng ASP.NET do cấu trúc khó hơn nên "dân" PHP mà sang ASP.NET thì sẽ không dễ. Điều này không hẳn như vậy, có người dùng ASP.NET rồi qua PHP thấy cấu trúc thoải mái quá, dễ dãi quá đâm ra ức chế, đắn đo, suy nghĩ. Một số khác thì quen dùng ASP.NET mà không nắm kiến thức nền chỉ biết "kéo thả" giờ chơi với PHP thì bị "sốc" vì không biết làm sao với "hằm bà lằng" code và code. Hoặc một anh chuyên sử dụng PHP và nay phải đổi sang ASP.NET thì lại thấy choáng với cấu trúc framework .NET và bị "say nắng" với những cái gọi là OOP trong khi trước đó lại quen dùng hàm. Túm lại, sự chuyển đổi, tiếp cận sẽ phụ thuộc chính vào nền tảng kiến thức của bạn.

Vậy nên học cả ASP.NET và PHP ?

Hiện tại thì bạn hãy xác định mình "kết" "em" nào qua tìm hiểu trên internet, qua những tài liệu, ví dụ, những phong cách ngôn ngữ của mỗi công nghệ, từ đó đi chuyên sâu một thứ. Khi đã "vững tin" rồi thì có thể "đứng núi này trông núi nọ", vì thế giới công nghệ luôn thay đổi hằng ngày, nhu cầu cũng vì thế thay đổi theo, nên việc thích nghi là cần thiết, và không chỉ là ASP.NET, PHP mà bạn đôi khi còn "chém" cả Ruby, Java, Python, Perl cho nó "máu" ấy chứ.

Trang bị kiến thức chuyên sâu và những kiến thức liên quan 

Để thiết kế website không chỉ cần biết PHP, C#, VB mà còn phải biết những thứ liên quan đến web: HTML, CSS, Javascript, một chút ít khái niệm mạng. Khi có đủ những nền tảng liên quan thiết yếu này, thì việc chuyển đổi hay tiếp cận công nghệ mới không quá khó và tốn ít thời gian hơn.

Kết Luận:

Tóm lại, Stanford không khuyên bạn chọn ngôn ngữ này hay ngôn ngữ kia. Tôi cũng không đánh giá ngôn ngữ nào hơn ngôn ngữ nào nên bạn hãy xem mình thích gì, khả năng mình hợp với ngôn ngữ nào thì chọn thứ đó. 

Chúc bạn may mắn và thành công!


Tags: