Perl — это язык программирования, который создали специально для обработки текста. Со временем он расширился и стал использоваться в большем количестве сфер. С помощью Perl можно «соединять» между собой программы, написанные на разных языках.
Язык программирования Perl появился в 80-х. Его автор по образованию был лингвистом. В последние годы язык не на слуху: многие начинающие разработчики не в курсе о его существовании, но он все равно остается важной технологией.
Название Perl иногда расшифровывают как Practical Extraction and Report Language — язык для практического извлечения данных и составления отчетов. Хотя существует несколько версий происхождения названия: от слова pearl («жемчужина») или от имени невесты создателя. По-русски название звучит как «перл».
Первая версия Perl 1 вышла в 1987 году, а актуальная версия языка на момент написания статьи — Perl 5.38.0.
Что такое Perl
Этот язык программирования — высокоуровневый, то есть работает с понятиями, близкими человеку. Он интерпретируемый: программы не компилируются целиком перед запуском, а исполняются построчно с помощью интерпретатора Perl. Благодаря этому язык может работать с разными платформами и операционными системами.
По синтаксису Perl похож на язык C и одновременно с этим — на Shell, оболочку для командной строки операционных систем Unix и Linux. Оба этих языка довольно специфичные, а сам Perl позаимствовал многое у естественных человеческих языков, поэтому он не похож на другие языки программирования. Perl довольно сложен в изучении для новичков, но зато у него есть много интересных возможностей.
Perl умеет работать с данными независимо от того, в каком виде они пришли, поддерживает регулярные выражения и несколько парадигм программирования. Одну и ту же задачу в нем можно выполнить разными способами.
Для чего нужен Perl
Этот язык иногда называют скотчем для интернета. С его помощью можно собрать воедино программы на разных языках, потому что Perl умеет мощно и гибко работать с данными и операционной системой. Например, с Perl можно быстро перевести результат работы одной программы в формат, понятный другой.
На практике Perl используют для нескольких целей:
- системного программирования — благодаря гибкой работе с ОС язык хорошо подходит, чтобы автоматизировать действия в операционной системе, а еще помогает администрировать компьютерные сети и системы;
- скриптов для связи между компонентами — например, двумя программами или сервером и клиентом;
- работы с текстом и символьными данными — это изначальное назначение Perl, и он до сих пор отлично подходит для обработки текстовой информации;
- поддержки legacy-кода — старого кода, который не сочетается с новыми технологиями, поэтому для его поддержки нужно пользоваться старыми языками.
Программирование на Perl встречалось в любых сферах: от веба до биоинформатики. Сейчас он сдал позиции, а его ниша во многом перешла к более современному Python. Новые проекты на Perl встретить почти невозможно, но в старых программах его по-прежнему много.
Принципы Perl
Создатель языка Perl Ларри Уолл придерживался нескольких принципов, на которых и построен язык.
- TMTOWTDI, или There’s more than one way to do it. Переводится как «существует больше одного способа это сделать» и отражает одну из главных особенностей Perl — многообразие решений для одной и той же задачи.
- Easy things should be easy and hard things should be possible — «простые вещи должны быть простыми, а сложные вещи должны быть возможными». То есть, язык должен не усложнять простое, но давать возможность сделать что-то сложное.
- Три главных добродетели разработчика — лень, нетерпеливость и самомнение. Так считал создатель Perl, поэтому создал язык, который отвечает этой идее.
Еще один принцип Perl, который отличает его от большинства языков программирования, — неоднозначность. Значение той или иной конструкции в нем может зависеть от контекста, а это противоположно строго формальному подходу к языкам программирования. Кажется, будто такой подход делает язык неудобным, но фактически это ближе к особенностям человеческого мышления.
Особенности Perl
- Кроссплатформенность. Perl по умолчанию поставляется вместе с UNIX и Linux-системами. Но поддержка языка есть и в Windows, и еще во многих ОС — всего Perl поддерживается более чем на 100 платформах.
- Возможность работы с большими массивами данных и сложными структурами. С помощью Perl можно обрабатывать почти любую информацию, и он способен сам определить тип данных.
- Многообразие и ситуативная неоднозначность. С Perl можно работать в разных парадигмах программирования, он допускает разные способы решения одной и той же задачи. В нем ограниченное количество конструкций, зато разные способы их применения.
- Сходство с естественными языками. Языки, на которых разговаривают люди, — в меру многословные и избыточные, но поэтому гибкие. Можно сказать одну и ту же вещь деловым языком, разговорной речью или в формате шутки. Perl такой же. Он учитывает, что разработчики — разные, и дает каждому возможность «высказаться» по-своему.
Преимущества Perl
Надежный и хорошо работающий код. Старый код на Perl может работать без сбоев до сих пор, потому что программы на нем надежные и предсказуемые. Кстати, это причина, почему проектов на Perl до сих пор хватает, хотя поддержка языка хуже, чем раньше.
Разнообразие подходов. Perl — мощный и гибкий язык. Вся его философия говорит, что решить какую-то задачу можно несколькими способами. А еще он подходит для огромного количества задач, как простых, так и сложных. Perl очень практичный: одним языком можно закрыть сразу несколько потребностей разработчика.
Поддержка регулярных выражений. Многие языки программирования могут читать регулярные выражения, но мало какие способны на это в той же мере, что и Perl. Он поддерживает их полностью. Весь скрипт может состоять из регулярных выражений и со стороны выглядеть как странный набор символов, а Perl поймет это и выполнит. Регулярные выражения очень важны для обработки данных, поиска нужной информации, парсинга и других подобных действий.
Мощная работа с данными. В первую очередь с символьными, то есть строками и текстом, но не только. Для Perl не имеет значения, в каком виде к нему пришла информация: благодаря регулярным выражениям и инструментам для работы с данными он сможет «вытащить» нужные сведения и преобразовать в необходимый вид. Поэтому его и используют для связи между компонентами.
Скорость. Perl задумывался как язык, который по скорости может сравниться с нативными Unix-утилитами. Сейчас сложно сказать, насколько он достиг этой цели, но работает быстро. Поэтому его используют в том числе чтобы создавать скрипты с хорошим быстродействием.
Недостатки Perl
Неочевидность. Одно из главных достоинств Perl — это одновременно и минус. В современной разработке важно, чтобы код был очевидным для сторонних разработчиков. А с Perl не получится просто взглянуть на программу и понять, что она делает. Даже примеры кода на Perl могут отпугнуть. Так вышло из-за той самой ситуативной неоднозначности, когда смысл конструкции зависит от ее контекста. А еще из-за обилия регулярных выражений.
Высокий порог входа. Еще один минус — Perl сложен для новичков. Во многом из-за той самой неочевидности его не советуют изучать первым языком. Понять его может быть сложно даже действующим разработчикам, которые начинали с более современных языков.
Низкая востребованность. Новых проектов на Perl почти нет, а команды для старых обычно набраны и редко меняются. Поэтому найти вакансию, где нужно программировать на Perl, довольно сложно. Вакансий для новичков почти нет, ищут опытных разработчиков. Часто это люди, которые начинали IT-карьеру еще в годы расцвета Perl и поэтому успели активно с ним поработать.
Отсутствие активного комьюнити. Разработчики говорят, что Perl умер — к сожалению, доля истины в этом есть. Дело в том, что язык практически не обновляется. Существующие библиотеки почти не развиваются, новых не выходит, а количество энтузиастов становится все меньше. А если нет развития — нет и поддержки новых технологий, которые в IT появляются постоянно. Но действующему разработчику язык все еще может пригодиться, в том числе в реальных проектах.
Как начать изучать Perl
Perl не рекомендуют изучать как первый язык программирования: он слишком специфичный и непохожий на другие, а еще довольно сложный в понимании. Чтобы в нем разобраться, желательно уже иметь опыт работы с C-подобными языками и шелл-скриптами, а еще понимать регулярные выражения. К тому же у языка нет активного русскоязычного сообщества, и это может дополнительно усложнить изучение.
Но нет ничего невозможного. Изучать основы Perl можно по книгам и статьям для разработчиков разных уровней. А еще он отлично подходит как второй или третий язык программирования, который поможет быстро и эффективно связывать между собой проекты на разных языках.
0 комментариев