Посмеёмся же над полным бредом:> Язык программирования - это понятие абстрактное. У Я.П. нет,и не может быть
> проблем, как не может быть проблем у угла в 30 градусов.
Выходит, РНР - тоже что-то абстракное.
Хотя угол в 30 градусов - вещь вполне конкретная.
В общем, конечно, у угла и у ЯП не может быть проблем, они обычно бывают у людей, ими пользующихся.
>>среды исполнения
> "Среда исполнения" - это переменные окружения и текущий рабочий каталог, вас же
> обидел "Интерпретатор"
Ну, при том, что переменные окружения и текущий рабочий каталог часто зависят от некоего интерпретатора (shell например), то да, она нас обидел.
А у РНР, насколько известно, интерпретатор (он же единственный) вполне себе работает так, как написано в описании ЯП. А уже из этого описания можно увидеть кучу проблем этого ЯП (точнее, пользователей этого ЯП).
>>$b = $a + 5; без инициализации $a
> Вы путаете "инициализацию" и "определение". Причем в данном случае $a как
> раз автоинициализовано пустой строкой.
Вы уверены? Странно, что такой ярый защитник РНР не знает его элементарных основ.
> Это поведение решает проблему наличия глобальных
> переменных в отсутствии линкера.
Уж не знаю, какую проблему это решает, но наличие глобальных переменных - это в общем не проблема даже в отсутствии линкера, как показывает пример того же Python. А авторы РНР сами создали себе проблемы, устранившись от глобальных переменных.
>>Вместо того, чтобы бить в тамтамы и сообщать об ошибке
> Не надо обманывать система выдает предупреждение "Undefined variable".
Вы уверены? Это предупреждение, во-первых, выдаётся в stderr, что уже само по себе бесполезно, во-вторых, обычно отключается с помощью error_reporting, а в-третьих, поясните, как на практике можно использовать механизм "перехвата" предупреждений в РНР - кроме вышеупомянутого stderr.
> У интерпретируемых языков нет времени для многопроходного ковыряния в коде.
> Язык программирования - это понятие абстрактное
таки у языков нет времени? таки РНР однопроходный? (Ну разве что заднепроходный, да.)
С чего вы вообще взяли, что время имеет значение для *интерпретируемых* языков? Почему у других ИЯП "есть время"?
> Функция статического анализа возложена на сторонние инструменты и программистов.
С каких пор определение совместимости типов в операциях у динамически типизируемых ЯП является Функцией статического анализа?
> К слову, все не
> фатальные предупреждения которые выдает выдает g++, к языку с++ никакого отношения
> не имеют.
Видимо, следовательно, и предупреждения в РНР к языку РНР тоже не имеют отношения. Ура!
> "Дизайн" решений в PHP довольно мало.
по сравнению с? Хотя, наверно, хорошо, что их мало. *Таких* решений лучше бы вообще не было.
> Все изменения в языке направленны были
> на решение сугубо практических проблем
...возникших в этом языке из-за "Дизайн" решений
(Уж не говоря о том, что "изменения в языке" - это подразумевает наличие исходного "языка". PHP/FI, написанный на перле, языком явно не назовёшь.)
> Как и в с++ и javascript.Это
> в отличии от языков разработанных теоретиками с чашкой кофе в руке.
Наоборот, в отличие от с++ и javascript, разработанных теоретиками с чашкой кофе в руке, РНР был разработан непонятно кем с пивом в руке и баксами в уме.
У РНР есть ещё шанс остаться, если отбросить уродскую концепцию обратной совместимости, которая, впрочем, всё равно у него никогда не работала.
Делать язык на уровне Питон 0.9-альфа с Си-синтаксисом в нынешнее время не имеет никакой практической ценности. А с той скоростью релизов и с той процедурой принятия решения, что есть сейчас, даже уровня Питон 0.9-альфа ждать ещё лет *дцать.