PHP, Kẻ Chịu Trách Nhiệm Yêu Thích của Internet
Tôi không chắc khi nào điều này bắt đầu, nhưng ngày càng nhiều lập trình viên chuyển từ PHP sang Go, Java và Python. Tất nhiên, cũng có những sự di chuyển giữa ba ngôn ngữ này, nhưng hiếm khi thấy ai chuyển sang PHP. Hiện tượng này làm tôi suy nghĩ, và tôi nhận ra rằng PHP thực sự là kẻ chịu trách nhiệm hoàn hảo. Có lẽ vì logo của nó là một con voi, khiến nó tự nhiên có khả năng gánh vác nhiều hơn.
Vấn đề Hệ thống? Đổ lỗi cho PHP
Khi hệ thống liên tục gặp vấn đề trực tuyến, lỗi của PHP. Khi cần một báo cáo hậu kỳ và ai đó phải chịu trách nhiệm, không thể là do sự bất tài của chúng ta, đúng không? Vậy thì hãy đổ lỗi cho PHP. Dù sao thì nó sẽ không cãi lại. Đổ lỗi cho PHP vì là ngôn ngữ động với các hạn chế lỏng lẻo, thường để lại những cạm bẫy không được chú ý. Chúng ta chắc chắn cần phải tái cấu trúc.
Nếu những người ban đầu viết mã là những người tái cấu trúc, bất kể ngôn ngữ nào, kết quả có thể sẽ giống nhau. Họ chỉ đang viết lại mã cũ trong một ngôn ngữ mới mà không tự hỏi liệu thiết kế ban đầu của họ có sai lầm hay không.
Một số thậm chí viết mã Go hoặc Java với tư duy PHP: khởi tạo một loạt thứ thủ công trong phương thức chính, định nghĩa một đống map[string]interface{}
trong Go, hoặc sử dụng đa luồng để truy cập các thuộc tính của lớp trong Java mà không khóa.
Chi phí IT cao
Khi chi phí server vẫn cao, đó là lỗi của PHP vì hiệu suất kém và thực thi đơn luồng. Thành thật mà nói, không nhiều công ty có lưu lượng truy cập khổng lồ. Hầu hết thậm chí không nhận được nhiều lượt nhấp chuột trong một ngày. Nếu hiệu suất là một vấn đề, có thể là do một loạt các truy vấn chậm đang chạy liên tục. Chuyển sang C++ hoặc RUST sẽ không thể khắc phục điều đó một cách kỳ diệu.
Nhớ rằng, PHP là ngôn ngữ ban đầu được Facebook sử dụng để xây dựng nội dung trang web động và chức năng phía server. Tôi nghi ngờ có nhiều công ty có lưu lượng truy cập nhiều hơn Facebook.
Đội ngũ Mới
Cũng phổ biến khi các lãnh đạo mới dọn dẹp nhà cửa. Nhiều người trực tuyến hỏi tại sao hệ thống của một công ty sử dụng ba ngôn ngữ lập trình khác nhau. Câu trả lời thường là mỗi ngôn ngữ phù hợp với các nhiệm vụ khác nhau, nhưng lý do thực sự thường là công ty đã thay đổi CTO nhiều lần, và mỗi người mang vào ngôn ngữ ưa thích của họ.
Khi một giám đốc kỹ thuật mới đến, họ thường cố gắng loại bỏ đội ngũ cũ. Trong thời gian này, PHP bị đổ lỗi cho nhiều vấn đề khác nhau, được cho là cản trở sự phát triển kinh doanh và kế hoạch IPO trong tương lai. Chiến thuật này được sử dụng bất kể ngôn ngữ phát triển nào để biện minh cho việc loại bỏ những người phản đối.
Khi PHP bị đổ lỗi và một sự chuyển đổi sang ngôn ngữ khác được đề xuất, một số lập trình viên thậm chí có thể cổ vũ. Hãy thử chuyển đổi Java sang Go hoặc ngược lại; câu chuyện cũng tương tự. Năm ngoái, CTO mới của chúng tôi làm chúng tôi chuyển từ Go sang Java, và một số đồng nghiệp đã bày tỏ sự thất vọng trên một diễn đàn ẩn danh, cho rằng đó là một bước lùi.
Thực tế là, nếu lãnh đạo mới thấy Java, họ có thể sẽ làm bạn chuyển sang Go. Việc đại tu ngăn xếp công nghệ chỉ là một cách để dọn dẹp nhà cửa, giữ lại những thành viên tuân thủ trong khi loại bỏ những người không phù hợp với hướng đi mới.
Bước đệm cho KPI và Thăng chức
Ngay cả khi không có lãnh đạo kỹ thuật mới, trong thời đại KPI và OKR này, mọi người đều phải tìm công việc để biện minh cho sự tồn tại của mình. Làm thế nào khác bạn có thể cho thấy rằng đội ngũ của bạn đang làm việc chăm chỉ, ở lại muộn mỗi ngày?
PHP trở thành bước đệm hoàn hảo. Các quản lý có thể thuyết phục cấp trên rằng hệ thống PHP cũ cần được làm mới với ngôn ngữ mới nhất, giao nhiệm vụ cho ai đó đáng tin cậy. Bằng cách này, ngay cả khi không đảm bảo thăng chức, đánh giá hiệu suất cao gần như chắc chắn.
Kết luận, đây là những suy nghĩ và quan điểm cá nhân của tôi về lý do tại sao PHP thường trở thành kẻ chịu trách nhiệm. Phân tích này có thể không áp dụng cho các công ty thực sự theo đuổi công nghệ. Mọi người thích so sánh các ngôn ngữ lập trình, nhưng ngôn ngữ tốt nhất là ngôn ngữ phù hợp với nhu cầu của bạn. So sánh ngôn ngữ giống như xếp hạng các ngôi sao thể thao; phần lớn là chủ quan, nhưng nó tạo ra sự quan tâm và lưu lượng truy cập, từ đó hỗ trợ nhiều người.
Cuối cùng, tôi khuyến nghị một môi trường phát triển PHP development environment mà tôi đã sử dụng — ServBay. Đây là một công cụ quản lý môi trường phát triển tất cả trong một đi kèm với nhiều ngôn ngữ lập trình và các thành phần cơ sở dữ liệu, bao gồm PHP, Node.js, MariaDB (MySQL) và PostgreSQL. Tính năng quan trọng nhất của ServBay là hỗ trợ sử dụng các tên miền không tồn tại (Domain) và các hậu tố (TLD) trong phát triển cục bộ. Nó thậm chí tạo ra các chứng chỉ SSL miễn phí cho các tên miền này, cho phép lập trình viên làm việc trong môi trường HTTPS mã hóa (ví dụ: https://api.servbay). Điều này không chỉ tăng cường bảo mật cho quá trình phát triển mà còn tiết kiệm đáng kể chi phí tên miền và chứng chỉ SSL.
All rights reserved