Один раз - не пидарас, или дискриминация по разным признакам

В среде разных хипстеров принято снисходительно поплевывать на PHP, джаву и сишечьку. Я, к сожалению (или счастью) как-то не застал программирования на пхп, хотя определенный опыт (2 года, штоле) perl таки есть поэтому я изначально контужен на правое полушарие. Мне довелось попрограммировать и на сишечьке, и на крестах, и, как это ни странно, на жабе - довольно приличное время. Посему, как мне кажется (ну там про перл выше было, да, потому казаться может все что угодно), я понимаю - откуда такое отношение у прогрессивной молодежи долбящейся в очько по коворкингам в лофтах.

Статическая типизация говно и не нужна

Этой религией страдают поклонники руби, жабоскрипта, кложури и прочих скриптовых недоязыков программирования. ИЧСХ, в части случаев они совершенно правы - ну не надо для простейших манипуляций с DOM вывод типов по хиндли-милнеру, равно как это совершенно необязательно для проектов из 100 строк кода. Более того, даже в 10000 строках кода она бывает не нужна, особенно если вы ребе и по надиктованному через телефон стектрейсу способны удаленно починить байткод джарника, написанного другим ребе. Но вообще говоря, пожалуй основное назначение статической типизадницы, которое имеет смысл - это чтобы часть тупых ошибок в рантайме (ну там в интежер засунуть джсон) отлавливать на этапе компиляции. От сложных ошибок вся эта поебень все равно не спасет, что бы там адепты Coq не рассказывали. В больших (не обязательно сложных) системах, имеющих долгую историю эволюции от говна к окаменевшему говну, статическая типизация дает определенные гарантии, что при случайном изменении типа какой-то функции или там глобальной переменной - система не рухнет в конвульсиях. Если все это написано на расово верном бестиповом языке, то чтобы компенсировать отсутствие типов - у хипстеров есть две технологии, одна “мы считаем что тут все написано правильно, а вы дураки и не лечитесь” до “надо покрыть тестом 2+2=4, а то мало ли что”.

Жава тормозит

Весело слышать такое от хардкорных рубистов или жабоскриптеров. Для жабоскриптеров есть даже отдельный мем “close to bare metal”, который родился из какой-то статьи, предлагающей отказаться что ли от фреймворков - и писать на jQuery. Что может быть ближе к железу, в самом деле? Ну так вот, тора гие мои читатели, если у вас с головным мозгом все ок - то будет понятно, что программа работает настолько быстро, насколько быстро работает самая медленная её часть, вовлеченная в процесс вычислений. А это означает, что хоть стопиццот раз числодробилка будет вылизана до посинения третьей левой ноги процессора от счастья - все равно толку не будет, если данные приезжают с арвида со скоростью “по 120 байтов в час”. В данном конкретном случае числодробилка будет ждать данных, и нахера козе собственно баян-то вот вся эта оптимизация была нужна? Правильно, ваще не нужна. Соответственно большинство микробенчмарков, которые показывает как жаба просасывает плюсам - это, ну я ебу, как на скачки поставить першерона и какого-нить хадбана. То есть ваще ни о чем (ну пока не прицепишь к хвосту кобылы тележку с парой пушек). Собственно, сравнивать языки по “производительности” вне конкретной задачи, а уж тем более обобщать “жаба тормозит потому что жаба” - удел слабых мозгом.

ПХП это диагноз

К сожалению, чуваки которые придумали это все, заботились об том, чтобы их поделка была доступна для понимания домохозяйкам, и прошлись по всем тем граблям, которые в свое время разложили адепты BASIC-а. Чуваки из консорциума по продвижению клинописи и обфускации исходников еще до их написания пошли другим путем - и придумали Haskell, на который принято дрочить ночами всем без исключения апологетам любых мейнстримовых языков, будь то жабо, плюсы или пу-тхон. Ну то есть хаскель еще не настолько упорот, как например AGDA, как раз на границе понимания среднего быдлокодера с 5 годами опыта в ынтерпрайзе. Собственно, основная беда особенность похапе - это низкий порог вхождения, когда ну буквально кто угодно с улицы за пять дней сможет осилить написать CRUD. Это вовсе не значит, что язык - говно и не нужен, это скорее означает что на нем дохера народу пишет, и если в процентном отношении доля уебанов такая же, как и доля хороших, годных программистов - то вероятность встретить уебана сильно выше.

Говно это ваше ООП

Гойспода, ну ООП - это в первую очередь парадигма программирования, и как всякая парадигма - она имеет свою область применения. Вне этой области применения - да, говно. Ну а что не говно-то, вне своей области применимости? Почему-то никто не характеризует микроскоп термином “говно” при рассматривании туманности Андромеды в тихую летнюю ночь. Впрочем, мне бы искренне хотелось бы мне посмотреть на героев, которые на хаскеле напишут систему формирования отчетности для белорусской налоговой. Здесь, кстати говоря, нужно смешивать парадигмы - и ту часть, которая клево ложится на ООП - писать в контексте ООП, а там где лучше, ну я ебу, монады - ну писать монады, делов-то. Другое дело, что пока что есть два языка, которые позволяют творить такую чернь - это Scala и C++. Ну кложурь, но я не сильно в курсе как там что, наверное на списке списков списков списков можно и не такое творить.

Резюмируя - если у вас появились какие-то стереотипы насчет чего угодно - нужно их идентифицировать и безжалостно в себе истребить. Только так можно начинать впитывать в себя новые полезные знания, вместо забегов по интернетам с воплями “гноби PHP-шников”.