Почему PHP так ненавистен? [закрыто]


17

В последнее время я сталкивался с несколькими шутками и комиксами о том, насколько ужасен PHP.

Как полный невежественный язык, почему это? Это мое собственное восприятие или это общее чувство сообщества программистов?


2
Я пишу программное обеспечение на c # и слышу всю критику Microsoft, это в значительной степени просто bash другой язык
Скотт Селби


4
@ И не стоит забывать посты Джеффа в блогах: «Особенность PHP и PHP - отстой, но это не

5
Разве нет двух типов языков ... те, которые все ненавидят, и те, которые никто не использует.
GrandmasterB

2
@HerrK единственный способ ответить на него (включая мой) - это мнение о том, почему вы думаете, что php отстой. Это также привело бы к непродуктивным дискуссиям (это отстой! Нет, нет! Java отстой точно так же!). Вопрос не оптимизирован для хороших ответов, поскольку он написан в настоящее время (это не означает, что хороший ответ не может быть написан). Кроме того, хорошее место, чтобы задавать вопросы для обсуждения и обсуждения - это чат по разработке программного обеспечения . Было бы особенно полезно поболтать с нашим собственным Yannis о php и его восприятии в индустрии.

Ответы:


29

Примечание: это написано с очень мнительной позиции.

Смотрите также: PHP: фрактал плохого дизайна

Давным-давно, когда Интернет был молодым, вы написали веб-приложение на Perl. Это было действительно так. Это был ваш единственный выбор (если вам не нравилось работать со строками в C). (И да, я прикрываю отличные полосы ASP и тому подобное ... Я бы предпочел забыть о тех днях.) Существовали большие и большие веб-приложения, написанные на Perl. И было много, много штук ... ну, дерьмо, написанное на Perl. Вы все равно можете найти их, если посмотрите - глючные скрипты CGI, которые кто-то собрал, даже не приблизившись к дезинфекции их входных данных.

По мере того, как веб становился все более корпоративным, большие и огромные приложения перемещались в другие среды, которые были лучше разработаны для обработки тысяч соединений (в то время perl не было). Те, кто мог выучить новый язык, перешли на Java (это был лучший выбор для многих фреймворков). Те, кто не мог, ну, был этот язык, который был похож на Perl и делал некоторые вещи лучше (не нужно было форкать процесс для каждого запроса). Это был php.

Php вырос органически ... если вы можете назвать монстра Франкенштейна органическим. Много хаков (вы знали, что оригинальная хеш-функция для имен функций была strlen ?). Частичные вещи добавлены к основному языку (а не к библиотекам), которые все еще остаются там сегодня. Это не так красиво. (Ткните в Reddit's / r / lolphp, который высмеивает многие из этих несоответствий ... Вы знали, что -1 monthэто всегда 30 дней ?)

И хотя в php были встроены большие и большие вещи (посмотрите на WordPress в качестве примера), он все еще остается монстром, скрывающимся под эзотерикой, о том, как все работает (или не работает, или какие части вещей работают в большинстве случаев). время).

Это быстрый и простой язык для изучения, поэтому многие люди, которые не хотят тратить время на изучение языка, используют его. А потом, когда он сломается, и вы должны поддерживать это сейчас? Ну, язык, который допускает такое отсутствие дисциплины со стороны программистов, которые не всегда понимают, что они делают, приводит к некоторым очень «интересным» ошибкам.

Это язык быстро собранных веб-сайтов и наполовину запеченных плагинов WordPress. Где-то 16-летний написал код для своего соседа за 20 долларов или студента колледжа за пивные деньги ... зная, что они никогда не будут смотреть на это снова. Пройдите немного по php-тегу Stack Overflow и подумайте, что вы можете поддерживать этот код когда-нибудь.

Помните, что код всех остальных всегда отстой. И если вам приходится иметь дело с чужим кодом в php - это отстой.


6
неудивительно, что люди ненавидят php, если они берут WordPress в качестве примера ... фреймворки, такие как Symfony или классы, такие как Pimple, лучше написаны чистые php-скрипты, которые я бы хотел поддерживать. symfony.com/components pimple.sensiolabs.org
Феликс Ганьон-Гренье

В каждом языке есть ошибки. В PHP было множество таких ошибок. Некоторые отсортированы, некоторые как есть, но альтернативы созданы. PHP развивался со временем. НО проблема в сообществе. Сообщество заполнено нубами и любителями. Мой старший однажды сказал: «Никто не знает php, даже если у них есть 5-летний опыт работы». Это правда, что более половины разработчиков php не знают концепции ООП. они просто выполняют работу, используя функции массива и строк, скопированные из stackoverflow.
tejas.jaiswal
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.