PHP đã chết?
Tựa đề bài viết có vẻ hơi gây sốc, nhưng đối với những nhà lập trình đã làm việc với ngôn ngữ PHP lâu năm, câu hỏi này không hề bất ngờ. Khi tìm kiếm thông tin này trên mạng, chúng ta sẽ nhận thấy có rất nhiều câu hỏi với nội dung tương t ự được cộng đồng lập trình viên PHP trên thế giới (và cả Việt Nam nữa) rất quan tâm:
- Liệu PHP có lỗi thời?
- Tại sao các dev thường ghét PHP?
- Tôi có nên học PHP không?
- PHP không dùng để build hệ thống lớn?
- Is PHP Still Popular?
- Is PHP dead in 2022?
- Is PHP Dead or Still have a Future in Web Development?
- PHP Is Dying Fast. We will miss you (lol)
- ...
Là một người lập trình PHP lâu năm (> 7 năm) tôi tất nhiên cũng rất quan tâm đến những câu hỏi này và đã đi tìm câu trả lời cho chúng.
Những thông tin cơ bản sau đây về PHP sẽ làm cho bạn dễ hình dung hơn về ngôn ngữ này:
- PHP được bắt đầu thai nghén vào mùa thu năm 1994 bởi Rasmus Lerdorf. Người đàn ông Canada này phát triển PHP ban đầu với mục đích để chỉnh sửa website của mình một cách dễ dàng hơn. Vì thế PHP chính là những từ viết tắt của Personal Home Page.
- PHP là ngôn ngữ thông dịch (Interpreter) chứ không phải biên dịch (Compiler).
- PHP là ngôn ngữ được thực thi ở phía server.
- PHP thường được sử dụng để lập trình website, API.
Đầu tiên, tôi đi tìm hiểu nguyên nhân tại sao bỗng nhiên người ta lại đặt ra những câu hỏi như vậy, chắc chắn là phải có 1 lý do nào đó. Và sau đây là những lý do được cộng đồng mạng đưa ra:
- PHP không được thiết kế để xử lý bất đồng bộ (tất nhiên rồi, để chỉnh sửa website thôi mà :))), điều này làm cho PHP trở nên rất bất lợi khi so với các ngôn ngữ lập trình khác được định hướng xử lý bất đồng bộ (concurrency) ngay từ đầu như Javascript (không làm thì có mà treo luôn cả trình duyệt), hay Go (phải làm để tối ưu việc sử dụng nhân CPU),...
- Cấu trúc ngữ pháp thực sự phức tạp và gây khó hiểu.
- Hiệu năng (performance) không cao, chạy chậm, không chịu được tải lớn (?). Điều này có lẽ một phần đến từ việc đây là ngôn ngữ thông dịch.
- Dễ bị hack, không bảo mật (wtf?)
- Chưa bao giờ là trend như go, nodejs, python,... (lol)
- Nikita Popov (người đã đóng góp rất nhiều cho mã nguồn của PHP từ năm 2012 cho đến nay) đã chuyển sang một dự án khác không phải PHP. https://php.watch/news/2021/11/nikic
- Lập trình PHP lương không cao so với các ngôn ngữ khác (lol). https://www.devjobsscanner.com/blog/top-10-highest-paid-programming-languages-in-early-2022/
- Không được tổ chức nào chống lưng, trả lương để cộng đồng phát triển: Go có Google, React có Facebook, .NET có Microsoft, Java có Oracle. Tất nhiên, được trả tiền thì bộ core lúc nào cũng sẽ được phát triển tốt hơn.
Đọc xong những "nhược điểm" trên của PHP mà thấy tiêu cực quá :)) Tuy nhiên, PHP chắc chắn sẽ luôn được sử dụng, không bị lỗi thời và tất nhiên là sẽ không chết vì những lý do tôi và cộng đồng lập trình viên thế giới nhận thấy sau đây:
- PHP đang được sử dụng và phục vụ khách hàng ở những công ty rất lớn như: Facebook, Wordpress, Slack, Wikipedia,... nên không dễ gì có thể thay thế.
- PHP 8.1 đã hỗ trợ Fibers, đối tượng cho phép chúng ta thực hiện các tác vụ concurrency một cách dễ dàng. Đồng thời mở ra cánh cửa giúp cho PHP có thể cạnh tranh với javascript, go một cách sòng phẳng hơn. https://www.php.net/manual/en/language.fibers.php
- Cấu trúc ngữ pháp từ bản 7.4 - 8.1 đã có sự thay đổi rất nhiều giúp cho việc viết mã được đẹp hơn, chắc chắn hơn.
- Hiệu năng cao hay không còn phụ thuộc vào nhiều yếu tố: cách viết mã, tài nguyên hệ thống, xử lý cơ sở dữ liệu,... Trong thời đại hiện nay, khi mà bộ vi xử lý ngày càng mạnh và chi phí ngày càng rẻ thì việc tăng hiệu năng dựa vào phần cứng đã dễ dàng hơn rất nhiều.
- Việc bảo mật mã nguồn dự án có tốt hay không phụ thuộc rất nhiều vào con người, ngôn ngữ chỉ đóng 1 phần rất nhỏ.
- The PHP Foundation: một tổ chức đóng góp cho PHP đã được lập ra và được chống lưng bởi các công ty lớn như Jetbrains, PrestaShop, Laravel,... https://blog.jetbrains.com/phpstorm/2021/11/the-php-foundation/
- Lương thì lập trình ngôn ngữ nào cũng như nhau thôi, miễn là bạn đủ giỏi :))
- Cộng đồng lập trình viên PHP vô cùng khổng lồ, số lượng package trên github cũng được trang bị đến tận răng, số lượng website sử dụng PHP áp đảo so với các ngôn ngữ khác, lịch sử phát triển lâu đời => PHP đã được sử dụng và kiểm tra, sửa lỗi rất nhiều. Có bug, bảo mật hay không là do bạn, không phải do PHP.
- Cơ hội nghề nghiệp dành cho lập trình viên PHP là rất nhiều.
Thế nên nếu những ai đang sử dụng PHP hãy cứ yên tâm sử dụng nó trong ít nhất là 10 năm nữa. Còn những ai chuẩn bị học thêm một ngôn ngữ nào đó, thì không nên bỏ qua PHP.
Bài viết sẽ có nhiều phần tiếp theo nữa phụ thuộc vào mức độ quan tâm của độc giả :)
To Be Continued
Thanks.