Ну всё таки стоит заметить, что тот же JS к примеру чуть менее ужасен чем PHP. Вполне можно было бы для великого и ужасного веба сделать не настолько ужасный язык.
Для тех задач и тех условий, в которых были разработаны первые версии JS и PHP — оба "норм" и в целом пофиг какой там язык вообще. Проблемы начали наслаиваться друг на друга, когда их стали использовать в совершенно новых условиях, "развивая" и "адаптируя" к этим условиям "как могли".
у него просто api surface на порядок меньше, а так там жести столько же
У JS более-менее нормальный парсер с более-менее нормальной грамматикой, а не тот кошмар, который был до пхп 5 включительно. Ну и строки в JS - не callable, а функции вообще first class citizens.
У JS более-менее нормальный парсер с более-менее нормальной грамматикой, а не тот кошмар, который был до пхп 5 включительно. Ну и строки в JS - не callable, а функции вообще first class citizens.
Лично меня больше семантика обоих языков беспокоит. Начиная с семантики равенства. 🤦♀️
Это связано с забавным фактором. Как бы "промышленные разработчики" ни смеялись над "академиками", в силу разных — снова социальных причин — большинство "академиков" (в области CS) пытаются разрабатывать решения для индустрии и бизнеса. Поэтому пока бизнес интересовался только десктопом и менфреймами, и не интересовался вебом — "академики" разрабатывали технологии для десктопов и менфремов. Плюс неизбежное отставание "академии" от бизнеса.
У JS более-менее нормальный парсер с более-менее нормальной грамматикой, а не тот кошмар, который был до пхп 5 включительно. Ну и строки в JS - не callable, а функции вообще first class citizens.
с JS вообще странная ситуация, сколько он живёт, мало кто писал чисто на нём, сначала были всякие либы, потом пошли языки, теперь большинство плотно сидит на TS, а гугл продолжает упорно копать в сторону Dart2, в какой-то момент казалось что новая версия JS всех устроит, и был хайп, но сейчас складывается ощущение что всё по старому
Студентов, которые потом пойдут в бизнес и будут костылять костыли. Чтобы костыляли не такое "страшное" :)
Во многом, это уже полумеры. С одной стороны, действительно костыляют не такое страшное на Java/C#/RoR/Python, сильно меньше пользуясь PHP (но больше — JS, но там хотя бы эргономику в последние годы сильно улучшили). С другой стороны, "по-хорошему" нужно было бы "переизобрести" весь Web на более продуманных технологиях и протоколах. Частично это даже в конце концов происходит — WebSockets, HTTP/3 и сопутствующие инициативы. Но из-за обратной совместимости — всё равно на половину костыли. 😞
Для ясности: если бы Web разрабатывался изначально как нормальная программируемая технология — многие указывают, что нужно было портировать/адаптировать Hypercard и было бы щщасте — PHP и JS просто не нужно было бы разрабатывать, соответственно, никто бы и не стал этого делать.
Hypercard и сейчас живо в виде LiveCode и xTalk, но по-моему Flash и AIR тоже примерно по этому пути пошли. В итоге ни один их них не выжил
Но в целом я согласен - по безумию PHP не переплюнул никто, даже эзотерические языки. На меня самое шокирующее впечатление произвело, что такая конструкция была невалидна вплоть до PHP 5.4 в 2012 году:
foo()[0]
Вместо этого предлагалось сначала сохранить результат в переменную:
$temp = foo(); $temp[0]
Что говорит о полном отсутствии какого-либо понимания и системного подхода у того, кто эту грамматику писал.
Но в целом я согласен - по безумию PHP не переплюнул никто, даже эзотерические языки. На меня самое шокирующее впечатление произвело, что такая конструкция была невалидна вплоть до PHP 5.4 в 2012 году:
foo()[0]
Вместо этого предлагалось сначала сохранить результат в переменную:
$temp = foo(); $temp[0]
Что говорит о полном отсутствии какого-либо понимания и системного подхода у того, кто эту грамматику писал.