Пять причин, почему PHP иногда лучше Java

1) Легче найти джунов. К сожалению, это парадокс нынешнего состояния дел в IT-индустрии. Пока начинающий Java-программист мечтает о том, какой ногой лучше открывать дверь в отдел кадров перед очередным собеседованием в ООО "Рога и копыта", захлебываясь гордостью по поводу своей супер-мега-востребованности, на его место вероломно нанимаются сразу двое джунов PHP. Причем оба согласны пахать на дядю в сумме за те же деньги, которые попросит одинокий Java-разраб. По опыту скажу, что все трое героев сравнительно паршиво будут работать первый год уж точно, за ними глаз да глаз нужен, по производительности труда разницы особой не заметит никто. А если нет разницы, то... Правильно. Сюда же добавляю подпункт - вообще легче заменить любого программиста в команде, использующей PHP, чем стек Java. Пока джависты будут ломаться и запрашивать астрономические суммы за выполнение обычной работы, наслаждаясь своей "незаменимостью" и "дефицитом специалистов", пхпшники будут просто молча работать. Когда большая конкуренция (а именно - в сфере задач на PHP, не требующих архисложных навыков и over9000 опыта за плечами), то это хорошо ставит обладателя (особенно его мозги) на нужное место.


2) Не насаждается ООП-парадигма. На PHP низок порог входа, новичку можно запросто написать работающий код, нарушающий все мыслимые и немыслимые мечты перфекционистов о "красивом коде". И код будет функционировать в данное время в данном месте. И проект будет со скрипом сдан в требуемые сроки с примлемым уровнем качества, заказчик доволен. И все участники сего процесса получат по граненому советскому стакану, до краев наполненному ароматным клубничным смузи, плюс тульский пряник за старания. А Java-перфекционисты вынуждены будут разбираться, почему не компилируется, обязательно разведут срач об именах классов, паттернах, увязнут в потрохах монструозного фреймворка и прочей лабуде. И останутся с носом. В общем, такой хороший марафон по граблям протяженностью пару ночей гарантирован. Проект застопорился, все недовольны.


3) Разработка на Java медленная. На интерпретируемых языках типа PHP разработка быстрая. Раз-два-три, накидали прототипчик, натянули криво/косо фронтенд. Показали наработки заказчику. Не понравились - выбросили, все переделали с нуля, повторяем цикл. На Java так не получится. Там уже наверняка предусмотрительным джуном, прочитавшим недавно книгу из серии банды четырех, заведены эти ваши интерфейсы, которые жалко выбрасывать, куча абстрактных классов погоняет кучей других, поэтому "из песни слов не выкинешь". Сидит такой ночью и причитает: "вроде выкинул из проекта все ненужное, а не компилируется... Шеф убьет... Стабильного варианта в системе контроля версий нет. Ааааа.."


4) Сама Java тормозит. Ну тут без комментариев, все слышали байки об этой особенности. Как начинаешь делать что-то на самом деле серьезное, никуда не деться без копания в тонкостях настройки виртуальной машины, танцев с бубном для ускорения времени компиляции и т.д. У PHP все нормально из коробки, для любых проектов.


5) Проблема Spring aka "Из пушки по воробьям". На Java де-факто стандарт для разработки проектов является Spring. От него никуда не деться, он забивается все щели, куда не просят, и вышвырнуть все зависимости не представляется возможных. Все равно, что тебе надо, - простой проект, средний, сложный, - приходится везде тащить этот чертов Spring. Это опять-таки замедляет разработку и вносит лишнюю, никому не нужную сложность. В мире PHP тьма фреймворков для веба. Для совсем простеньких - да хоть за день CMS-ку развернуть, Wordpress, Joomla, Drupal, как что-то плохое! Для простеньких - на тебе, пожалуйста, микрофреймворки Lumen, Silex, Slim. Для вещей посерьезнее - Yii, Laravel, Phalcon. Для среднего и даже больше - Zend Framework, Symfony. Никакой монополии, в отличие от Java, для каждой задачи - свои, удобные средства разработки. Переучивание и освежение в памяти особенностей фреймворков не должно занимать слишком много времени, что тоже несомненный плюс.


С радостью услышу ваши отзывы о работе с любым стеком технологий. Причем на backend у комментаторов не обязательно должны быть лишь PHP или Java. C#, Go, Perl, Ruby, Python - тоже приглашаю высказаться. Про JS на backend уж не надо сегодня, извольте, с больной головы на здоровую...