PHP hoặc chết

Gần đúng một năm trước, tôi đã xuất bản một bài báo có tựa đề là “PHP có thể lụi tàn trong thập kỷ tới”. Phần tóm tắt của bài báo tôi đã xuất bản giống như một bài hát mừng Giáng sinh, nhưng thay vì Ebenezer Scrooge, đó là PHP

  • Trong quá khứ, PHP đã không khắc phục được sự cố của nó, vì vậy các ngôn ngữ khác đã thu hút được sự chú ý
  • Hiện tại, PHP thiếu các tính năng cần thiết cho Internet ngày nay
  • Trong tương lai, PHP vẫn sẽ không có các tính năng có ý nghĩa

Lưu ý rằng tôi chưa bao giờ viết “đang chết”, “không sử dụng nó” hay thậm chí là “bỏ dự án PHP của bạn ngay bây giờ. ”. Tôi chỉ nói rằng nó sẽ không còn phù hợp bất cứ lúc nào trước năm 2030, với một lý do đơn giản về lý do tại sao điều này lại xảy ra

Các bài báo chỉ ra những điểm chưa tốt về PHP, khi xét đến lượng người dùng lớn của nó, có xu hướng kích hoạt các fanboy nghĩ rằng ngôn ngữ này hoàn hảo chỉ vì nó tiện lợi hoặc vì họ đã sử dụng nó hơn 10 năm và của tôi cũng không ngoại lệ. Dù sao, tôi quyết định kéo nó ra khỏi đám mây tiêu cực và suy nghĩ thêm

Đó không phải là về tôi, đó là về bạn

Hãy bắt đầu nói rằng tôi không có mối thù hận cá nhân nào đối với PHP hoặc bất kỳ ngôn ngữ nào. Tôi coi nó là một công cụ rất hoàn thiện và nó là công cụ yêu thích của tôi để sử dụng khi tôi cần thứ gì đó “cho ngày hôm qua” vì nó rất tiện lợi như một ngôn ngữ thông dịch và hệ sinh thái ở đó

Nó cũng không phải về chất lượng mã. Bạn không thể đổ lỗi cho một ngôn ngữ, ít nhất là không hoàn toàn, vì nhà phát triển không sử dụng ngôn ngữ đó “đúng cách”. Không quan trọng Ford hay Lamborghini của bạn sang trọng như thế nào. nếu bạn không quan tâm đến nó, việc bảo trì sẽ rất khó khăn

Ảnh của Olga Kravchuk trên Bapt

Vấn đề không phải là có bao nhiêu người sử dụng PHP trên thế giới. Nếu chúng ta đang đi theo lộ trình “nó có cơ sở người dùng cao nhất”, thì bây giờ hãy bắt đầu di chuyển mã của bạn sang Javascript. Trận đấu đó họ thắng dễ dàng, nương tay, không tranh giành

Đừng để tôi bắt đầu với "Được sử dụng bởi các công ty quan trọng" - sẽ nói thêm về điều đó sau. JavaScript đã là một nhiệm vụ quan trọng đối với SpaceX, vì vậy rõ ràng đây không phải là một ngôn ngữ tồi khi tính mạng của các phi hành gia gặp nguy hiểm

Chỉ là ngày nay PHP đã trở thành một thứ giống như một con ngựa lừa. Các ngôn ngữ được biết đến với sự phát triển mạnh mẽ của web, nhưng ngại thực hiện các bước tiếp theo, một cách chính thức. Các ngôn ngữ khác đã và đang làm điều đó thay thế. Đó là một công thức cho cái chết

Ngôn ngữ có “chết” không?

Hãy tạo điểm nhấn với một trong những ngôn ngữ lập trình cũ, COBOL

Nhiều thập kỷ trước, một số hệ thống tài chính cũ, đứng sau các ngân hàng và công ty bảo hiểm, đã được lập trình bằng COBOL. Nhiều tổ chức tài chính trên thế giới vẫn sử dụng COBOL trong máy tính lớn của họ, chủ yếu là do một lý do chính. nó vẫn làm việc. Bằng chứng về điều đó là sự gia tăng đột ngột của việc thuê COBOL do đại dịch để duy trì những hệ thống cổ xưa này liên tục bị tấn công từ mọi nơi.

COBOL chưa chết, nhưng nó có nghĩa là gì? . Vẫn cần có người viết và duy trì COBOL. Thậm chí có những công ty cung cấp một số loại hỗ trợ cho các hệ thống dựa trên COBOL

Chúng ta có thể đi đến kết luận một cách an toàn rằng ngôn ngữ lập trình là không thể bị giết. Luôn có một tên khốn sử dụng nó để kiếm tiền và một tên khốn khác cung cấp hỗ trợ của bên thứ ba để kiếm nhiều tiền hơn. Đó là một kịch bản đôi bên cùng có lợi

Trong văn hóa doanh nghiệp, nếu kho công nghệ của bạn không làm công ty “mất” đồng nào thì không sao cả. Mặt khác, bạn sẽ nhận được một cái gì đó giống như Amazon từ bỏ Oracle để lấy cơ sở dữ liệu AWS của riêng họ

Không chết thì làm gì “lụi tàn”?

COBOL không chết, nó đã “biến mất”. không ai trong tâm trí của họ sẽ bắt đầu một dự án mới bằng COBOL, bởi vì có những công cụ tốt hơn đáng kể. Các công cụ có thể có hiệu suất cao hơn, độ tin cậy tốt hơn, tiện lợi hơn khi lập trình hoặc các tính năng hữu ích. Vào thời của COBOL, không có giao thức HTTP, đa luồng và ảo hóa, trong số các công nghệ hữu ích khác mà phần mềm ngày nay sử dụng

Khi mọi người không còn sử dụng ngôn ngữ cho các dự án mới, các quân cờ domino bắt đầu đổ. Công cụ cho ngôn ngữ đó ngừng ra đời và duy trì. Vì không có nhu cầu, ngôn ngữ ngừng giới thiệu các tính năng mới, cộng đồng ngừng tạo bộ công cụ mới và nó không còn lan sang các hệ sinh thái khác nữa — như cách Node. js xuất hiện trong máy chủ. Không có lập trình viên mới học ngôn ngữ và những người đã di cư đến đồng cỏ xanh hơn

Điều đó cũng có nghĩa là các công ty trở nên miễn cưỡng đầu tư vào ngôn ngữ, bao gồm cả việc thuê lập trình viên. Nó trở nên khó tìm hơn, do đó, khó trả hơn so với những gì phong phú hơn. Đó là khi chuyển sang một nền tảng mới với lực lượng lao động rẻ hơn trở thành một lựa chọn cho một công ty

Ảnh của Arif Riyanto trên Bapt

Kịch bản COBOL giống như với Visual Basic, ASP. Net, Pascal, Fortran, ActionScript, Objective C, Haskell, Ruby và nhiều thứ khác đang thu thập bụi trong máy chủ. Họ đã hoàn thành chu trình công nghệ của mình và các ngôn ngữ tốt hơn thế chỗ với nhiều tính năng và bộ công cụ hơn hoặc ít phiền toái hơn, giống như PHP đã làm điều đó cho hầu hết Internet vào giữa những năm 2000. Nó có thể sẽ xảy ra với C và C++ khi Rust trở thành tiêu chuẩn để phát triển Linux Kernel

PHP vươn lên hàng đầu chủ yếu liên quan đến lần xuất hiện đầu tiên của Wordpress và tính dễ bán của PHP trong không gian máy chủ, so với các lựa chọn thay thế khác, đặc biệt là những lựa chọn cần được biên dịch thành nhị phân, ngay cả khi các lựa chọn thay thế này có nhiều tính năng hơn hoặc hiệu suất tốt hơn khi PHP từng bị ảnh hưởng . Chính vì Wordpress trỗi dậy mà các tập đoàn truyền thông, sợ tác phẩm của họ bị “thằng blog” giết chết, nên đã chấp nhận xu hướng và bắt đầu sử dụng Wordpress để tăng cường sự hiện diện trên internet của họ. Wordpress thậm chí còn có chế độ VIP cho các tập đoàn này

“Khóa cứng” này trên PHP hiện đang thay đổi, chủ yếu là nhờ các dịch vụ đám mây cung cấp nền tảng mới cho các ngôn ngữ lập trình khác, nhưng không có gì ngạc nhiên khi thuê một máy chủ giá rẻ với PHP cho đến ngày nay và bắt đầu trong một ngày dễ dàng như thế nào. Có điều, ngày nay thuê server giá rẻ chạy Node cũng dễ. JS hoặc AWS Lambda. Bạn không cần nhiều năm đào tạo để sử dụng nhà cung cấp đám mây hoặc thậm chí là dịch vụ không có máy chủ, thậm chí Google còn cung cấp hướng dẫn sử dụng Google Cloud Platform

Điều đó đang được nói, PHP vẫn là một ngôn ngữ rất nhỏ để kích hoạt các trang web. Khi nhiều người tham gia hơn, các công cụ xuất hiện từ cả cộng đồng và chính thức. Opcache cho các hình phạt hiệu suất I/O, PDO cho lớp cơ sở dữ liệu chung, Autoloader để làm cho các dự án lớn trở nên dễ quản lý, Trình soạn thảo để triển khai phụ thuộc, PSR để chuẩn hóa các quy ước mã, PHPUnit để thử nghiệm, PECL cho các tiện ích mở rộng, v.v.

Vì vậy, trở lại khái niệm, mất dần nghĩa là bị thay thế. Việc sử dụng nó không tăng lên mà trở nên trì trệ. Điều duy nhất có thể xảy ra đang dần bị thay thế bằng các giải pháp khác. Nó không xảy ra trong một đêm, nó xảy ra trong nhiều năm

Từ góc độ công ty, việc thay đổi ngăn xếp yêu cầu tiêu tốn tài nguyên mà không có ROI ngay lập tức. di chuyển sang một ngăn xếp công nghệ mới không miễn phí cũng như ngày hôm sau. Tệ hơn nữa, một số công cụ có thể không tồn tại, chẳng hạn như công cụ lập hồ sơ, gỡ lỗi hoặc thậm chí triển khai và những công cụ này phải được thực hiện từ đầu

Điều này làm cho việc di chuyển “techstacks” trở nên khó bán đối với ông chủ. Không phải những người chịu trách nhiệm cho bạn, mà là những người được trả tiền để giữ lợi nhuận cao hơn giai đoạn trước. Trừ khi bạn có thể chứng minh rằng có một “cơ hội kinh doanh” mới mà ngăn xếp cũ không có khả năng, hoặc tốt hơn, nó đang thua lỗ một cách khách quan so với ngăn xếp mới khác, sẽ luôn cực kỳ khó để thay đổi thứ gì đó đang hoạt động

Cái búa là đáng tin cậy. Súng bắn đinh tốt hơn

Để đặt trong bối cảnh và kiểm tra xem W3Tech nói gì về PHP, bạn sẽ thấy rằng PHP vẫn chạy trên Internet về mặt được sử dụng nhiều nhất, nhưng không phải trên 100% lưu lượng truy cập thực mà là các trang web hàng đầu, bao gồm các nền tảng không phải của Hoa Kỳ. Nói cách khác, nếu Facebook sử dụng một tập lệnh PHP thì điều đó không có nghĩa là toàn bộ nền tảng đều dựa trên PHP - sẽ nói thêm về công ty đó sau

Wordpress vẫn được sử dụng rộng rãi như một CMS thực tế, kết hợp với WooC Commerce, đã trở thành lựa chọn đầu tiên cho các doanh nghiệp. Chắc chắn có những SaaS cung cấp dịch vụ tương tự, nhưng nó có thể cho thấy rằng không cần phải sửa thứ gì đó không bị hỏng

Tỷ lệ trang web được thu thập bởi W3Techs. com sử dụng ngôn ngữ lập trình phía máy chủ

Ở trên làm cho mọi thứ rõ ràng. PHP vẫn là một công cụ đáng cân nhắc cho bất kỳ dự án web nào. Wordpress là đỉnh cao của những gì PHP đã xuất sắc cho đến bây giờ. Vẫn còn các trang web mới được tạo bằng PHP. Nó vẫn hoàn toàn bình thường đối với một hoặc hai người xây dựng một doanh nghiệp Internet khi PHP điền vào tất cả các hộp kiểm… cho đến khi nó không

Ngày nay có rất nhiều công nghệ web bạn có thể sử dụng. WebRTC, WebSockets, QUIC, HTTP/3, WebAssembly, WebAuthn, Progressive Web Apps, Machine Learning, JSON Web Authentication, gRPC và Server Side Events, chỉ để kể tên một số. Những thứ này đã kích hoạt hệ thống trò chuyện trực tuyến, truyền phát đa phương tiện, dữ liệu trực tiếp liên tục, cơ chế xác thực mới, bạn đặt tên cho nó. Đây là những thứ mà PHP làm cho từ khó đến không thể làm việc được;

Hack là tương lai của không ai khác ngoài các tập đoàn lớn vì họ có tiền để chạy HHVM ngay từ đầu…

Vì có rất nhiều công việc nên việc chuyển đổi từ một ngôn ngữ sang nhiều ngôn ngữ hoặc đẩy dịch vụ sang một công ty cung cấp tính năng bạn cần đã trở nên bình thường, chẳng hạn như nền tảng video do Mux xử lý và các sự kiện do Pusher truyền bá. Ai đó có thể nói rằng bạn đang trả tiền vì sự tiện lợi, nhưng những người khác sẽ nói rằng bạn đang trả tiền vì hệ thống công nghệ của bạn không thể xử lý được điều đó

Mặt khác, bạn có thể có mọi thứ trong cơ sở của mình. Giao diện người dùng có thể hoạt động trong PHP hoặc chỉ là Ứng dụng một trang [SPA] trên JavaScript hoặc một khung như React, Angular hoặc Vue. Phần phụ trợ có thể được chạy bởi các ứng dụng trên Rust, Go, F#, HHVM,. Lõi mạng, nút. js hoặc bất cứ điều gì. Bởi vì PHP không thể làm mọi thứ, quá trình phát triển bắt đầu và tính nhất quán bị mất nhanh chóng. Bạn bắt đầu phụ thuộc từ một hệ sinh thái vào quá nhiều hệ sinh thái

Không có gì ngạc nhiên khi một dự án PHP được kết hợp với SaaS hoặc thời gian chạy khác được tạo trên Node. js, Python, Go hoặc Rust, thêm một cơ sở mã hoặc ứng dụng khác để duy trì. Điều này có thể có nhiều nhược điểm hơn là lợi ích, vì bạn phải xử lý hai [hoặc nhiều hơn] sơ đồ triển khai cho từng phần của dự án

Mặc dù có rất ít người có thể xử lý mọi thứ, nhưng rất khó có khả năng cung cấp hợp đồng cho một người duy nhất, chủ yếu là vì những người có thể xử lý mọi thứ rất ít và xa vời, và giá cả cũng không hề rẻ.

“Nhưng công ty tuyệt vời này sử dụng PHP”

Một điều tôi nhận được rất nhiều là "nhưng Facebook sử dụng PHP" giống như công nghệ web đang phát triển mạnh. Các công ty hàng đầu đã bắt đầu với PHP đã tuyên bố rõ ràng rằng Hack với HHVM — “PHP hiện đại nhưng ăn RAM của bạn” — là sự kế thừa của công ty

  • Facebook đã chuyển sang Hack/HHVM và chạy nó từ năm 2014
  • Wikipedia cũng bỏ PHP để ủng hộ HHVM vào năm 2014
  • Etsy cũng đã chuyển từ PHP sang Hack vào năm 2015
  • Slack, được SalesForce mua lại với giá 27. 7 tỷ đô la, cũng đã chuyển từ PHP sang Hack vào năm 2020

Lưu ý rằng tôi đã nhấn mạnh “người kế nhiệm công ty”. Đó là Hack tương lai, sau đó? . Phần còn lại của các công ty không phải là triệu phú đang mắc kẹt với PHP và các máy chủ giá rẻ

Bất kỳ công ty nào có nhiều tiền đều có thể tạo ra ngôn ngữ của riêng họ vì lợi ích của họ, giống như Facebook, Apple, Google và Mozilla đã làm, bởi vì họ có người và tâm trí để làm điều đó và các dịch vụ để thực hiện nó. Chúng tôi chỉ là tài sản thế chấp, cho tốt và xấu

Có một ngôn ngữ với nhu cầu ổn định trong nội bộ cho phép sự tiến bộ của nó, ngay cả khi điều đó đôi khi có nghĩa là đưa ra những quyết định không tốt

Đủ rồi, cho đến khi nó không còn nữa

Đôi khi thật buồn khi nói rằng “bạn không thể làm điều đó trên PHP”. Công cụ JIT mới được đánh giá cao, nhưng nó không phải là viên đạn thần kỳ để đối đầu với các ngôn ngữ mới nổi khác. Hiệu suất là một vấn đề quan trọng đối với PHP, nhưng bây giờ nó không phải là vấn đề duy nhất. Internet đang phát triển, PHP thì không

Ảnh của Carl Heyerdahl trên Bapt

Ngày nay các trang web chỉ là điểm khởi đầu. Đại dịch COVID-19 đang diễn ra đã chỉ ra rằng bạn cần các hệ thống phản ứng với trạng thái luôn thay đổi của các loại dữ liệu khác nhau, thông qua các kênh khác nhau, không chỉ các trang HTML. Cho đến hôm nay, PHP vẫn chưa đủ, và đến lúc nó trở nên đủ — hãy xem thời gian gần đây đã phát triển chậm như thế nào — các nhà phát triển sẽ có các công cụ tốt hơn. Không ai sẽ đợi PHP tự hiện đại hóa và không có doanh nghiệp nào làm. Đó gọi là tiến bộ. công cụ mới thay thế công cụ cũ

Vấn đề phát sinh khi bạn cần nhiều hơn là chỉ hiển thị một trang web có tương tác cơ bản. Ngay sau đó, đó là lúc PHP cho thấy tuổi đời hơn hai thập kỷ của nó và nó đã lạc hậu như thế nào với nhu cầu sản phẩm và công nghệ ngày nay

Tôi chắc chắn không phải là người duy nhất đã chờ đợi đủ lâu để PHP trở thành một đối thủ công nghệ xứng đáng. PHP rất thuận tiện từ quan điểm logic nghiệp vụ, vì cú pháp của nó cho phép các cách khai báo hành động rất rõ ràng trong tay của chuyên gia, đặc biệt là về phần “logic nghiệp vụ”, nhưng nó không làm được mọi thứ

PHP là hiện tại. Không phải tương lai

Tôi nghĩ những đoạn này biểu thị rằng PHP vẫn là vua vì bản chất của nó. Không có ngôn ngữ nào thu hút được nhiều sự chú ý như vậy trong khi cung cấp sự tiện lợi và trưởng thành mà không phải là các tính năng — một lần nữa, hiệu ứng Wordpress

Khi nào PHP sẽ bị loại bỏ?

Cá nhân tôi nghĩ rằng chúng ta đã vượt qua “ứng dụng sát thủ” như Wordpress và bây giờ, chủ yếu là do sự phổ biến của SaaS và lượt cài đặt bằng một cú nhấp chuột. Chúng tôi đang ở trong “hệ sinh thái sát thủ”, một ngôn ngữ đã tìm ra các bộ phận trong khi bạn mang keo của riêng mình. Có lẽ là nút. js?

Có lẽ là PHP 9?

Tôi có thể thấy một số người hy vọng về một bản làm lại lớn cho PHP. Trừ khi có điều gì đó thay đổi bên trong Rogue Wave [Perforce] để đẩy Zend Engine về phía trước về mặt công nghệ, nếu không thì tuyệt đối không. Thay vào đó, có lẽ họ đang cố gắng bán Zend Server. Tôi không nghĩ rằng họ thành công khi bạn xem xét xu hướng các công ty lớn rời bỏ PHP ngay khi họ có thể và tạo các bài đăng trên blog như thể đó là ngón giữa lớn đối với mọi người

Không phải ngày mai PHP sẽ ngừng sử dụng. nó vẫn hoạt động và rất dễ chọn, bởi vì luôn có một MVP để bắt đầu mà không yêu cầu những thứ cầu kỳ…. Chỉ là PHP là hiện tại, không phải tương lai và những người chịu trách nhiệm về điều đó không thực sự quan tâm. Có lẽ họ sẽ làm như vậy khi một ngôn ngữ mới cung cấp PHP tốt nhất với các ngôn ngữ tốt nhất khác. Hack vừa chứng minh rằng có một thị trường dành cho PHP cấp công ty với khả năng sử dụng lại mã tuyệt vời

Một khi điều vĩ đại tiếp theo chiếm lĩnh Internet như một cơn bão, thì sẽ quá muộn để PHP bắt kịp

Ở đó bạn có nó. Không có ngôn ngữ nào là chết hoàn toàn. PHP không chết, chỉ là các ngôn ngữ khác đã vượt qua nó. Tất nhiên, những thứ này không được thử nghiệm trong trận chiến như PHP… nhưng chúng đang đạt được điều đó

Thật dễ dàng thông cảm với những người cuồng ngôn ngữ tức giận khi họ được yêu cầu thử một công cụ khác khi bạn cho rằng con người có một nỗi sợ hãi cố hữu về những điều chưa biết. Điều đó áp dụng cho việc thoát khỏi vùng an toàn để tìm hiểu những điều mới, trong trường hợp này là chuyển từ một ngôn ngữ đáng tin cậy, như PHP, sang một ngôn ngữ khác phù hợp hơn với nhu cầu của bạn. Sẽ không ai chết chỉ vì “lãng phí” một tuần, một tháng để tìm hiểu và biết về hệ sinh thái mới. Tệ nhất, bạn học được nơi không nên đi nữa, giống như khi bạn chọn sai điểm đến trong kỳ nghỉ của mình

Qua nhiều năm giải quyết vấn đề thông qua phát triển phần mềm, tôi đã học được rằng đi bộ — chứ không phải chạy — đến chân trời trong công nghệ là một phần của công việc, ngay cả khi điều đó có nghĩa là chấp nhận những thứ chúng ta từng yêu thích là…

PHP có chết hay không?

không thể bắt chết trong PHP và không đăng nhập - thay vào đó, nó in thông báo một cách thiếu duyên dáng và ngay lập tức thoát khỏi tập lệnh mà không cho bất kỳ ai biết bất kỳ điều gì hoặc cho bạn bất kỳ cơ hội nào để ghi lại sự kiện .

Sự khác biệt giữa die và echo trong PHP là gì?

Sự khác biệt giữa echo và die[] là gì hay chúng giống nhau? . The die[] function can accept an optional argument string that it will output just before terminating the script. echo[] chỉ xuất đối số của nó, nó sẽ không kết thúc tập lệnh .

Mục đích của hàm die[] là gì?

Hàm die[] in thông báo và thoát tập lệnh hiện tại . Hàm này là bí danh của hàm exit[].

Chết trong PHP có nghĩa là gì?

?> [trong php, "die" thực ra là bí danh của "exit" ]

Chủ Đề