LINUX.ORG.RU

Perl мертв. Да здравствует Perl!


0

0

JT Смит, президент Plain Black, создатель WebGUI, и однин из незамеченных, но успешно использующих Perl в бизнесе, недавно послал мне это эссе. Он дал мне(O'Reilly) разрешение издать это полностью здесь.

Каждый день, я задумываюсь о том, почему я пишу на Perl а не на PHP, Java, C#, Ruby, Python, или [подставте ваш любимый язык сюда]? Люди говорят что, "Perl не используется больше" или, "Рубин - рулез..."

Есть миллионы программистов Perl во всем мире. Perl 5 активно поддерживается, и Perl 6 находится в развитии. Больше чем 3000 Модулей Perl были выпущены в 2006г, и вдвое больше должны быть выпущены в этом году. Действительность состоит в том, что Perl является совсем не мертвым.

>>> Взято с сайта =>



Проверено: Shaman007 ()
Ответ на: комментарий от bormann

> Я скрипты пишу не для читателей, а для машины.

В таком случае, машинный код уделывает по читабельности все языки, включая Перл. :-)

eugine_kosenko ★★★
()
Ответ на: комментарий от stalkerg

> Да python форева... перл можно юзать только для чегонибудь мелкого.

Да будет Вам известно, что на Perl написано очень много весьма больших систем, например: SpamAssassin, Nagios, MRTG, OpenWebMail, 4Site, Bugzilla, TWiki... Это первое, что вспомнилось без Googlа!

mshock
()
Ответ на: комментарий от vilfred

>>> настоящий программист напишет видеоплеер на джаваскрипте. Настоящему прогеру язык не важен.

а следующим проектом будет реализация openssl на баше

anonymous
()
Ответ на: комментарий от roller

> Во первых при чем тут жабка? Слов других не знаем просто или чего?

По соотношению скорости/лёгкости написания кода/удобству обновления серверы на Java впереди планеты всей, или ты предлагаешь каждый раз проверять не отвалилось ли чего при нахождении красноглазыми хаккерами очередной критической уязвимости в перле? Или апачу вставлять mod_perl, который способен поставить раком полсистемы в случае чего?

> Во вторых отладь ка мне плиз многопоточное приложение на жабке. Ты пробовал отлаживать то на перле хоть 20-30 раз? Нет? А чего тогда УТВЕРЖДАЕШЬ?

Так где ошибка-то в моём утверждении? Свести всё к пиписькомерке много ума не нужно, знаешь ли, а вот написать лёгкую в поддержке и расширяемую систему на перле - таки потребует кратно больших затрат.

Gharik
()
Ответ на: комментарий от anonymous

> ПисАть надо НОРМАЛЬНО, тогда и отлаживать легко.

Средства языка Java и возможности Java-VM прекратно позволяют жить и с тем и с тем, в отличие от множества других сред и примочек.

Gharik
()
Ответ на: комментарий от vtVitus

> Хрень полная. Учить язык без _применения_ пустая трата времени

Однажды Гёте сказал примерно так: "Сколько иностранных языков ты знаешь, столько раз ты человек".

Применительно к программистской ПРОФЕССИИ можно сказать так: "Сколько языков программирования ты знаешь, столько раз ты программист". Зачем нужно учить языки: для расширения профессионального кругозора, для сравнения подходов (в т.ч., чтобы лучше понять свой любимый инструментарий), для заимствования идей, для развития мозгов и программистского чутья, для готовности работы в новых проектах... Продолжать?

А ещё почитайте книгу "Жемчужины программирования" - там много оригинальных решений, часто элегантно выполненных с учётом особенностей конкретных языков.

mshock
()
Ответ на: комментарий от mshock

Дядя, а может мозги прокачивать стоит, ага? А то сколько Пушкина не читай - стихов писать не научишься, да и после Сунь-Цзы тоже херня полная выходит. Вроде так получается?

Gharik
()
Ответ на: комментарий от Gharik

> Дядя, а может мозги прокачивать стоит, ага?

Изучения языков программирования этому весьма способствует. Кроме, возможно, brainfuck.

sv75 ★★★★★
()
Ответ на: комментарий от Gharik

> Дядя, а может мозги прокачивать стоит, ага? А то сколько Пушкина не читай - стихов писать не научишься, да и после Сунь-Цзы тоже херня полная выходит. Вроде так получается?

По Вашей логике: "После Денниса Ричи, Страустрапа, Дейкстры, Никласа Вирта, Ларри Уолла, Г.ВанРоссума и т.п. не стоит и начинать программировать?"

:-))))

mshock
()
Ответ на: комментарий от sv75

А то может в теории устройства этих языков дело? Знаю чувачка, который язык за 3-4 дня выучивает, а всего из знает за два десятка. А ты предлагаешь компаративной лингвистикой какой-то заниматься, да прочим самокопанием, вместо прямого использования мозгов для реализации алгоритмов.

Луговского почитай, уверен у него аргументация доходчивей будет ;)

Gharik
()
Ответ на: комментарий от mshock

>>> По Вашей логике: "После Денниса Ричи, Страустрапа, Дейкстры, Никласа Вирта, Ларри Уолла, Г.ВанРоссума и т.п. не стоит и начинать программировать?

естессно, после таких великих людей генерить свой жалкий и бредовый код, результатом которого станет апофеоз действа "убей сибя апстену"

anonymous
()
Ответ на: комментарий от annonymous

> А как в перле обходятся без static переменных? Правильно, через это место...

как всегда в перле есть много способов... Я использую замыкания например. В питоне вроде тоже их добавлили (не из Перла случаем ?)

anonymous
()
Ответ на: комментарий от mshock

> По Вашей логике: "После Денниса Ричи, Страустрапа, Дейкстры, Никласа Вирта, Ларри Уолла, Г.ВанРоссума и т.п. не стоит и начинать программировать?"
> :-))))

Где-то между прочтением моего поста и написанием Вашего закралась небольшая ошибочка...

Gharik
()
Ответ на: комментарий от Gharik

> А то может в теории устройства этих языков дело? Знаю чувачка, который язык за 3-4 дня выучивает, а всего из знает за два десятка. А ты предлагаешь компаративной лингвистикой какой-то заниматься, да прочим самокопанием, вместо прямого использования мозгов для реализации алгоритмов.

за 3-4 дня новый язык выучивает? если провести аналогию...хм, помню, было дело. те фразы, которые я выучил были типа "мазафака, сак май дик"

anonymous
()
Ответ на: комментарий от Whoo

Король __умер__, а не мёртв. Учите классику.

anonymous
()
Ответ на: комментарий от anonymous

> как всегда в перле есть много способов... Я использую замыкания например. В питоне вроде тоже их добавлили (не из Перла случаем ?)

из перла. а я не использую замыкания, а использую гон в этом случае

anonymous
()
Ответ на: комментарий от annonymous

> Аргументы автора статьи очень слабые.

А местами — просто вызывают смех. Обработку XML он приписывает к текстовым задачам! Не любитель XML, но это уже идиотизм, так и видишь этих кретинов, которые парсят XML регулярными выражениями и обрабатывают своей перловкой. А если есть нормальные люди, которые пользуются библиотеками, как и во всех других языках, то им уже нельзя кричать про засилье текстовых задач, иначе получится, что даже от единственного декларированного преимущества перла остается пшик.

anonymous
()
Ответ на: комментарий от sv75

Когда на лоре ругают перл - замечаю всегда две вещи: ругают в первую очередь синтаксис (главные аргументы типа "ни асилил", "сложно", "надо принимать наркотики, спирт не помогает", етс). а так же сложность поддержки проекта (мотивируя первой причиной).

Почему то не приводят конкретную задачу под что выбирается язык, и складывается ощущение что тут в основном тусят какие то недобыдломенеджеры а не кодеры даже, ибо крайне популярен лозунг "мне некогда учить язык, мне надо пЕсать сейчас", видимо проектировать им тоже некогда, прежде чем писать на чем либо, результат мы все видим в виде современного ит - куда ни плюнь, кругом полно некомпетентного говна которое порождает хаос и анархию, апокалипсис грядет, конец близок.

А перл уже не умрет, он канонизирован еще при жизни, говорить что перл мертв - это примерно так же ежели утверждать что мертв с, или лисп, скорее аудитория его приблизилась к той точке от которой она может и не расти дальше вширь, по причине того суммарный интеллект обитателей нашей планеты есть константа, а население растет и растет %)

anonizmus
()
Ответ на: комментарий от Gharik

> ты предлагаешь компаративной лингвистикой какой-то заниматься, да прочим самокопанием, вместо прямого использования мозгов для реализации алгоритмов.

Я предлагаю (и не только Вам) в свободное от программирования время самообразовываться, в том числе изучая языки (или хотя бы знакомясь с ними), от чего будет польза и при написании кода.

А за 3-4 дня язык выучить, конечно, невозможно. Начав, можно совершенствоваться в ЛЮБОМ языке всю жизнь. ;-)

mshock
()
Ответ на: комментарий от anonymous

> за 3-4 дня новый язык выучивает? если провести аналогию...хм, помню, было дело. те фразы, которые я выучил были типа "мазафака, сак май дик"

Дык вот тебе и понятие "мастер", за год ты научишься по логике предложивших "программистов" просто писать фразы посложней. А тому пареньку было похер, сущность алгоритмов оставалась без изменений, а уж на чём их было писать - было глубоко похер.

Gharik
()
Ответ на: комментарий от anonizmus

Кстати, программист должен уметь решать сложные задачи, а если он не в состоянии выучить базис языка одного (перла) мотивируя это тем что у него жуткий синтаксис - гнать его надо нахер, он ничего путного не напишет и на питоне, и на руби, и на жабе.

Я хренею вообще, язык для них слишком сложный... А как это быдло вообще какой-либо более/менее серьезный проект собралось проектировать и писать ???

anonizmus
()
Ответ на: комментарий от mshock

> А за 3-4 дня язык выучить, конечно, невозможно. Начав, можно совершенствоваться в ЛЮБОМ языке всю жизнь. ;-)

Любое разумное существо вида "хомо" на планете "Земля" может найти тучу отмазок для невыполнения абсолютного любого своего действия, только вот имеет ли оно после этого право именовать себя разумным?

И чего, цикл for, схематично накарябанный на бумажке, прямо уж так круто изменится при переходе с asm на java? Типа "Год! И никаких гвоздей! на совершенствование!"? ;)

Gharik
()
Ответ на: комментарий от Gharik

> Любое разумное существо вида "хомо" на планете "Земля" может найти тучу отмазок

"И чего, путь до города, схематично накарябанный на бумажке, прямо уж так круто изменится при переходе с телеги на автомобиль?

mshock
()
Ответ на: комментарий от anonymous

> Я использую замыкания например. В питоне вроде тоже их добавлили (не из Перла случаем ?)

Смешной вы и малограмотный народец. Все эти и многие другие фичи ваши игрушечные языки тащат (в большей и меньшей степени удачно) из лиспа. Только в лиспе они существовали уже давно, и лисп умудряется реализовывать их все не в тормозных интерпретаторах, а с оптимизирующей компиляцией в машинный код (после чего становится смешно, когда начинают меряться скоростью: "питон тормозит всего в 1000 раз по сравнению с С, а перл в 2000" - бугага-с.

anonymous
()
Ответ на: комментарий от anonizmus

> Я хренею вообще, язык для них слишком сложный... А как это быдло вообще какой-либо более/менее серьезный проект собралось проектировать и писать ???

Не, ну само собой. Настоящий программист даже любовью должен заниматься стоя на лыжах и в гамаке.

eugine_kosenko ★★★
()
Ответ на: комментарий от anonizmus

> Я хренею вообще, язык для них слишком сложный... А как это быдло вообще какой-либо более/менее серьезный проект собралось проектировать и писать ???

По такой логике ты должен согласиться, если тебе предложат "серьезный проект" на brainfuck писать. Сочтешь это достаточно обоснованным решением? В конце концов, серьезный программист, конечно же, может овладеть brainfuck, так почему бы и не писать на нем?... Перл — это тот же brainfuck, только автор его, почему-то, воспринимает серьезно. Может, конечно, это он так издевается, и тащится от того, что мир подхватил его версию brainfuck и строчит на нем да фанатеет...

anonymous
()
Ответ на: комментарий от bormann

> Я скрипты пишу не для читателей, а для машины.

Господа туристы, если мы посмотрим на этот экспонат, можем увидеть типичный пример быдлокодера :)

ps не позорился бы, или чукча таки писатель, а не читатель :)

defmacro
()
Ответ на: комментарий от anonymous

>Обработку XML он приписывает к текстовым задачам! Не любитель XML, но это уже идиотизм, так и видишь этих кретинов, которые парсят XML регулярными выражениями и обрабатывают своей перловкой. А если есть нормальные люди, которые пользуются библиотеками, как и во всех других языках

А библиотеки эти как XML обрабатывают? Проектируя ауру в астрал?

Xellos ★★★★★
()
Ответ на: комментарий от Gharik

>Любое разумное существо вида "хомо" на планете "Земля" может найти тучу отмазок для невыполнения абсолютного любого своего действия

В том числе - изучения синтаксиса Perl.

Xellos ★★★★★
()
Ответ на: комментарий от Gharik

> А ты предлагаешь компаративной лингвистикой какой-то заниматься, да прочим самокопанием, вместо прямого использования мозгов для реализации алгоритмов.

Да, предлагаю. Это по ощущения полезно в разумных дозах. А что?

sv75 ★★★★★
()
Ответ на: комментарий от anonizmus

> Кстати, программист должен уметь решать сложные задачи, а если он не в состоянии выучить базис языка одного (перла) мотивируя это тем что у него жуткий синтаксис - гнать его надо нахер, он ничего путного не напишет и на питоне, и на руби, и на жабе.

Вот именно, программист должен уметь решать сложные задачи предметной области, а не бороться с извратами языка. Героически преодолевать трудности на пустом месте - это натуральное пионерство.

> Я хренею вообще, язык для них слишком сложный... А как это быдло вообще какой-либо более/менее серьезный проект собралось проектировать и писать

Зачем усложнять себе жизнь, объясни? Зачем добавлять к сложности алгоритмов ещё и сложность языка, если это не принесёт никакой выгоды. Ладно бы Перл был на порядок быстрее в своём классе или обладал какими-либо уникальными особенностями. Но ведь это не так.

Hjorn
()
Ответ на: комментарий от mshock

> И чего, путь до города, схематично накарябанный на бумажке, прямо уж так круто изменится при переходе с телеги на автомобиль?

Дык ведь сам видишь как фигово с логикой не дружить, разве нет? Скажи ты "при переходе с мерина на джип" - я бы и слова поперёк не сказал, а тут из принципа ткну: чего, программера вместе с переходом на другой язык и за другую машину сажают? С набором команд от PDP и мега-эргономичной клавой с 7-ю кнопками (типа 128 комбинаций полностью эмулируют стандартные)?

Gharik
()
Ответ на: комментарий от sv75

> Да, предлагаю. Это по ощущения полезно в разумных дозах. А что?

Так сразу бы и писал, что "в разумных", кому-то, как видишь, несколько дней требуется, а для кого-то и год на "осиляторство" сущей фигни уходит ;)

ИМХО (то самое) - разобраться в __языке__ - говно вопрос, куда гиморней разбираться в стандартных и нестандартных библиотеках, особо в нынешних мега-языках, что сами себе швецы, жнецы и на дуде игрецы, и разве что линуксового ядра в своём составе не имеют. И заниматься такой хернёй на неоплачиваемой основе и без веских доводов с перспективами народу люто вломы, в чём я оных и поддерживаю.

Gharik
()
Ответ на: комментарий от Hjorn

> Зачем усложнять себе жизнь, объясни? Зачем добавлять к сложности алгоритмов ещё и сложность языка, если это не принесёт никакой выгоды. Ладно бы Перл был на порядок быстрее в своём классе или обладал какими-либо уникальными особенностями. Но ведь это не так.

Ты знаешь, иногда достаточно того, что перл есть практически везде, притом - "по умолчанию" и одинаково работающий со своими расширениями (хвала Си) чуть ли не на любой посиксовой платформе ;)

А уж какую радость составляют проекты на CPAN, где разве что перловая скриптизация КДЕ отсутствует - это ж словами не описать.

Gharik
()
Ответ на: комментарий от Gharik

> Дык ведь сам видишь как фигово с логикой не дружить, разве нет?

Полностью с Вами согласен, с логикой Вы не дружите совсем, то есть абсолютно. Только с хером. Им и пишете, видимо....

mshock
()
Ответ на: комментарий от Xellos

> А библиотеки эти как XML обрабатывают? Проектируя ауру в астрал?

Созданием древовидных и более сложных структур. Точно так же как и в любых других языках. К линейному тексту, на "заточенность" под который претендует перл это не имеет малейшего отношения. Да и текст там, даже где он есть, совсем не такой простой. Юникод, entities, CDATA... А проповедники перла пытаются создать впечатление, что "мы привели пример, как сделать подстановку в строке, а XML - тоже текст, так что пример приводить мы не будем, но у вас должно создаться впечатление, что если понадобится, мы быстренько напишем регулярное выражение и весь ваш XML обработаем". Регулярным выражением XML даже на well-formedness не проверишь. Вот о чем и речь, что никакие особые "текстовые удобства" перла ни к чему серьезному на деле неприменимы.

anonymous
()
Ответ на: комментарий от Hjorn

>Ладно бы Перл был на порядок быстрее в своём классе или обладал какими-либо уникальными особенностями. Но ведь это не так.

Советую для начала хотя бы просмотреть например книжку "Разработка сетевых программ на Perl" Линкольна Д. Штайна.

Он просто удобен. Сложность вы сами себе придумываете. Удобен для быстрого кодинга сетевого и для обработки/парсинга текста (а это очень широкий круг задач, включая различные автоматизации, етс).

anonizmus
()
Ответ на: комментарий от Gharik

> чего, программера вместе с переходом на другой язык и за другую машину сажают?

Вообще-то, любой язык программирования и есть некая виртуальная машина, для которой и пишет программист. Если доводить дело до абсурда, то все они, конечно, Тьюринг-эквивалентны, но это лишь в теории, на практике никто, почему-то, для Тьюринг-машин не пишет.

anonymous
()
Ответ на: комментарий от anonymous

>Вот о чем и речь, что никакие особые "текстовые удобства" перла ни к чему серьезному на деле неприменимы.

Да да, а мыши до сих пор продолжают колоццо и жрать кактус %) Наверное они мазохисты, ага %)

anonizmus
()
Ответ на: комментарий от anonizmus

> >Вот о чем и речь, что никакие особые "текстовые удобства" перла ни к чему серьезному на деле неприменимы.

> Да да, а мыши до сих пор продолжают колоццо и жрать кактус %) Наверное они мазохисты, ага %)

Просто тупые, верящие маркетингу пятнадцатилетний давности, срок годности которого давно истек. Ваш аргумент из серии "миллионы мух не могут ошибаться".

anonymous
()
Ответ на: комментарий от anonymous

> Вообще-то, любой язык программирования и есть некая виртуальная машина, для которой и пишет программист. Если доводить дело до абсурда, то все они, конечно, Тьюринг-эквивалентны, но это лишь в теории, на практике никто, почему-то, для Тьюринг-машин не пишет.

Ещё бы статистику собрали, сколько "программистов" из знающих пару-тройку языков знают, кто такой Тьюринг и чего он такое напридумывал.

Gharik
()
Ответ на: комментарий от mshock

> Полностью с Вами согласен, с логикой Вы не дружите совсем, то есть абсолютно. Только с хером. Им и пишете, видимо....

А труЪ-программеры, бедолаги, с оным совсем не дружат чтоль? :)

Gharik
()
Ответ на: комментарий от annonymous

>А как в перле обходятся без static переменных? Правильно, через это место...

в перле есть closure, классическим образом работающие

:)

xargs ★★★
()
Ответ на: комментарий от Gharik

> Ещё бы статистику собрали, сколько "программистов" из знающих пару-тройку языков знают, кто такой Тьюринг и чего он такое напридумывал.

Да, над такой статистикой останется только облиться слезами...

(Ну что же вы так... Прямо все настроение испортили :( )

anonymous
()
Ответ на: комментарий от anonymous

>в перле, к сожалению, все переменные по умолчанию static :)

что за глупость?

xargs ★★★
()
Ответ на: комментарий от Gharik

>> Во первых при чем тут жабка? Слов других не знаем просто или чего?

> По соотношению скорости/лёгкости написания кода/удобству обновления серверы на Java впереди планеты всей, или ты предлагаешь каждый раз проверять не отвалилось ли чего при нахождении красноглазыми хаккерами очередной критической уязвимости в перле? Или апачу вставлять mod_perl, который способен поставить раком полсистемы в случае чего?

Вы читать мой пост пробовали? ЛОР был упомянут как приложение работающее в 90% с текстом. Про ПЕРЛ, кстати, в этом утверждении не было ни слово. А вы жабу всунули с какого то ...

Можно подробнее про критические уязвимости в перле скажем за последние 5 лет. И рядом аналогичный список для божественной жабы. И при чем тут mod_perl интерестно? Мы обсуждаем совсем другое. У меня java plugin часто вешает браузер нафиг, но я же не утверждаю что это проблема жабы как языка? Вы опять сьехали непонятно куда.

>> Во вторых отладь ка мне плиз многопоточное приложение на жабке. Ты пробовал отлаживать то на перле хоть 20-30 раз? Нет? А чего тогда УТВЕРЖДАЕШЬ?

>Так где ошибка-то в моём утверждении? Свести всё к пиписькомерке много ума не нужно, знаешь ли, а вот написать лёгкую в поддержке и расширяемую систему на перле - таки потребует кратно больших затрат.

Вы именно и пытаетесь письку свою выставить, но отказываетесь рассмотреть чужую. Я задал вам вопрос пробовали вы отладить несколько десятков раз перл приложение чтобы сравнить? Конечно нет, но где-то вы читали что кто-то оборонил что это вроде сложно в перле и легко в жабе.

И опять же, чего вы сравниваете мерседес с боингом? На боинге в соседнюю деревню вы не полетите. На мерседесе не поедете на другой континент. Ява - это не скриптовый язык, и сравнивать ее со скриптами - бесполезно. Когда выйдет паррот - можете начинать сравнивать.

А легкая и расширяемая система - это не от языка зависит совершенно, а от архитектора.

roller ★★★
()
Ответ на: комментарий от anonymous

> кто такой Тьюринг и чего он такое напридумывал

"Штирлиц выглянул в окно. За окном шла рота красноармейцев и стояла машина Тьюринга"

mshock
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.