Язык программирования Perl

Краткая справка

Perl - скриптовый язык программирования, разработанный бывшим лингвистом Ларри Уоллом в далеком 1987 году. До появления PHP был самым популярным языком для работы в интернете, на нем писались домашние странички, форумы, скрипты для учета посещаемости ресурсов и многое другое. Со временем веб-разработчики стали использовать языки с более простым синтаксисом, поэтому популярность Perl значительно упала, но интерес в среде программистов к нему не угасает до сих пор.

На сегодняшний день существуют две версии языка - Perl 5 и Perl 6. Шестая версия разрабатывалась с 2000 года, а релиз полноценного компилятора к ней вышел только в декабре 2016 года. В шестой версии применяется тот же принцип, что и в Java - при компиляции код программы преобразуется в байт-код, который запускается на виртуальной машине. Первым официальным символом Perl был верблюд, изображенный на обложке руководства по программированию на этом удивительно практичном и красивом языке. А вторым стала, как ни странно, яркая мультяшная бабочка. По словам самого Ларри, ему показалось, что так он может сделать Perl более заманчивым для маленьких детей. Это, разумеется, шутка потому, что современные дети не настолько глупы, чтобы попасться на эту удочку - они предпочтут продолжить свое беззаботное существование, рисуя в Unity примитивные стрелялки и платформеры.

Философия Perl

Когда Ларри Уолл создавал Perl, он хотел создать нечто среднее между низкоуровневыми и высокоуровневыми языками. Написать низкоуровневую программу достаточно тяжело и разобраться в коде другого программиста также будет непросто, но зато они работают быстро и обладают большими возможностями. С высокоуровневыми всё наоборот - их проще написать, но их возможности ограничены и  по скорости работы они будут уступать. Если провести аналогию с механической и автоматической коробкой передач в машине, то Perl будет неким полуавтоматом.

Поскольку Ларри в прошлом был лингвистом, то и язык у него получился куда более живым и близким к человеческой речи, чем остальные. Как и в любом другом языке, в Perl можно сокращать слова и выражения, “объяснить” компьютеру, что от него требуется, несколькими разными способами, как Вашему собеседнику. Отсюда и происходит главный девиз Perl : “Есть больше одной возможности сделать это”. Например, Вам потребовалось ввести список или массив, содержащий большое количество людей. В С++, Python или Java это может выглядеть как C[0] = “Иван”, C[1] = “Петя”, C[3] = “Даша” и.т.д. Или так - С = {‘Иван’, ‘Петя’, ‘Даша’}. Perl позволяет убрать лишние элементы, которые доставляют Вам неудобства - кавычки, скобки и.т.д. При этом программа будет работать точно так же (при этом не стоит забывать о некоторых нюансах использования такого синтаксиса).

Perl с самого начала был предназначен для работы с текстами, поэтому его возможности для обработки текстовых данных гораздо шире, чем у остальных языков. В Perl сначала использовались регулярные выражения (“регэкспы” или “регулярки” на сленге программистов) из UNIX. Затем для Perl была создана библиотека PCRE, которая сейчас применяется в PHP и большинстве современных языков. Поэтому Perl можно считать еще и прародителем всех современных регулярок.

Где применяется Perl

Данный язык часто применяется при системном администрировании устройств с ОС Linux, так как отлично подходит для написания небольших утилит. Также на нем можно с большим успехом работать и в вебе, ведь интернет, по большей части,представляет из себя текстовую информацию (например, html разметка). Поэтому сейчас на Perl можно также создавать сайты, парсеры, фильтры для электронной почты и.т.д. Из-за удобства работы с текстовыми данными его также используют в сфере биотехнологий для исследований и анализа генома.

Сложность обучения языку Perl

Perl считается одним из самых сложных языков для обучения, хотя и не всегда обоснованно. Сами perl-программисты говорят про него, что его просто использовать, но бывает трудно изучать. Например, даже очень большую программу Вы сможете сократить до нескольких строк, но зато придется потратить время на то, чтобы запомнить принятые в языке сокращения и условные обозначения.

Поскольку Perl на сегодняшний день не является “модным” языком, таким как, например Ruby или Swift, то по нему сложно будет найти нужную литературу или курсы. Большую часть информации по языку Вы можете найти в знаменитых книгах Lama Book(для новичков) и Camel Book(средний и продвинутый уровень), а также на официальном сайте сообщества Perl и форумах по этой тематике.

Плюсы/минусы Perl

Недостатки Perl - это некоторая сложность в его изучении, а также проблемы с поиском материалов для изучения и готовых решений в интернете, в отличие от PHP. CMS на Perl существуют, но известны не так, как WordPress или Joomla, поэтому не получили широкого распространения.

Из достоинств Perl стоит отметить его гибкость, универсальность и обширные возможности для обработки текстовых данных. В России вакансии для Perl-программистов встречаются довольно часто и зарплаты у них намного выше, чем у многих других айтишников потому, что знающих Perl не так то просто найти. Поэтому, если хотите высокую зарплату при отсутствии конкурентов, то можете смело отправлять заявку на должность Perl программиста в Yandex (Яндекс.Директ использует Perl), Mail.ru, Reg.ru и многие другие известные в России и за рубежом компании.

Сопутствующие технологии

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

ActivePerl - позволяет программировать на Perl в Windows, есть бесплатная версию.

Catalyst - веб-фреймворк на Perl, использующий концепцию MVC

Moose - расширение, упрощающее работу с ООП в Perl 5

Parrot - виртуальная машина, написанная на С и С++, которая используется в Perl 6 для выполнения байт-кода.