Tại sao PHP bị ghét như vậy? [đóng cửa]


17

Gần đây tôi đã bắt gặp một số truyện cười và truyện tranh về việc PHP rõ ràng khủng khiếp như thế nào.

Là một người hoàn toàn không biết gì về ngôn ngữ, tại sao lại như vậy? Đó có phải là nhận thức của riêng tôi hay đây là cảm nhận chung về cộng đồng lập trình?


2
Tôi viết phần mềm bằng c # và nghe tất cả những lời chỉ trích của Microsoft, gần như chỉ nói bậy với ngôn ngữ khác
Scott Selby


4
@Andy người ta không nên quên các bài đăng trên blog của Jeff: PHP SingularityPHP Sucks, nhưng nó không thành vấn đề

5
Không có hai loại ngôn ngữ ... những ngôn ngữ mà mọi người đều ghét và những ngôn ngữ không ai sử dụng.
GrandmasterB

2
@HerrK cách duy nhất mà nó có thể được trả lời (bao gồm cả tôi) là ý kiến ​​về lý do tại sao bạn nghĩ rằng php hút. Nó cũng sẽ dẫn đến các cuộc thảo luận phi sản xuất (nó thật tệ! Không, nó không như vậy! Java cũng tệ như vậy!). Câu hỏi đặt ra không tối ưu hóa cho tốt câu trả lời vì nó hiện đang viết (điều này không có nghĩa là một câu trả lời tốt không thể được viết). Bên cạnh đó, một nơi tốt để đặt câu hỏi thảo luận và ý kiến ​​là Trò chuyện Kỹ thuật phần mềm . Nó sẽ đặc biệt hữu ích khi trò chuyện với Yannis của chúng ta về php và nhận thức của nó trong ngành.

Câu trả lời:


29

Lưu ý: Điều này được viết từ một lập trường rất quan tâm.

Xem thêm: PHP: Một Fractal của thiết kế xấu

Từ lâu, khi web còn trẻ, bạn đã viết một ứng dụng web bằng perl. Đó thực sự là nó. Đó là lựa chọn duy nhất của bạn (trừ khi bạn thực sự thích làm việc với các chuỗi trong C). . Và có rất nhiều, rất nhiều ... ừm, tào lao viết bằng perl. Bạn vẫn có thể tìm thấy chúng nếu bạn nhìn - các tập lệnh CGI có lỗi mà ai đó đã tát vào nhau mà thậm chí không đến gần để vệ sinh đầu vào của chúng.

Khi web trở nên hấp dẫn hơn, các ứng dụng lớn và lớn đã chuyển sang các khung khác được thiết kế tốt hơn để xử lý hàng ngàn kết nối (không phải lúc đó). Những người có thể học một ngôn ngữ mới đã chuyển sang Java (đó là lựa chọn tốt nhất cho nhiều khung công tác). Những người không thể, tốt, có ngôn ngữ này trông rất giống perl và đã làm một số điều tốt hơn (không cần phải xử lý một quy trình cho mỗi yêu cầu). Đó là php.

Php phát triển, hữu cơ ... nếu bạn có thể gọi một con quái vật Frankenstein hữu cơ. Rất nhiều hack (bạn có biết hàm băm ban đầu cho tên hàm là strlen không?). Những thứ một phần được thêm vào ngôn ngữ cốt lõi (chứ không phải là thư viện) vẫn còn đó cho đến ngày nay. Nó không đẹp lắm. (Chọc vào reddit's / r / lolphp , trò đùa của nhiều điều bất tiện này ... bạn có biết rằng luôn luôn-1 month30 ngày không?)

Và mặc dù những thứ to lớn và khổng lồ đã được xây dựng bằng php (xem wordpress là một ví dụ), nó vẫn là một con quái vật dưới vỏ bọc với bí truyền về cách mọi thứ hoạt động (hoặc không hoạt động, hoặc phần nào của mọi thứ hoạt động hầu hết thời gian).

Đó là ngôn ngữ nhanh và dễ học nên rất nhiều người không muốn dành thời gian học ngôn ngữ này. Và sau đó khi nó phá vỡ và bạn phải duy trì nó bây giờ? Chà, một ngôn ngữ cho phép thiếu kỷ luật như vậy từ các lập trình viên, những người không luôn hiểu những gì họ đang làm tạo ra một số lỗi rất 'thú vị'.

Đó là ngôn ngữ của các trang web nhanh chóng kết hợp và các plugin wordpress nướng một nửa. Trường hợp một số 16 tuổi đã viết mã cho hàng xóm của họ với giá 20 đô la hoặc một sinh viên đại học để lấy tiền bia ... biết rằng họ sẽ không bao giờ nhìn vào nó nữa. Truy cập thẻ php của Stack Overflow một chút và xem xét rằng bạn có thể đang duy trì mã đó một ngày nào đó.

Hãy nhớ rằng mã của mọi người khác luôn luôn hút. Và nếu bạn phải xử lý mã của người khác bằng php - thì thật tệ.


6
không có gì ngạc nhiên khi mọi người ghét php nếu họ lấy wordpress làm ví dụ ... các khung như Symfony hoặc các lớp như Pimple được viết tốt hơn các tập lệnh php mà tôi muốn duy trì. symfony.com/components pimple.sensiolabs.org
Félix Gagnon-Grenier

Mọi ngôn ngữ đều có lỗi trong đó. PHP có rất nhiều lỗi này. Một số được sắp xếp, một số là như vậy, nhưng thay thế được tạo ra. PHP phát triển theo thời gian. NHƯNG vấn đề là cộng đồng. Nó có một cộng đồng chứa đầy noobs và nghiệp dư. Tiền bối của tôi đã từng nói "không ai biết php, ngay cả khi họ có 5 năm kinh nghiệm". Đó là sự thật, hơn một nửa các nhà phát triển php không biết khái niệm OOP. họ chỉ hoàn thành công việc bằng cách sử dụng các hàm mảng và chuỗi được sao chép từ stackoverflow.
tejas.jaiswal
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.