Lighttpd + fastcgi (который в php далеко неdreamer, похоливарили и будет, я с тобой согласен, помогает не хвататься за голову и дебагер после релиза. =)
Cris, AkeL.php не туда вы смотрите (конспекты старых пердунов из Политеха?), 21 век на дворе, эра серверов с десятками гигабайтов ram для memcached, а вы все экономите на байтах между float и double. Ну есть в Java, если не строгая, то статическая типизация. И толку? Apache + Tomcat + JSP будет в десятки раз медленнее Apache + PHP через FastCGI. И это не только мое мнение и опыт, введите в Google "php jsp benchmark" и получите с 10 ссылок с тестами.
Вот к примеру:
You must be registered for see links
Если с защитой программиста от скрытой ошибки я еще могу согласиться, то c приростом производительности - это смешно. По сути интерпретатор PHP выполняет точно такие же действия, как и JVM, за единственным отличием: в первом случае определение типа и работа с ним осуществляется автоматически (хотя сам Zend Engine написан на С++ со статической типизацией, достаточно заглянуть в мануал по Zend API и написанию модулей для php), во втором она должна быть описана вручную. А результат то один.
You must be registered for see links
, хотя и лечиться установкой чего-нить типа eAccelerator) ощутимо проигрывает Apache + Tomcat + JSP на таком мощном приложении как hello world. От полутора до двух раз. Думаю, что дальше дело пойдет ещё круче, так как например скорость вызова метода в java уже версии 1.4 была выше аналогичной у C++ (приведу в пример
You must be registered for see links
). Что-то мне слабо верится, что php порвёт java в этом. Не думаю, что Вы будуте спорить с тем, что ООП для более-менее серьёзных проектов очень необходим, а скорость php при его использовании заметно уменьшается.Плюс ко всему ещё в том, что если некоторое время поработать с тем же Tomcat можно заметить, что сервер нужно перезапускать при внесении изменений в "не jsp" - все классы и библиотеки кешируются в памяти в уже готовом к исполнению виде. Т.е. то, для чего и существуют всяческие eAccelerator'ы для php.
Чем плоха типизация? В java у меня не вызывает никаких проблем необходимость создавать функции поддерживающие несколько наборов параметров - просто использую перегрузку методов незадумываясь.. Компилятор за меня подумает, а с теми ли я параметрами вызываю этотм метод. Уверены, что на php удобней будет реализовать такую гипотетическую конктрукцию: экзмепляр класса Василий (Vasiliy) принимает в пищу (tryToEat()), только мясо (Meat), некоторые овощи (поддерживающие интерфейс FreshAndSweet) и рюмочку для аппетита, но только чего-то подороже и красненького (interface GoodRedWine), но только с масям и перед употреблением пищи. Естественно, куаждое из вышеперечисленных блюд он есть по разному..
Код:
public class Vasiliy {
public void eat(Meat food) {}
public void eat(FreshAndSweet vegetable) {}
public void eat(GoodRedWine wine, Meat food) {}
}