Pages

Thứ Hai, 22 tháng 12, 2014

[Thảo luận] Phân tích ngôn ngữ PHP

Tuy nhiên, nếu trang web của bạn yêu cầu khả năng tương tác cao hơn; liên kết và cập nhật dữ liệu động; thể hiện thông tin, đồ họa phức tạp, thì Java hay PHP là lựa chọn thời thượng. Để phục vụ tốt cho mục đích phát triển trang web cá nhân hay tổ chức, chúng ta sẽ  phân tích những điểm mạnh và điểm yếu của chúng.



Thứ 1 PHP có một kiến trúc độc nhất vô nhị , dựa trên triết lý "share nothing" mỗi luồng chạy php được webserver và ZendEngine thực hiện độc lập , giải phóng tài nguyên hoàn toàn sau khi kết thúc tác vụ .Điều này giúp cho PHP tuy và ngôn ngữ động và thông dịch nhưng lại có tốc độ thực thi rất nhanh và đặc biết là tiêu tốn rất ít tài nguyên. Một điểm nữa là giao thức HTTP (giao thức giao tiếp của web) cũng hoạt động tương tự như vậy "HTTP, each request is distinct"
Thứ 2  PHP được sinh ra để làm web. Nên thiết kết của PHP chắc chắn hơn hẳn các ngôn ngữ khác trong công nghệ web . Bản thân PHP cũng là một template engine rất mạnh thân thiện với web (HTML-CSS-Javascript).
Thứ 3 PHP là ngôn ngữ được dùng cho web phổ biến nhất thế giới , gần như tất cả các máy chủ web đều hỗ trợ PHP. PHP cũng có số lượng các lập trình viên web đông đảo nhất thế giới qua đó đã xây dựngđược một cộng đồng rộng lớn , lớn hơn rất nhiều các cộng đồng khác .
Thứ 4 PHP là ngôn ngữ mà nguồn mở , nên với hàng triệu ứng dụng có sẵn, miễn phí, thư viện mã nguồn mở giúp cho việc lập trình trên ngôn ngữ này trở nên nhanh chóng và chất lượng .
Nếu như các ngôn ngữ khác có 1-2 sản phẩm ví dụ ASP.NET có một - hai sản phẩm diễn đàn thì PHP có vài chục sản phẩm có chất lượng tốt hơn nhiều .Có thể thấy điều tương tự qua các ứng dụng khác như : Blog , Shopping Cart , CMS .
Các thư viện của PHP nhiều hơn bất kì công nghệ lập trình web nào khác, được đóng góp bởi cả một cộng đồng rộng lớn, trong đó có các công ty IT hàng đầu như : Oracle , Yahoo ,IBM, Zend , FaceBook ..
Thứ 5 Với stack công nghệ mã nguồn mở LAMP bao gồm : hệ điều hành Linux , webserver Apache , Hệ quản trị cơ sở dữ liệu Mysql   và PHP . Đã làm nên một nền tảng mở mạnh mẽ với chi phí rất khiêm tốn . 
Nhưng cũng vì tính dễ phát triển của nó mà có nhiều các ứng dụng PHP rất không bảo mật trên mạng. Có rất nhiều code PHP kém trên mạng. Rất nhiều người không chuyên lập trình chọn và không biết xem xét bảo mật. Cho nên tạo ra sự nhận thức rằng PHP chính nó là không an toàn.
PHP gần gũi với C trong khi loại bỏ một số không cần thiết như quản lý bộ nhớ, con trỏ và việc biên dịch, PHP là ngôn ngữ thông dịch.
PHP rất linh hoạt; có rất nhiều cách và framework để thực hiện một việc tương tự
Thư viện và các phần mở rộng, sự đóng góp của cộng đồng có thể là cao nhất so với bất kỳ ngôn ngữ lập trình nào. Tuy nhiên, có quá nhiều sự lựa chọn để chọn một thư viện hoặc framework, rất nhiều thời gian có thể bị lãng phí để tìm ra cái phù hợp.
Người lập trình không chuyên nghiệp đôi khi, không thực hiện được tính tương thích ngược thường xuyên trong những cách không thể chấp nhận.
PHP giao tiếp với ít ngôn ngữ hơn, không giống như ASP.net được thiết kế để làm việc tốt hơn với C#, J#, C++ và VB.net.
Người lập trình PHP không có nhưng công cụ phát triển Visual như Visual Studio của ASP.Net. Làm cho nó rất khó khăn để những người khác tiếp tục việc của bạn, debug và refactor, xử lý lỗi là những hạn chế so với ASP.net. 
Một hạn chế khác của PHP là sự chọn lựa namespace separator, và thứ tự không phù hợp của các tham số trong các hàm được xây dựng sẵn (built-in functions)
Những ứng dụng tốt nhất từ PHP có thể là: Facebook.com
PHPDoc.de, status.net, developers.facebook.com/blog/post/358 (Hiphop),phpunit.de