Thứ Tư, 29 tháng 4, 2009

Sự tàn lụi của PHP

Mặc định rằng các bạn đang đọc bài này là những người làm trong ngành nên tôi sẽ không giải thích hay ghi chú những khái niệm phổ thông. Mặt khác, lý lẽ trong bài viết này chỉ phản ánh quan điểm của cá nhân tôi, không đại diện cho ai hay tổ chức nào khác.

---

Lịch sử ngành công nghiệp máy tính & mạng đã chứng minh PHP là một trong số những ngôn ngữ mạnh & linh động nhất trên nền Web và cũng không quá khó để thành thục ở mức phổ thông. Được phát triển và biết đến từ những năm cuối của thập kỷ trước, PHP đã đạt được sự tăng trưởng đáng kinh ngạc so với các ngôn ngữ lập trình khác.

 

[caption id="" align="aligncenter" width="433" caption="PHP Timeline"]PHP Timeline[/caption]

 

 

Nhìn biểu đồ trên, ta thấy con đường đi lên của PHP là theo hướng phát triển truyền thống, tức là Thiết kế -> sử dụng -> chỉnh sửa -> lớn mạnh -> phát triển. Điều thú vị là cho đến nay, rất nhiều các sản phẩm được phổ biến rộng rãi cũng đi theo con đường trên như các nền tảng .NET, Java hay Linux.

Ta lần lượt điểm qua một số điểm mẫu chốt sau

Vòng đời

Một lần nữa, nhắc lại thế mạnh của PHP trên nền web chính là tốc độ (phát triển & thực thi), nhẹ & dễ học. Bên cạnh đó, do đặc tính mã nguồn mở (theo giấy phép PHP) cũng như sự đổi mới về phong cách khi ra đời, PHP sở hữu rất nhiều thứ quý giá

 

  • Cộng đồng lớn. Khoản này vô đối. Luôn có những guru sẵn sàng chia sẻ kinh nghiệm & kiến thức, hướng dẫn những người mới và giải đáp thắc mắc.

  • Thư viện, cả nội tại và mở rộng của PHP, có chứa số lượng function cực lớn được đóng góp bởi những người tình nguyện. Con số vào khoảng 700 buit-in functions và uncountable external functions (hoangnd tính toán).

  • Framework đa dạng về số lượng cũng như chất lượng, thậm chí đa dạng cả về mô hìnhmục đích sử dụng.


 

Sự mở rộng và phát triển

 

  • Khái niệm về namespace. .NET đã có từ lâu, Java cũng có khái niệm package gần tương đương, và bây giờ chúng ta chứng kiến PHP. Đành rằng namespace ra đời với mục đích cơ bản là giúp lập trình viên dễ tổ chức và quản lý code hơn, nhưng với PHP thì tôi cho rằng là một sự ôm đồm. Mặc dù có rất nhiều những giải thích về cách gõ namespace trong PHP, nhưng thực sự là rất khó chấp nhận ký tự "\" để phân cách.  Thứ nhất  là hơi va chạm với tư tưởng chạy đa nền của PHP vì ký tự "\" được dùng phổ biến trong windows để phân tách đường dẫn. Thứ hai là có vẻ như PHP đã sử dụng cạn kiệt tài nguyên bàn phím. 

  • PHP cho đến nay đã quá rộng lớn và các lập trình viên dễ dàng tìm được nhiều giải pháp khác nhau cho cùng một bài toán. Điều này thể hiện rất rõ ràng tư tưởng "open and share" mà nhờ nó, nhân loại mới có được kho tri thức khổng lồ (không chỉ trong ngành khoa học máy tính mà còn ở tất cả các lĩnh vực khác). Tuy nhiên, hãy nhìn Python làm, bạn có rất ít những cách để xử lý một vấn đề và thường thì những cách đó luôn là cách tốt nhất và dễ dàng nhất cho bạn, đến nỗi bạn chả buồn nghĩ tới hướng khác :P. Ở phía đối diện, .NET độc quyền gắn chặt với hệ điều hành Window$ của Micro$oft nhưng có sự thống nhất, rõ ràng và ổn định cực tốt (nếu bạn chọn phát triển trên nền tảng này).


 

Yahoo và facebook xài PHP

Quá đúng, bỏ qua phần backend thì chính những đoạn mã  PHP đã dựng lên bộ mặt yahoo & facebook như bây giờ. Và nó đã chứng minh giá trị của mình khi cả Yahoo & facebook đều đã hoặc đang trở thành những đế chế internet với danh tiếng, lợi nhuận & lượng người dùng cực lớn, chưa kể đến số lượng các dịch vụ kèm theo.

Thế nhưng, trong các đăng báo tuyển dụng, họ luôn muốn ưu tiên những ứng viên biết thêm Perl hoặc Python bên cạnh thành thạo PHP (bỏ qua các yêu cầu khác). Câu hỏi đặt ra là, họ (yahoo & facebook) định cho những ứng viên này làm cả ở nền tảng trên & dưới của hệ thống web application? hay họ muốn những ứng viên đó có được tư duy ngôn ngữ của perl, python? hay nữa là họ muốn dự phòng và sẵn sàng chuyển đổi sang perl, python? (lol)

Đặc điểm

Một chút hình dung




Có nghĩa lý gì? Ai cũng biết .NET là một nền tảng còn PHP là một ngôn ngữ lập trình, tất nhiên sẽ là không hợp lý nếu so sánh chúng với nhau. Cái tôi muốn đề cập là, với .NET chúng ta có thể sử dụng để lập trình web, windows application, mobile, embedded, cloud ... với sự tách biệt không quá lớn dành cho lập trình viên (tất nhiên môi trường triển khai thì không nói). Còn PHP không thể đứng một mình, nó sẽ kết hợp với các công nghệ khác tạo thành những nền tảng thực thi bài toán, mà chất lượng kết quả bài toán đó phụ thuộc rất nhiều vào kinh nghiệm & kiến thức của kiến trúc sư trưởng dự án. Sợi dây liên kết này tôi cho rằng là kém vững trãi hơn so với .NET

Ngoài ra, mô hình trên còn thể hiện một nội dung khác. Nếu coi mỗi ngôn ngữ là một tập thông tin thì chúng liên kết với nhau qua giao của những tập đó. Có nghĩa là PHP sẽ đứng chung với python, perl, ruby ... Và cũng có nghĩa là tôi sẽ chọn python thay vì PHP để kết hợp với flex. Tức là PHP đã mất đi một người dùng là tôi, ít nhất là trong dự án nào đó.

Buồn ngủ quá nên đoạn này viết hơi sơ sài và lung tung, sẽ cập nhật lại sớm thôi

Tuy nhiên

Các lập trình viên PHP đừng quá buồn và suy nghĩ nhiều làm gì, PHP đã, đang và sẽ luôn làm rất tốt trong phân khúc thị trường của nó. Và trong 1, 2, 3 năm nữa có thể ta có PHP phiên bản 6.0, 6.1, 6.2 ... nhưng rồi nó sẽ phát triển tiếp thành cái gì? Cộng đồng không có nhiều người biết, tôi cá là bạn không biết, còn tất nhiên là tôi không biết roài. :D

(just my cent at 3 a.m)

17 nhận xét:

  1. Lâu lắm mới có bài viết để đọc :D

    Trả lờiXóa
  2. Bạn hãy trở thành guru đã rồi hãy viết article. Quá hứng thú với việc thể hiện quan điểm mà quên rằng không phải quan điểm của ai cũng được đánh giá cao.

    Trả lờiXóa
  3. bạn so sánh khập khểnh quá, hãy nhìn Java xem, desktop app + web app đều có nhưng hiện giờ các trường Đại học Việt nam đã không còn dạy Java, bạn nên tự hào về PHP ít nhất là bây giờ.

    Trả lờiXóa
  4. cậu này suy nghĩ hơi thiển cận.

    Trả lờiXóa
  5. Có lẽ không quá như bạn nghĩ đâu, PHP dễ dùng đến mức phổ thông nên kết hợp với MySQL sẽ là một bộ đồ nghề phát triển ứng dụng web bình dân ít tốn kém chứ không xa xỉ đắt đỏ như JSP của SUN.

    Trả lờiXóa
  6. Đếch biết nói về cái gì nữa

    Trả lờiXóa
  7. thôi cứ hoc php đã, nước lên tới đâu tát tới đó.
    Khi đã pro rồi thì lúc não cũng tìm dc giải pháp thôi :P

    Trả lờiXóa
  8. Bạn nên vào php.net để học thêm về php .
    Mình tin là chủ topic chưa học qua Php

    Trả lờiXóa
  9. Bạn đã đưa .Net vào mà lại không đưa Java vào để so sánh luôn cho nó sôm tụ.

    Trả lờiXóa
  10. [...] PHP Wednesday, June 09th, 2010 | Author: hoangnd Nghe nói bị ý kiến nhiều từ bài viết này, nay em ghét em viết thêm bài [...]

    Trả lờiXóa
  11. Trần Phong Phú02:22 25 tháng 6, 2010

    Bài viết hay quá.
    Chứng tỏ đọc nhiều và nghĩ nhiều.
    Mong có nhiều người như bạn thì chúng ta mới thoát khỏi viễn cảnh out source

    Trả lờiXóa
  12. @Weburn.It kỹ năng đọc cũng chứng minh một phần năng lực của người đọc đó bồ b-)
    Tớ bảo không tính phần bên trong thì PHP được xây dựng = PHP chứ có phải toàn bộ đâu, bồ đọc lung quá :D

    Facebook's PHP hay PHP Hiphop như bồ viết thì không phải là PHP sao bồ :P Thay vì mất hơn một tháng để phân tích và đoán các dữ liệu thu thập như bồ, tớ đã chỉ mất khoảng hơn 1h đồng hồ để đọc về những công bố của Facebook (và một số nguồn khác) liên quan đến kiến trúc của nó và sự ra đời/chức năng của cái gọi là Hiphop (ngay khi đc thông báo) :D Nghĩ mãi vẫn chưa biết bồ cần đến 1 tháng để làm gì? Viết lại cái clone facebook khác ah :P Cái đó tớ không bằng bồ roài.

    Trả lờiXóa
  13. Quá sức tào lao, tôi nghĩ chủ topic chưa biết hoặc chưa thành thạo php, mà chỉ biết có mỗi .net

    Trả lờiXóa
  14. iafdcxnztfivltxpzrgntbmpzjh, The Renegade Diet, ewwnqkhyt, The Renegade Diet Review, nXZvwyizt, http://contestburner-reviews.net/ The Renegade Diet Reviews, fxJvhgiee, The Renegade Diet, isPzmZwSK, The Renegade Diet Review, IyWERfeZw, http://hypotheekaflossingsvrije.net/ The Renegade Diet Reviews, NEucSnDeG, The Renegade Diet, bhQcsMRIA, The Renegade Diet Review, RXXuLffMq, http://holygrailbodytransformationprogramreviews.net/ The Renegade Diet Reviews, viIzvfnva, The Renegade Diet, eSrsHkfcr, The Renegade Diet Review, WZWdLvktK, http://longhairforums.net/ The Renegade Diet Reviews, YkKrVDNqa, The Renegade Diet, jWXWdjwqy, The Renegade Diet Review, XNSOVIKPi, http://massmoneymakers-reviews.net/ The Renegade Diet Reviews,OiMmxiiUS, Text Your Ex Back, DsJwuwuMQ, Text Your Ex Back Review, PoafhyIhx, http://mortgage-finance-calculator.net/ Text Your Ex Back Reviews, BkXBvzUVe.

    Trả lờiXóa
  15. yhBp5g ghcrphfjllqw, [url=http://crefnqcvvvtj.com/]crefnqcvvvtj[/url], [link=http://ttxdpikvvdht.com/]ttxdpikvvdht[/link], http://niqbxukekfbt.com/

    Trả lờiXóa
  16. ylzjwjydjcwfjahvkfqujhpqcyk, Text Your Ex Back, ipubwcdbt, Text Your Ex Back Review, rYFmamykj, http://tous-les-trucs.com/ Text Your Ex Back Reviews, skVuusdgr, Text Your Ex Back, nrMydPgJO, Text Your Ex Back Review, KoTBXdcGo, http://tous-les-trucs.com/ Text Your Ex Back Reviews, XHlsOrCxH, Text Your Ex Back, tjMlcWJJE, Text Your Ex Back Review, GCBwUwgYx, http://tous-les-trucs.com/ Text Your Ex Back Reviews, stDmxugwd, Text Your Ex Back, dXsvHarir, Text Your Ex Back Review, MXGsHhejO, http://tous-les-trucs.com/ Text Your Ex Back Reviews, ZxNlLUEfq, Text Your Ex Back, nIKFzyptn, Text Your Ex Back Review, POOYAPOLj, http://tous-les-trucs.com/ Text Your Ex Back Reviews,HzOcafeFV, Text Your Ex Back, CqFddcbIN, Text Your Ex Back Review, VneoylDqm, http://tous-les-trucs.com/ Text Your Ex Back Reviews, NuDPbuJGv.

    Trả lờiXóa