Сегодня старичёк Perl празднует своё 25-тилетие. Именно 18 декабря 1987 года программист (лингвист по образованию) Ларри Уолл выпустил первую версию Perl.
Как большой фанат этого языка (использую с 5.6, фанат с 5.10 ) я не смог обойти стороной это событие: четверть века за плечами — «жив курилка»!
История Perl
Небольшой обзор истории версий Perl (от Уолла):
- Использовался Уоллом для решения своих задач.
- Был представлен миру, и изменил синтаксис /\(…\|…\)/ на /(…|…)/. \(Dan Faigin до сих пор не простил Ларри. :-\) — нам остаётся догадываться о причинах обиды
- Добавлен пакет для регулярных выражений от Henry Spencer.
- Добавлена возможность работы с регулярными выражениями.
- Вышло первое издание «Camel book» (по сути — библии перловиков).
- Добавлено всё остальное, включая возможность добавить всё остальное.
И я абсолютно согласен с Уоллом: 5-ая версия — вершина динамических языков. Всё, что можно добавить в язык, можно добавить язык (на этот счёт даже доказана теорема: грамматика Perl неограничена!).
Что с Perl 6?
Кто хоть немного в курсе, что такое перл, могут спросить: «А что же 6-ая версия? Что с ней?». Спешу Вас успокоить: с 6-ой всё в порядке — это полигон для тестов нововведений 5-ой.
Многие реально полезные и, что зачастую важнее, красивые новшества приходят из 6-ой. К примеру, оператор given-when (очень умный swich-case) пришёл в 5.10 именно из 6-ой. Я же с нетерпением жду прихода take-gather — тоже очень крутой конструкции.
Так что язык стоит называть Perl5, ибо это и есть то, о чём в основном говорят!
Рождение, успех, апокалипсис, смерть и возрождение
Собака лает, караван идет.
— Восточная пословица.
Perl, как и многое другое в мире IT, родился из решения личных задач. В n-ый день Ларри Уолл поступил на работу в Unisys и в Лабораторию реактивного движения NASA (JPL). В рамках решения рабочих задач Ларри использовал и программировал под Unix. Неизвестно что, возможно, леность подтолкнула его к созданию инструмента, позволяющего упростить рабочий процесс (ведь известно, что легче потратить час на написание программы, чем за 5 минут всё сделать руками ).
Опять же не располагая фактами, предполагаю, что высокомерие заставило его опубликовать сей инструмент. Состоялось это 25 лет назад и назывался он pearl (Practical Extraction and Report Language — «практический язык для извлечения данных и составления отчётов»). Однако, язык pearl уже существовал, поэтому буква «a» была убрана из названия. Так и появился Perl.
Поначалу Perl использовался только Unix-администраторами для автоматизации своих задач. Это был удобный гибрид awk, sed и shell. Но «чем глубже в лес — тем больше дров» — в 1994-ом появился Perl5, который мог претендовать на роль языка общего назначения, позволявшего легко, без «лишних» знаний о модели памяти в компьютере и прочем, писать несложные программки — попса, короче говоря. А тут ещё и web начал развиваться… В общем, как и любой попсовый язык, появившийся «вовремя», Perl набрал огромную популярность.
Но время шло, и Ларри заскучал… Сами посудите: 4-ре версии языка (не считая 0-ой) пролетело за 7 лет, а одна 5-ая уже столько жила одна (1994 — 2001)! И нетерпимость сделала свой шаг: Ларри занялся 6-ой версией языка. И сделал это с размахом: опубликовал своё намерение с описанием того, что и как он собирается делать (звалось оно «апокалипсис»). Шумиха поднялась знатная! Да только сколько монахи с Ларри во главе не бились, не выходил «каменный цветочек».
Тем временем разработчики (а Ларри после 4-ой версии писал язык и интерпретатор не один) по инерции выпустили ещё одну версию Perl — 5.8 и стали ждать… Ждали они долго, но безрезультатно.
Приуныли добры молодцы, да лихо поганое не дремало: всё змий своих посылало, да препроцессоров гипертекстовых, камнями драгоценными манило.
В общем, 5 лет тишины и застоя дали о себе знать: появились другие языки новые, модные, красивые. И теперь им быть попсой, со всеми вытекающими последствиями.
Первой версией после застоя стал Perl 5.10, включавший в себя некоторые интересные новшества, что были в 6-ом придуманы. И, казавшийся мёртвым, Perl стал снова развиваться. И чем дальше — тем больше. Уже не было того ажиотажа, но те кто остались (по рейтингу tiobe — 2% от всех программистов), думаю, не пожалели: с версии 5.12 каждый год выходит новая, улучшенная версия, не ломая при этом совместимости.
Информационный сайт, который посвящен различным новостям и событиям
Сколько не пробовал писать на других языках, все равно всегда возвращаюсь на Perl
Он был первым скриптовым языком который я узнал, еще до массового распространения пхп, не говоря уже о питоне и руби.
Долгой жизни перл.
Первым скриптовым языком для меня был ECMAScript/JScript (не javascript, а его MS’овское подобие). Вообще, странно, что именно этот язык давали первокурсникам на первом семестре — язык переусложнённый, на мой взгляд. А вот во втором семестре был Perl, с тех пор его и использую — удобен, чертяка
Да и условностей там в разы меньше: достаточно принять именование/разыменование и можно легко работать с большими структурами данных. А CPAN — просто праздник! Особенно в последнее время: появились Pinto, cpanminus, metacpan и прочие прелести.