Эта «статья» (язык не поворачивается называть это новостью ;] ) полностью посвящена истории perl. Я попытаюсь рассказать о его прошлом, настоящем и будущем.
[anonsend]
В далёком 1986 году, один «ленивый» программист, мягко говоря устал от повседневных однотипных задач, на выполнение которых уходило достаточно много времени. Основой его работой была обработка данных и составление отчётов в среде Unix. А так как работа эта ни вызывала у него ничего кроме уныния, он решил хоть как-то автоматизировать свою работу. Имя этому программисту Лари Уолл (Larry Wall).
Первая версия perl – perl0, Лари представил своим коллегам по работе в 86 году. На тот момент, как говорит сам автор, язык умел уже многое – в нём появилась концепция регулярных выражений, форматирование, работа с файлами и ещё чуть-чуть :)
Вторая, а для всего мира первая, версия perl – perl1 была представлена всему миру 18 декабря 1987 года. Уже тогда, это был прорыв: это был язык способный обрабатывать файлы, доставать из них нужную информацию, делать вычисления и создавать форматированные отчёты готовые к распечатке.
Буквально за полгода Лари написал perl2 и явил её миру 8 июля 1988 года. За полгода было исправлено огромное количество ошибок, количество кода выросло на треть: с 212 до 309 килобайт. Тогда исходный код умещался всего в 29 файлах + 3 файла библиотек.
Почти через полтора года, 18 октября 1989 года, выходит релиз perl3. Главное нововведение – это подпрограммы. На конец-то программист мог уйти от множественных операторов goto и создавать нормальный структурированный код. Размер дистрибутива возрастает почти вдвое до 500кб. Третья ветка завершается последней версией 3.0044 выпущенной 12 января 1991 года.
Через два месяца, 21 марта 1991 года, в свет выходит perl4. Эта ветка, является переходным перидом, когда язык становился таким, каким он сейчас есть. Уже к версии 4.019 perl4 был признан стабильным языком, а к 4.036, последней версии этой ветки, он был признан полностью стабильным. Но уже в это время появился perl5.Первая его версия (5.000alpha1) появилась в июле 93 года. Она ознаменовала начало новой эпохи как языка, так и информационных технологий в целом.
Пятая ветка это предпоследняя это самая долгая и самая известная ветка этого языка. Её история закончится, по словам Лари, с выходом perl6, который будет совершенно непохожим на всё ранее существовавшее. Сейчас последней версией является 5.8.7, вышедшая 6 июня.
За время её существования язык претерпел огромное количество изменений: в нём появились ссылки, потом классы, его начали использовать для CGI программирования (до последнего времени perl был defacto для веб разрабток), он стал доступен на всех существующих платформах, появился mod_perl, появился cpan (Comprehensive Perl Archive Network). Сейчас perl, стал менее популярным, но всё также надёжным и верным другом многих программистов. С одной стороны его теснит php, с другой напирает Java. Честно скажу, мягко говоря, php мне не нравится. На это есть то причины, и не только у меня, google и яндекс тоже почему-то выбирают perl, а не php для своих проектов. Это дело принципа я считаю.
Кстати, о принципах, такая загадочная аббревиатура как TIMTOWTDI – является лозунгом языка perl. There Is More Than One Way To Do It (Есть не один способ сделать это). Это предложение является как жизненным принципом Лари Уолла, так и частью идеалогии Perl. На самом деле, perl даёт программисту свободу выбора. Работая над самой тривиальной задачей, вы всегда можете решить её несколькими путям. Зайдите на любой форум, где обитают матёрые Perl программисты, дайте им кусок кода и поверьте, сколько человек будет принимать участия в дискуссии, столько будет вариантов. Словом, каждый сможет найти самый удобный для себя вариант (или самый лучший для решения конкретной задачи).
Кстати, уже в скором времени, на смену perl5 грядёт perl6. О том что это будет, говорят многие. Знающие люди (Том Кристианс например), предрекают что perl6 станет одним из самых универсальных языков из когда либо существовавших. Что perl6 представляет собой сейчас и что, по мнению Лари, он будет представлять к моменту его выхода, я постараюсь рассказать в следующий раз.
p.s.
Я убедительно прошу сообщать о неточностях и ошибках в данной статье.
Также, прошу не публиковать где-либо эту статью без моего согласия, а просто указывать ссылку на этот док.