вот собственно задался вопросом, читая тему, в которой кто-то просил литературу по пхп, а чем так плох этот язык? Я его не защищаю, просто понять хочу, и чем лучше аналоги и какие, в общем просветите
Возьми скажем руби на рельсах и сравни с php MVC фрэйморками - сам всё поймёшь.
несколько минусов PHP:
- почти не расширяем
- слишком нагружен и полон несоответсвий
- ООП через задницу
- дыряв и подстрекает к написанию дырявого кода
- просто некрасив:)
Языки программирования могут быть определены спецификацией, в которой описана семантика языка, либо by reference implementation. В первом случае, чтобы понять, как оно работает, нужно посмотреть в спецификацию, а во втором случае -- лезть в исходники. Или положиться на educated (?) guess. В первом случае язык можно выучить, а во втором -- только учить. В первом случае язык разрабатывается ("дизайнится", извините за просторечие), а во втором -- эволюционирует под влиянием множества факторов окружающей среды, вплоть до качества кофе, заваренного утром 21 мая женой ведущего разработчика.
я так понял php относится ко второй категории, но ведь все языки со временем меняются, пишутся новые стандарты. Или имелось ввиду наличие какой-то генеральной линии, по которой идет разработка и ее отсутствие
зы извините за глупые вопросы, просто никогда с разработкой языков не сталкиался и даж не знаю, что искать по этой теме
> все языки со временем меняются, пишутся новые стандарты.
Меняются. Но, во-первых, стандарты пишутся не всегда. В частности, стандарта на PHP нет и, скорее всего, не будет. А во-вторых, любой стандарт строится на концепции. У дизайнера языка должно быть ясное видение того, что он хочет получить.
Представьте себе, что Вы захотели внести изменения в стандарт C++. С учетом того, как работает ISO, рискну предсказать, что ничего не выйдет. Правда, с STL получилось, но добился этого не Степанов, а, как минимум, SGI.
С Java или Scheme вероятность успеха больше. Ваше предложение, если оно интересно и вписывается в концепцию языка, будет рассмотрено, изучено и обсосано толпой гуру, прежде, чем оно попадет в спецификацию языка.
А вот с PHP все попросту непредсказуемо. Зачем в PHP два разных синтаксиса для if? Почему есть try и catch, но нет finally? Почему в официальной документации исключения описаны в двух абзацах?
The fundamental design of the PHP 2 language was that it be simple to use, even for non-programmers.
The claim of this section is that this design goal has resulted in precisely the inverse of the desired effect. PHP 2 was probably a reasonable solution: it was a minimal scripting language for adding dynamic behaviour to webpages. Unfortunately, PHP has since outgrown itself. PHP is nowadays a programming language simplified to the point where the available abstractions and concepts just aren’t sufficient to express the programmer’s intent.