Здравствуйте, netch80, Вы писали:
N>Свежая обзорная статья.
A language must be predictable...
A language must be consistent...
A language must be concise...
A language must be reliable...
A language must be debuggable...
Хотите правильный ответ? Я его давно пропагандирую:
A language must be C-like. Это как латинско-греческие корни европейских языков и какой-нибудь санскрит. Если язык состоит из неизвестных закорючек, как к нему вообще подступиться? Он может быть прост и удобен, но это никто не узнает, кроме задротов-индологов. Так и PHP. Это кусок гавна, а не язык, всерьез говоря, но из всей компании PHP/Perl/Python/Ruby он самый си-подобный. Когда вам нужен комментарий, не надо писать #, когда вам нужен набор условий, не надо писать elsif (Perl). Для оформления кодоблока можно воспользоваться привычными фигурными скобками (Python). И отдельные команды разделяются ; (Ruby). Все эти привычные мелочи значат в нашем несовершенном мире гораздо больше, чем предсказуемость, консистентность и что там дальше по списку. Кто этого не понял, тот чудак на букву м.
Тот чудак, который цитируется вами, написал по этому поводу следующее: "Just write C! Here, there’s even a CGI library for it". Так вот, пусть он сам пишет на C/CGI, а потом имеется с деплоем под разные платформы и make-файлами. Нормальный вебовский нуб тоже человек и хочет свои первые скрипты пописать и поотлаживать в веб-серверовском интерпретаторе. Он идет и смотрит, что там есть с максимально привычным синтаксисом, но со всеми прелестями вебовских скриптов: сборкой мусора, отсутствием компиляции и так далее. Предсказуемо, что он находит PHP.
Совершенно справедливо автор замечает: PHP was originally designed explicitly for non-programmers (and, reading between the lines, non-programs). Что ж, когда нуб перестает быть нубом и начинает писать большие и серьезные программы, где подводные грабли, так красочно описанные вашим автором, начинают причинять серьезные неудобства, он переключается на (сюрприз!) C#/ASP.Net, в названии которого есть заветная буква, Java, про которую сами ее создатели говорили, что она создавалась под девизом "Выкинуть мусор из C++") или, в конце концов, тот самый C/CGI, если надеется достичь сверхвысокой оптимизированности.
Эта моя теория замечательно подкрепляется тем фактом, что (по версии TIOBE) 6 самых популярных языков (в том числе и PHP!) обладают ярко выраженными си-подобием. Причем, суммарная их доля составляет (примерно) две трети.
Если человек так не любит PHP, он мог бы создать другой си-подобный язык, лишенный недостатков PHP. Какой-нибудь Пи-плюс-плюс, чтобы в формулу лампы укладываться. Денег, правда, на этом не заработать.