Hiện nay 2 ngôn ngữ lập trình đang được sử dụng phổ biến hiện nay là PHP và ASP.NET. Nhiều nhà phát triển website sử dụng PHP nhưng một số lớn khác lại sử dụng ASP.NET. Vậy tại sao họ lại đưa ra các lựa chọn này. Chúng ta sẽ cùng tìm hiểu về 2 ngôn ngữ này.
Khái quát chung về ASP.NET và PHP
>> ASP.NET: được phát triển bởi Microsoft nhằm mang lại cho các nhà phát triển một công cụ lập trình kịch bản để tạp ra các Website và ứng dụng trên nền tảng Website. Ngôn ngữ này là sự phát triển dựa trên nền tảng thành công của người “tiền nhiệm” ASP. Bạn có thể lập trình ASP.NET dựa trên bất kỳ ngôn ngữ .NET nào. Trước kia, sự thống trị của Microsoft trong lĩnh vực trình duyệt Web với Internet Explorer cũng là nguyên nhân khiến ASP.NET phát triển.
>> PHP: là một ngôn ngữ lập trình máy chủ (Server) được tạo ra nhằm mục đích phát triển các Website “động” có tính tương tác cao. Cấu trúc câu lệnh của PHP khá giống với hai ngôn ngữ khác là C và Pascal
So sánh về chi phí :
PHP hoàn toàn miễn phí.
>> ASP.NET chạy trên PC/Laptop chạy trên hệ điều hành windows. Bạn cũng có thể dùng Mono Project để chạy ASP.NET trên các máy Mac hoặc Linux.
>> ASP.NET chỉ chạy trên các máy chủ windows mà trong vài năm trở lại đây thì chi phí để thuê 1 máy chủ windows thường cao hơn chi phí phải trả cho một máy chủ Linux cùng loại. Môi trường phát triển tích hợp – IDE phổ biến nhất cho ASP.NET là Visual Studio.
Nếu là người mới học lập trình thì chi phí bạn phải trả cho ASP.NET bằng 0. Tuy nhiên, nếu bạn muốn làm việc chuyên nghiệp với ngôn ngữ này thì bạn cùng cần phải suy nghĩ đến việc mua bản quyền cho Visual Studio.
Khả năng mở rộng:
Cả 2 ngôn ngữ đều có khả năng mở rộng rất cao. Ví dụ điển hình là hai mạng xã hội nổi tiếng như Facebook (viết bằng PHP) và MySpace (viết bằng ASP.NET). Điều này nói lên khả năng mở rộng của cả 2 ngôn ngữ là ngang nhau.
So sánh về kỹ thuật:
>> Theo đánh giá chung, các giải pháp của Microsoft rất tốt ở cấp Enterprise (cái này thì chỉ có J2EE sánh được). Xin đừng nhầm lẫn giữa khái niệm Enterprise với website có nhiều người truy cập, ở đây nói về độ phức tạp của các dịch vụ, độ tin cậy, tính khả chuyển… những tiêu chuẩn mà chỉ khi thiết kế các ứng dụng phục vụ cho các tập đoàn lớn thì chúng ta mới đụng tới. Tuy nhiên đi kèm với nó cũng là sự phức tạp và tốn kém tài nguyên.
>> PHP rất thích hợp hơn cho những nhóm phát triển nhỏ, cho cách phát triển kiểu agile, nghĩa là có thời gian phát triển và đưa vào sử dụng nhanh. Nhưng điều này không có nghĩa là PHP dành cho những website có ít người sử dụng, rất nhiều website có hàng triệu người sử dụng hàng ngày phát triển bằng PHP.
So sánh về Tốc độ:
Có khá nhiều tranh cãi về tốc độ của LAMP hay của ASP.Net + SQL Server cao hơn. Cái này còn tùy vào cấu hình, đặc thù của ứng dụng. Nhìn chung về mặt web server, Linux “có tiếng” hơn Windows Server về tốc độ (Google, Yahoo đều dùng Linux server cho các dịch vụ của mình và không có phàn nàn gì về tốc độ cả!). Theo một số người, PHP script nhanh hơn ASP.Net script (như C#, VB.Net) trong các tác vụ thông thường và tốn ít bộ nhớ hơn, tuy nhiên điều này cũng còn nhiều tranh cãi.
Về database server, MySQL có tốc độ rất tốt (đặc biệt là kiểu MyISAM) nhưng thiếu một số tính năng cao cấp như stored procedure, trigger (phiên bản MySQL 5 có hỗ trợ các tính năng này nhưng còn yếu và có bug).Tất nhiên, PHP cũng có thể dùng với nhiều database khác, còn ASP.Net dùng với Oracle thì không có gì phải bàn về tốc độ cả.
Bạn không cần phải băn khoăn gì về tốc độ của PHP + MySQL hay ASP.Net cho bất kỳ website nào dù lớn hay nhỏ. Vấn đề chỉ là thiết kế ứng dụng hiệu quả và tìm được dịch vụ hosting tốt.
Ngôn ngữ lập trình – nhân lực cần để phát triển:
>> ASP.Net, nói chính xác hơn là C# hay VB.Net, là ngôn ngữ lập trình hướng đối tượng được thiết kế tốt, thừa hưởng rất nhiều thế mạnh của Java. ASP.Net cũng có bộ công cụ phát triển hạng nhất: Visual Studio.Net. Nhưng giá phải trả là tài nguyên và thời gian học. Để tạo một trang web đơn giản bằng ASP.Net khá dễ, nhưng để hiều sâu sắc cho những vần đề phức tạp hơn lại là cả một quá trình.
>> PHP là một ngôn ngữ được sinh ra với mục đích duy nhất là để dùng lập trình Web: giản dị và dễ hiểu. Mãi đến PHP 5, lập trình hướng đối tượng mới được đưa vào tương đối đầy đủ. Công cụ phát triển (IDE) cho PHP không có cái nào sánh được VS nhưng hiện nay nếu dùng Eclipse plug-in cũng có thể nói đạt 8/10.
Vấn đề bảo mật:
Vấn đề bảo mật ASP được đánh giá là cao hơn vì và ít bị các loại virut nhắm vào. Tuy nhiên, người thiết kế web cần lưu ý vì cả PHP và ASP đều có những lỗ hổng bảo mật khác nhau. Tốc độ Tốc độ tùy vào cấu hình, đặc thù của ứng dụng. Về mặt web server thì Linux có tốc độ cao hơn Window server. PHP script có tốc độ cao hơn ASP.NET script, trong các tác vụ thông thường và tốn ít bộ nhớ hơn. Về database server, MySQL có tốc độ rất tốt nhưng thiếu một số tính năng cao cấp như stored procedure, trigger.
Chúng ta thường bị "nói quá" về ngôn ngữ này hay ngôn ngữ kia tốt hơn. PHP hay ASP.NET mỗi ngôn ngữ đều có những thế mạnh riêng của nó nên cũng không thể đánh giá là ngôn ngữ nào hơn ngôn ngữ nào, thực tế hoàn toàn phụ thuộc vào kỹ năng của người lập trình và quản lý hệ thống. Chúc bạn lựa chọn được cho mình một trang web với ngôn ngữ lập trình phù hợp với mục đích của website.
Nguồn : Tổng hợp