| Пока Максим Валерьевич на даче :), отвечу по второй части сообщения. Тут в нескольких темах уже поднимался вопрос по PHP.
Любой Университет очень консервативен. Дело в том, что PHP очень сильно эволюционирует и ещё полностью не сложился. Разрабатывая приложения сейчас, нужно быть готовым к тому, что через год два, их придётся переписывать практически "с нуля". Стандарты отсутствуют, настройки настолько гибки, что код разработанный для одного сервера может не сработать для другого. Так, если раньше имя конструктора в классе, как и в С++ совпадало с именем класса, то, начиная с PHP 5, для конструктора и деструктора выделены специальные ключевые слова __construct и __destruct. Будет ли поддерживаться старая схема не известно :( Если раньше можно было использовать внешние переменные по их названию, теперь для этого рекомендуются суперглобальные массивы (а в следующих версиях это может стать обязательным требованием).
Java предпочитают в Университете потому, что Java - это легенда. Её стоит изучать хотя бы потому, что в ней в окончательном варианте сложился объектно-ориентированный подход. В ней реализована самая передовая объектно-ориентированная модель, значительно превосходящая объектно-ориентированную модель C++ в гибкости (В PHP, кстати, сейчас пытаются реализовать именно модель Java, но текущая реализация ещё достаточно сыровата). В настоящий момент Java загибается, что связано с тем, что вместо того, чтобы сделать её приемником C++ (более мощным универсальным языком, что и предполагалось сначала), её превратили в Web-технологию, включающую и серверную и клиентскую части (да чего только не включающую). Для своего применения данная технология требует не универсальные сервера вроде Apache, а специфические (они очень капризны). Технология получилась достаточно исскуственная и сложная в освоении и применении, хотя идеи заложенные в ней очень красивые и передовые.
ASP.NET является действительно сильным конкурентом PHP, позволяющим вносить в Web-приложения всю мощь интерфейса Windows. Однако сложилось так, что распространен он больше на Западе, чем у нас. Здесь просто экономический фактор. У нас хостеры предпочитают изучить всё и вся и наладить PHP-хостинг на FreeBSD, а на Западе не могут позволить себе "бесплатный" хостинг. Легче заплатить за лицензии Windows, MSSQL, но зато потом понятно с кого требовать неустойки, на кого подавать в суд и где требовать заплатки (попробуйте потребовать заплатки у Линуксоидов :). К недостаткам ASP.NET следует отнести зависимость от платформы Windows (и от Internet Explorer, с другим браузером приложения работать не будут), сложность освоения технологии и трудоёмкость разработки Web-приложений по сравнению с тем же PHP (всё это может закончиться как и с Java).
Perl – это предшественник PHP (у них даже история создания практически одинаковая), но Perl больше ориентирован на решение повседневных административных задач, чем для Web, в то время как PHP, изначально ориентировался для использования в среде Web. Но я бы всем рекомендовал изучить Perl – это очень красивый язык. PHP по сравнению с ним менее красив и более прагматичен, но это даже хорошо, так как позволяет создавать более читабельный код. Perl и PHP это очень *NIX-вые вещи, решения на них просты и элегантны, чего не скажешь про Java и ASP.NET.
PS Мне лично, кажется, что в ближайшее 5 лет в России в Web-разработках будет преобладать PHP, как наиболее простой в изучении и применении. Скорость создания приложений на нём выше, чем у конкурентов примерно в два раза. Единственный его недостаток, заключается в том, что он ещё не совсем сложился и продолжает эволюционировать.
PPS От JavaScript и при использовании на PHP никуда не денешься, так как PHP чисто серверный язык, а при разработке больших Web-приложений избежать работы на клиентской стороне не удастся.
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=58&page=2 | |