$i->php();

Hãy tiết kiệm điện và sử dụng opensource để bảo vệ môi trường

Thế mạnh của PHP


Thứ nhất 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 (xem thêm)  . 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ống kê của netcraft

thống kê của netcraft

Xem thêm đánh giá của cộng đồng trên TIOBE , PHP đứng thứ 5 , quá cao so với một ngôn ngữ chỉ dùng làm Web – server side script .

Xem thống kê mới nhất của Nexen

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 dễ dàng mở rộng

Nguồn oracle

Nguồn oracle

Chính vì vậy các mạng xã hội 2.0 đã lựa chọn PHP thay vì các ngôn ngữ khác .

Kết luận : PHP là vô địch trên sân chơi web


About The Author

ngocbd

Comments

5 Responses to “Thế mạnh của PHP”

  1. nbthanh says:

    Thứ nhất: “Share nothing”; resource phải được khởi tạo ở đầu request và giải phóng hoàn toàn ở cuối request, không reuse lại được. 10 request đồng thời là sẽ có 10 resource instance được tạo. Nếu lấy cái này để dẫn chứng cho “tốc độ nhanh” và “tiêu tốn ít tài nguyên” thì e rằng bị ngược rồi.

    Thứ hai: PHP được sinh ra để làm web thì chắc chắn thiết kế của PHP hơn hẳn các ngôn ngữ khác trong công nghệ web. Không rõ phát biểu này căn cứ này ở đâu? Đã thế lại còn “không như các ngôn ngữ lập trình khác sinh ra với mục đích chung chung – không xác định” thì thật là bó tay!

    Thứ ba: phổ biến – có thể. Tuy nhiên không nên khẳng định như đinh đóng cột khi nguyên đoạn văn và thậm chỉ cả bài không có 1 dẫn chứng nào về số liệu.
    (nếu nói cho đúng thì HTML và Javascipt mới là ngôn ngữ phổ biến nhất trên web)

    Thứ tư: chắc nên sửa lại là “vì PHP mã nguồn mở, có nhiều sản phẩn viết sẵn nên…’copy & paste’ và ‘download về xài’ nhanh chóng hơn”.
    Chất lượng của 1 chương trình phụ thuộc phần lớn vào TRÌNH ĐỘ của lập trình viên chứ không phải là vào ngôn ngữ.

    Thứ năm: chi phí thấp – đúng, nhưng không phải vì 1 lý do đó mà các mạng xã hội 2.0 chọn PHP. Với các site lớn/cty to thì tiền khiển khai mạng lưới server chả là bao so với họ.

  2. ngocbd says:

    Cảm ơn commnet của bác .
    Tôi sẽ sửa lại bài viết theo hướng thuyết phục hơn .

    Thứ nhất: “Share nothing”; resource phải được khởi tạo ở đầu request và giải phóng hoàn toàn ở cuối request, không reuse lại được. 10 request đồng thời là sẽ có 10 resource instance được tạo. Nếu lấy cái này để dẫn chứng cho “tốc độ nhanh” và “tiêu tốn ít tài nguyên” thì e rằng bị ngược rồi.

    Web over http mà với HTTP – each request is distinct
    Để đơn giản giao thức HTTP là stateless nên công nghệ phía server nào hoạt động gần với HTTP nhất sẽ đạt hiệu quả cao hơn .

    Thứ hai: Fixed
    Thứ ba: Fixed
    Thứ tư: Fixed
    Chính vì phụ thuộc vào trình độ lập trình viên , nên tốt nhất với trình độ lập trình viên việt nam thì không nên tự viết mà nên copy paste .

    Thứ năm: Đúng là họ chọn php (LAMP) một phần vì khả năng scale của LAMP tuy nhiên chắc chắn chi phí là một yếu tố quan trong . Chi phí ở đây là chi phí viết mã , server và cả phần mềm ví dụ Mysql vs Oracle .

  3. nbthanh says:

    Quay lại vấn dề thứ nhất: lý do bạn đưa ra không thuyết phục vì “resource” đem so với “hoạt động của HTTP” là không cân xứng.
    Lấy ví dụ: sau khi login vào hệ thống, hệ thống phải biết được là user nào đang login ở trong các request sau đó. Do vậy mới sinh ra COOKIE và SESSION để khắc phục cái điểm yếu stateless của HTTP.
    Mở rộng ra một chút xíu: thử tưởng tượng request nào bạn cũng phải connect vào database, load info của user đang login, rồi disconnect. Nếu những thứ đó bạn reuse lại được thì sẽ tiết kiệm được bao nhiêu?

    Về chi phí thì “mỗi nhà mỗi cảnh”, nhưng lấy nó ra+các web xã hội 2.0 để dẫn chứng cho “PHP là vô địch trên sân chơi web” là không thoả đáng cho lắm.

  4. ngocbd says:

    Vấn đề thứ nhất theo ý kiến của tôi HTTP “nên” để không phải duy trì quá nhiều connection tại một thời điểm , một connection chỉ phục vụ một đến một vài request (nếu client lấy nốt js,css,image …) sau đó close connection và nếu client không chủ động close cũng không send close thì time out luôn được đặt ở con số nhỏ (thường là 300) . Như vậy rõ ràng lợi điểm của HTTP là :
    - Với state less thì tiết kiệm được connection qua đó tiết kiệm được tài nguyên của CPU , Memory và cả resource của hạ thằng mạng . Tuy nhiên rõ rang nếu reuse được thì tốt hơn chính vì vậy mói có các cache proxy.
    Nhưng thế thì sao không state full luôn HTTP? Ai cũng hiểu điều đó là không nên , Server sẽ teo mất và nhiều giải pháp ra đời để khắc phục điểm yếu stateless nhưng không ai đi tạo một giao thức http state full cả state less vẫn tốt hơn cho web.

    Tương tự như vậy với PHP Connection đến DB và việc fetch data từ database mà reuse được thì tốt , nhưng đó là công việc của các thành phần hỗ trợ , chứ bản thân lập trình viên tốt nhất nên nhìn nhận và code php “share nothing” . Như vậy tốt hơn cho web server , còn các công nghệ khác sẽ hỗ trợ . Ví dụ : mod_php của apache sẽ giúp keep connection với DB , Mysql Query cache sẽ giúp thăng tốc các câu truy vấn giống nhau , hay memcache sẽ giúp giảm thiểu connection vào đatabase . Và như ở bài viết cũng nói “share nothing” giúp việc scaling dễ dàng hơn , deploy cũng đơn giản hơn . Việc quyết định reuse/share cái gì hoàn toàn phụ thuộc vào business của bài toán . Ví như một trang báo điện tử thì có thể reuse rất nhiều , nhưng một ứng dụng webmail thì rất ít . Chính vị vậy một webserver có thể chạy hàng nghìn ứng dụng web khác nhau một cách bình thường vói php . Nhưng chuyện gì sẽ xảy ra nếu host 1000 website với ngôn ngữ java ? Chỉ với 1000 người ghé thăm 1000 site kia thì memory sẽ bị ngốn kinh khủng vì cái gì cũng muốn reuse .?

    p/s Kết luận : PHP là vô địch trên sân chơi web là từ 1,2,3,4,5 mới kết luận chứ bác

  5. hoangnd says:

    Trên sân chơi web thì cá nhân tôi thấy:

    + PHP (cùng với các framework hỗ trợ) có tốc độ phát triển rất nhanh, khá cách biệt so với Java, .NET & cạnh tranh ruby (on rails).
    + Tính uyển chuyển trong việc xử lý và sắp xếp các dữ liệu logic cao.
    + Nhiều giải pháp hiệu quả cho những vấn đề về performance.
    + Chi phí triển khai, duy trì & mở rộng cũng như chi phí phát triển ban đầu là phù hợp với đa số công ty/tổ chức vừa và nhỏ.

    Tuy nhiên, PHP có là vô địch hay không thì tùy mỗi người và mỗi giải pháp cho mỗi bài toán cụ thể mà thôi :) .

Leave a Reply