Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
В 1997 году, имея уже тогда опыт программирования 5+ лет, я начал использовать Perl ...Да, у меня похожая ситуация. Но более-менее нормальный код на Perl я начал писать где-то в районе 2002-2003, т.е. ещё спустя лет 5-6. Между 1997 и 2003 я осваивал Perl и с наслаждением юзал все возможные хаки, запихивал большие куски логики в одну, не очень длинную, строчку, etc. Это давало fun, но поддержка этого кода превращалась в интересное приключение — на вычитывание одной такой строки кода нужно было тратить несколько минут, пока не появлялось ощущение что я понял и учёл все side effects этого кода и могу его модифицировать не создавая море багов. Правда, строк кода в моих программах в то время было крайне мало, при довольно нехилой функциональности этих программ. :)
Два года я потратил на борьбу ...Это говорит только о том, что Perl — не для Вас. Любой хороший софт имеет свою философию, и было бы странно, если бы не смотря на разные философии любой софт подходил любым пользователям (зачем тогда эта философия нужна?). У меня есть знакомый сильный программер, которого раздражает TIMTOWTDI и которому нравится python из-за его «There should be one — and preferably only one — obvious way to do it.». У меня ситация обратная — эта часть философии python меня сильно ограничивает и раздражает. Но при этом он пишет отличный код на Perl, а мне не приходит в голову считать что «python унылое гавно» и «RIP python» только из-за того, что лично мне не нравится его философия.
Как Вы думаете что скажут друг другу два перл-программиста (один, скажем, дельфист в прошлом, второй — Javascripter) ...Честно говоря, лично я вполне в состоянии делать вполне вменяемое review на любом более-менее известном мне ЯП. И это никак не связано с тем, какой ЯП я использую последние годы. Так что я не думаю, что у описанных Вами дельфиста и javascripter-а возникнут серьёзные разногласия — при условии что у них тоже будет 15-20 лет опыта, и годы эти они тратили на самосовершенствование, а не быдлокодинг. Общие принципы разработки легко поддерживаемого и надёжно работающего кода не зависят от используемого ЯП.
И, вполне вероятно, что через несколько лет до корпораций дойдёт, что небольшая но профессиональная команда программистов обходится дешевле, а толку от неё гораздо больше.
Вы как в воду глядели! Правда времени прошло чуть больше, чем хотелось бы...
Такой источник вас удовлетворит?Неа. Во-первых PHP/FI никогда не был подобием mod_perl (использовать perl в этих самых «домашних страничках» было нельзя), во-вторых PHP не был совместим с PHP/FI ни в одну сторону — там были общими только некоторая часть идей.
Хотя винить надо не язык, а тех, кто не умеет его готовить.Нет. Винить надо именно язык. Из известных мне языков есть только два невменяемых в смысле TIMTOWTDI. Но альтернативы C++, в общем, пока нет (вещи типа D имеют мало библиотек и вообще не очень популярны) и с этим ужасом приходится мириться, а про Perl лучше просто забыть.
Я, как программист, предпочитаю развязанные руки ;)В разработке скольких enterprise-систем (с числом строк от миллиона и больше) вы участвовали — позвольте поинтересоваться? Есть разница между стартапами и корпорациями, она не может не есть.
И четкую возможность решать, что да как писать. И на чем: PЕсли у вас уже есть система в десять миллионов строк, то, увы и ах, выбирать обычно не приходится. Да, можно решить перейти с COBOL'а на Java — но это принимается не на уровне техлида, а на уровне чуть ли ни CEO…
Стиль Perl по сравнению со многими языками это как ралли по сравнению с городским движением ;)Ну наконец-то мы в чём-то сошлись. Да-да, именно так… Это и обозначает что делать этому зверю на улицах города (в коммерческих, тем более корпоративных, проектах) ему нечего. Хотите участовать в соревнованиях, показывать кому-то свою крутизну — можете использовать Perl, Brainfuck или ещё что-нибудь в этом роде. Хотите разрабатывать реальную систему — выкиньте это убожество.
«ПОЧЕМУ путь А — правильный, а путь Б — неправильный» узнается с помощью пары строчек, одна из которых — «use Benchmark;»Ага. И эти строчки показывают что оба способа неверны и всё нужно переписать на C++. Не надо сводить всё к банальному быстродействию. Если в споре C++ vs Ada это ещё может служить поводом, то в скриптовых языках всё не совсем так ибо их выбирают чтобы быстро писать программы, а не чтобы программы быстро работали!
На C или Java тоже можно писать малопонятный говнокод, и если один говносишник придет в команду таких же, но со своими мыслями о «стиле», будер бардак не хуже перла. Так что этот случай не ограничивается одним языком а применим ко всем.Я работал не в одном проекте на C/C++ и Java — и везде требования StyleGuide были похожими. В случае же с Perl'ом это ни разу не так — об чём и речь.
Отсюда вывод — вы описали несколько проблем, которые присущи любому языку, притянув к ним за уши Perl.Если бы за уши. И за ноги и за руки и за всё остальное: дурацких «проблем выбора» в языке Perl гораздо больше, чем в любом другом языке. Это для GUI хорошо когда что-то можно сделать «и так и этак и ещё вот так» — благо на результате выбор в меню мышкой или вызов через short-cut никак не скажется. И там где Perl используется как Word (то есть где текст программы мало кого волнует, а волнует результат её работы) — Perl вполне хорош. Но для «промышленного» (в частности корпоративного) программирования он не годится. Это такой «COBOL наших дней»: язык, который, в принципе, уже умер (в смысле новых разработок), но ещё десятки лет на нём будут делаться какие-то системы и ещё дольше будут поддерживаться уже написанные…
Хелп-система Гугла за веб-приложение едва ли сойдёт.Python в Гугле используется далеко не только для Хелпа. Почитайте вот тут, например. Да, web-приложения в Гугле никто не пишет на Питоне («пайтон» — это правильное произношения слова «питон» по английски, не нужно его совать в русскую речь), но «all monitoring, restarting and data collection functionality» и «Logs are analyzed and reports are generated using Python» — это вполне себе критические задачи для корпорации, подобной Гуглу.
А через некоторое время этот же программист начинает заявлять: «Perl — устарел. Очень неудобный язык, не подходит для веб-разработки»
Почему корпорации ненавидят Perl?