Шрифт:
Интервал:
Закладка:
Гуманные принципы, заложенные в язык Perl, нацелены на создание комфортной обстановки при разработке программ как для новичка, так и для опытного программиста. Одним из них стал принцип DWIM (Do What I Mean - "делай то, что я имею в виду"), в соответствии с которым в большинстве случаев исполняющая система Perl обеспечивает интуитивные ожидания автора программы без дополнительных уточнений с его стороны.
В языке Perl учтены многие психологические особенности программистов, в том числе даже программистская склонность "к экономии усилий". Например, более часто употребляемые конструкции языка записываются кратко, а редко используемые - длиннее. В этом заключается так называемый принцип "кодирования Хаффмана", название которого восходит к широко используемому методу сжатия данных битовыми последовательностями переменной длины, предложенному Дэвидом Хаффманом (D.A. Huffman).
Принцип "отсутствия встроенных ограничений", которому при всякой возможности следуют разработчики Perl, предполагает максимум свободы для программиста, например: длина имени переменной может достигать 252, в строках могут храниться любые двоичные данные, строка может занимать всю доступную память, объем используемой памяти ограничивается только ОС.
В следующих лекциях будут затронуты и другие принципы и положения философии Perl, а также проиллюстрированы уже упомянутые.
К настоящему времени в мире образовалось многочисленное международное сообщество программистов, пишущих на Perl (шутливо называемое Perlfolk - "народ Perl"). По всему миру созданы группы пользователей языка Perl. Некоторые (но далеко не все) из них зарегистрированы в списке на сайте www.pm.org. Развитию, продвижению и распространению языка Perl способствовало немало выдающихся программистов, среди них: Тим Банс (Tim Bunce), Грэхем Барр (Graham Barr), Малькольм Битти (Malcolm Beattie), Хуго Ван Дер Занден (Hugo van der Sanden), Илья Захаревич (Ilya Zakharevich), Ник Инг-Симмонс (Nick Ing-Simmons), Гурусами Сарати (Gurusamy Sarathy), Линкольн Штейн (Lincoln Stein) и многие другие, а также тысячи поклонников этого языка во всем мире. Большую поддержку языку Perl и всему движению программного обеспечения с открытыми исходниками (open source software) оказывает известный книжный издатель Тим О'Рейлли (Tim O'Reilly).
Энтузиастами из разных стран написано огромное число модулей, расширяющих возможности Perl, которые распространяются через "Всеобъемлющую сеть Perl-архивов" CPAN (Comprehensive Perl Archive Network). Это грандиозное собрание модулей начал Андреас Кениг (Andreas Kеnig), а сейчас координатором проекта выступает Яркко Хиетаниеми (Jarkko Hietaniemi). Модули в архиве CPAN хорошо документированы, снабжены проверочными тестами, их легко устанавливать и удобно использовать. Авторы модулей постоянно совершенствуют их, а в тестировании принимают участие тысячи добровольцев, так что качество исполнения весьма высокое. На сайте CPAN и его зеркалах хранится громадное количество модулей для решения самых разных задач: от работы с биологическими данными и музыкой в формате MP3 до утилит шифрования и интерфейсов к самым экзотическим базам данных. Самые популярные модули, такие как CGI.pm, включены в стандартную поставку системы программирования Perl.
Для языка Perl написана очень полная и подробная документация. Ее можно изучить через web-интерфейс на сайте www.perl.com/doc/. Она также поставляется вместе со всеми версиями Perl и доступна в диалоговом режиме через утилиту просмотра документации perldoc, входящую в состав дистрибутива Perl. Например, чтобы запросить оглавление документации по Perl, нужно выполнить команду
perldoc perl
О языке Perl написано много совершенно замечательных книг, среди них нужно особо выделить классические книги издательства O'Reilly с изображениями животных на обложке. Пожалуй, вот самые знаменитые книги из этой серии:
[x]. "Книга с ламой" ("the Llama Book"), в русском переводе "Изучаем Perl" - отличный учебник для начального знакомства с языком, написанный известным "Perl- проповедником" Рэндалом Шварцем (Randal L. Schwartz).
[x]. "Книга с верблюдом" ("the Camel Book"), в переводе на русский "Программирование на языке Perl" - подробное и всесторонее описание Perl и его философии, изложенное автором языка Ларри Уоллом.
[x]. "Книга с бараном" ("the Ram Book"), "Perl. Сборник рецептов" - внушительный сборник готовых решений на Perl для множества типичных задач, составленный разработчиками языка Томом Кристиансеном (Tom Christiansen) и Натаном Торгингтоном (Nathan Torkington).
Программистов, пишущих на Perl, объединяет не только любовь к этому языку, но и особый азартный и озорной дух сообщества разработчиков, которые умеют не только отлично работать, но и весело отдыхать. Веселый тон сообществу задает все тот же Ларри Уолл, известный шутник и балагур, который в официальной документации дает такое озорное определение языка: "На самом деле Perl обозначает Паталогически Эклектичный Распечатыватель Чепухи, но только не говорите никому, что это сказал я". И сам язык Perl тоже часто используется для развлечения. Например, существует состязание по созданию "стихов на Perl" - компилируемых Perl-программ, читаемых как осмысленное стихотворение на английском языке. Регулярно проводится Obfuscated Perl Contest - конкурс на самую туманную программу на Perl с использованием наиболее неудобочитаемых и запутанных конструкций языка. Есть также соревнование по написанию так называемых "однострочников" (one-liners) - полноценных и полезных программ на Perl, которые состоят из одной строки, обычно вводимой в качестве параметра при запуске интерпретатора Perl. Познакомиться с некоторыми полезными однострочниками можно, прочитав серию статей Бена Окопника (Ben Okopnik) для "Linux-газеты", выдержанных в детективном духе, в блестящем переводе Павла Соколова на сайте linux.ru.net.
Система программирования Perl стабильно развивается в течение многих лет: в 1988 году вышла версия 2.0, в 1989 году выпущена версия 3.0, в 1991 году - очередная версия 4.0. В 1994 году появилась версия 5.0, при подготовке которой язык был почти полностью переписан, в него были добавлены модули и возможности объектно-ориентированного программирования. На момент написания этого учебника последней рабочей версией Perl была 5.8.7. Сейчас основные работы по развитию языка выполняет группа примерно из 200 добровольных разработчиков из разных стран, называемых perl-porters. Текущий координатор Perl-проекта, ответственный за его развитие и сопровождение, шутливо называется pumpking (от pumpkin holder - "держатель тыквы"). Информация о состоянии разработки Perl доступна на сайте dev.perl.org. А руководит разработкой языка по-прежнему Ларри Уолл, носящий звание архитектора языка (language designer). Ежегодно на конференции Perl-разработчиков Ларри Уолл выступает с традиционной речью "The State of the Onion" ("Состояние луковицы"), в которой всегда образно и оригинально, с присущим ему юмором говорит о месте Perl среди современных технологий, о его состоянии и развитии.
В 2000 году на 4-й Конференции Perl-программистов по инициативе Джона Оруанта (Jon Orwant), редактора "The Perl Journal", было принято решение о разработке Perl 6 - полностью переработанной версии языка. Затем прошло широкое обсуждение многочисленных предложений пользователей Perl по его улучшению и развитию. Ларри Уолл подвел итоги этого обсуждения в серии посланий разработчикам (так называемых "апокалипсисов"), в которых были изложены основные проектные решения. После этого началась работа над новой версией. В ходе разработки язык полностью перепроектирован и переписывается "с нуля", в него добавлено множество новшеств и дополнений. Но при этом планируется обеспечить максимальную совместимость с большинством существующих Perl-программ. К разработке привлекаются многие программисты из сообщества Perl. Ларри Уолл говорит: "Perl 5 появился как результат переделки языка Perl мной. Я хочу, чтобы Perl 6 стал переделкой Perl со стороны сообщества и переделкой самого сообщества". Параллельно с разработкой 6-й версии языка создана и совершенствуется виртуальная машина Parrot, в среде которой выполняется Perl 6, но которая может использоваться для исполнения и других динамических языков программирования. Во главе разработки стоят известные Perl-программисты: главным разработчиком "внутренностей" нового языка является Дэн Сугальски (Dan Sugalski), Чип Зальценберг (Chip Salzenberg) - основной проектировщик Parrot, а менеджером проекта стала Эллисон Рэндал (Allison Randal). Важным промежуточным этапом при переходе на Perl 6 станет проект Ponie - версия Perl 5, исполняемая на Parrot.
Пользователи одной из ОС семейства Unix, скорее всего, будут пользоваться уже установленной системой программирования Perl, поставляемой с ОС. Но если Perl не установлен, то исходные тексты самой свежей версии всегда можно загрузить с сайта CPAN и скомпилировать, руководствуясь поставляемой подробной документацией. Готовые откомпилированные дистрибутивы Perl для самых разных операционных систем перечислены на сайте CPAN (www.cpan.org/ports/). Все, что нужно для установки Perl на компьютеры Apple, можно найти на сайте www.macperl.com. Для пользователей MS Windows можно порекомендовать удобный дистрибутив от компании ActiveState (www.activestate.com/Products/ActivePerl/) или комплект PXPerl (pixigreg.com/?pxperl), включающий в себя множество полезных библиотек, а также рабочие реализации Perl 6 и Parrot для тех, кто хочет ознакомиться с возможностями новой версии. Тем, кто намерен заниматься разработкой на Perl приложений для Интернета, можно посоветовать дистрибутив Perl в комплекте с сервером Apache и большинством необходимых модулей. Его можно загрузить с сайта perl.apache.org.
- Заставьте данные говорить. Как сделать бизнес-дашборд в Excel. Руководство по визуализации данных - Алексей Сергеевич Колоколов - Прочая околокомпьтерная литература / Менеджмент и кадры / Руководства
- Основы программирования на JavaScript - Марк Кан - Прочая околокомпьтерная литература
- Цифровой журнал «Компьютерра» № 4 - Компьютерра - Прочая околокомпьтерная литература
- Цифровой журнал «Компьютерра» № 173 - Коллектив Авторов - Прочая околокомпьтерная литература
- Интернет для ваших родителей - Александр Щербина - Прочая околокомпьтерная литература