8 8 8 8 8 8 8 8 8 8 8 8 8 8
8
8
|
|
Mini-FAQ по Perl (Частые вопросы, ЧаВо) - Программирование от RIN.RU
Mini-FAQ по Perl (Частые вопросы, ЧаВо)
Меня часто спрашивают, как я учил Perl - какие книги читал, какие сайты посещал и так далее. Многие считают, что Perl имеет сложный синтаксис, и потому не хотят или бояться его учить. В этом FAQ я хотел бы поделиться своим мнением относительно языка Perl.
Я слышал, что Perl - устаревший язык и сейчас на нем никто не пишет. Так ли это? Нет, не так. Perl используется системными администраторами (или просто продвинутыми пользователями) для автоматизации рутинной работы. Perl используется для создания веб-сайтов. Также на нем создаются обычные приложения, как и на любом другом языке программирования. Относительно возраста языка - Perl был создан в 1986 году и с тех пор активно развивался и изменялся. В настоящее время Perl поддерживает модульное и объектно-ориентированное программирование, регулярные выражения и т.д. - в общем, идет в ногу со временем. Объявления об имеющейся вакансии Perl-программиста появляются с большой частотой, при этом уровень заработной платы, как правило, ощутимо выше, чем у программистов на Си или Java. Впрочем, к моменту, когда вы будете читать эти строки, ситуация могла и измениться, так что лучше проведите собственное исследование в этом направлении.
Чем хорош Perl? Я бы выделил следующие преимущества Perl перед другими языками программирования: Программы, написанные на Perl (как и в случае с любым другим скриптовым языком), одинаково хорошо работают под разными операционными системами. Зачастую то, что на другом языке программирования (например, PHP) занимает десять строк кода может быть написано на Perl в одну строчку. Если перед вами стоит какая-то задача, загляните в CPAN. Скорее всего, кто-то уже решил ее. Вам остается лишь скачать модуль и прочитать документацию к нему.
Я слышал, что синтаксис Perl неописуемо сложен. Так ли это? Синтаксис Perl очень похож на синтаксис Java или PHP. Те же циклы, те же условные операторы и фигурные скобочки. Репутацию языка со сложным синтаксисом Perl совершенно незаслуженно получил за имеющиеся в нем операторы, которые, как уже отмечалось, позволяют писать более короткий код. Скажем, вы можете объявить массив слов так:
my @arr = ("aaa", "bbb", "ccc"); или более простым способом - без запятых и кавычек:
my @arr = qw/aaa bbb ccc/; Если вас интересуют конкретные примеры, особое внимание обратите на операторы grep и sort, подумайте, сколько кода занял бы аналогичный код на PHP.
С чего начать изучение Perl? Лично я учился на примерах. Вообще считаю этот способ самым простым и понятным. Вы можете без труда найти их тут. Если у вас возникнут вопросы относительно программирования на Perl, вы можете попросить совета на программерских форумах или в жж-сообществе ru_perl.
Я не хочу устанавливать UNIX только ради этого вашего Perl! И не надо - Perl портирован под Windows. Соответствующий проект называется ActivePerl, пользуйтесь на здоровье. Никаких кряков и кейгенов искать не нужно - программа бесплатная.
Уж больно все хорошо и замечательно. А как же ложка дегтя? Да, пожалуй она имеется, и даже не одна. Во-первых, в любом языке работает так называемый закон 'водяного матраца'. Если вкратце, он означает что язык может быть либо простым в изучении, но программы на нем будут состоять из большого числа строк (как в случае с PHP), либо сложным в изучении, но позволяющем писать меньше кода (это как раз наш случай). Во-вторых, Perl подходит не для всяких задач. Если от вас требуется написать программу, которая должна работать быстро (графический редактор, 3D игру), Perl вам не подойдет. Как и любой другой скриптовый язык. Аналогично я не стал бы писать на Perl драйверы. В-третьих, хоть Perl на мой взгляд и не сложен в изучении, но оно, это самое изучение, занимает больше времени, чем в случае с другим языком. Для сравнения, PHP я освоил буквально за пару ночей - переменные, циклы, классы - тут знать то нечего. Начать писать на Perl можно за тот же промежуток времени, но чтобы хорошо в нем разобраться, мне лично потребовалось несколько месяцев.
А минус за ненависть к PHP не желаете? PHP имеет свои преимущества, многие из которых вытекают из простоты его синтаксиса. Простой синтаксис, значит прост в изучении. Прост в изучении, значит больше комьюнити. Не стоит недооценивать PHP, ведь благодаря ему появились такие мощные CMS, как Drupal и Joomla. Аналогичных проектов на Perl мне не известно, если не считать аналога WordPress - Movable Type. Последний, к слову, пользуется большой популярностью за рубежом.
8 8 8
| |
|
|