
1. Ключевые преимущества
1.1. Скорость разработки
1.2. Объём кода
1.3. More Fun
1.4. Фокусировка на языке задачи, а не на языке решения
2. Динамическая типизация
2.1. Тестирование против статичной типизации
2.1.1. 5000 модулей на CPAN связанных с тестированием
3. Готовые библиотеки
3.1. CPAN
3.1.1. 109000 модулей
3.1.2. 25000 дистрибутивов
3.1.3. 10000 авторов
3.1.4. Охвачены все сферы примения
4. Динамические возможности
4.1. Например...
4.1.1. Компиляция "на лету"
4.1.1.1. Создание модулей, классов, функций, переменных runtime
4.1.2. Операции с symbol table
4.1.2.1. Замыкания
4.1.3. Devel::Declare -- создание дополнительных синтаксических конструкций
4.2. В результате
4.2.1. Mechanism, not policy
4.2.2. можно делать ВСЁ
4.2.2.1. Например свой ОО
4.2.2.1.1. Moose
4.2.2.2. Например, продвинутый шаблонизатор (TT)
5. Доп. преимущества
5.1. Подходит для любых задач
5.1.1. Кроме вычислительных
5.1.2. Прекрасно подходит для web
5.1.2.1. Full-stack
5.1.3. Подходит для бизнес-логики
5.1.4. Один язык для всего
5.1.4.1. Web-приложения
5.1.4.2. Сетевые демоны
5.1.4.3. CRON-скрипты
5.2. Кросс-платформенность из коробки
5.3. Прекрасная поддержка unicode
5.4. Великолепно "Масштабируется"
5.4.1. Идеален для oneliners
5.4.2. Подходит для больших проектов
6. Крупные проекты
6.1. Yandex
6.2. Rambler
6.3. LiveJournal
6.4. Mail.ru
6.5. setup.ru
6.6. Регистраторы доменов
6.6.1. Rucenter
6.6.2. Reg.ru
6.6.3. Webnames
6.6.4. Masterhost
6.7. Мало новых больших/успешных проектов публично анонсирующих использование perl
7. Недостатки
7.1. Крутая кривая обучаемости
7.2. Много "исторического мусора"
7.2.1. Punctiation variables
7.2.2. Formats
7.3. Сопровождабельность кода
7.3.1. Требует самодисциплины и квалификации
7.3.1.1. Нужны стандарты кодирования
7.4. Не очень удачная мультитредовость
7.4.1. Зато прекрасная работа с асинхронным IO
7.4.1.1. POE
7.4.1.2. IO::Lambda
7.4.1.3. Coro
7.4.1.4. AnyEvent
7.4.1.5. IO::AIO
7.5. Любую фичу можно рассматривать как недостаток ;)
7.6. Неудобный поиск модулей на CPAN (их СЛИШКОМ много)
7.6.1. Бывает, трудно найти САМОЕ подходящее решение
7.6.2. Часть модулей устарела, не обновляется
7.7. Отсутствие удобоваримго дешёвого хостинга
7.7.1. Однако, есть VPS...
7.8. Не так удобно выкладывать на хостинг, как PHP
7.8.1. Дополнительно повышает "планку входа"
7.9. Большое количество информации о морально устаревших подходах
7.9.1. CGI.pm...
8. Ресурсы по теме
8.1. http://123.writeboard.com/470b8ce9d41307670
8.2. http://www.slideshare.net/aspushkin/perl-vs-java
8.3. http://www.perl.com/pub/a/1999/03/pm.html
9. Встроенные структуры данных
9.1. Очень просто обращаться
9.2. Прозрачная конвертация в/из JSON, YAML
9.3. Не нужны доп. библиотеки
9.3.1. Возможность писать на "голом" Perl
10. Производительность
10.1. Достаточная
10.1.1. По крайней мере для бизнес логики и web -- более чем
10.2. Критичные участки можно писать на C/C++ (XS)
10.2.1. XS сложен
10.2.1.1. Inline прост
11. Высокоуровневые возможности
11.1. Операции над списками
11.2. Цепочные конструкции
11.3. Regexps
12. Мультипарадигменность
12.1. ФП
12.1.1. "Higher Order Perl"
12.2. ООП
12.2.1. ООП можно делать "под себя" какое угодно
12.3. Процедурное
12.4. "Бесструктурное"
13. More Fun
13.1. TIMTOWTDI
13.1.1. "Mechanism not policy"
13.2. "Насыщенный" код
13.3. Perl hackers
13.4. Адекватное коммьюнити
13.5. DWIM
13.6. Obfuscations
14. Замечания по докладу
14.1. ЛЮБУЮ фичу можно рассматривать как преимущество, так и как недостаток
14.2. Невозможно быть 100% объективным, весь мир IT-технологий субъективен
14.3. Не хочу разводить holywar
14.4. Каждый использует то, что ему ближе
14.5. Хочу донести некоторые соображения, которые можно принять или не принимать
15. "Социальные" и экономичекие аспекты
15.1. Тяжело найти разработчиков
15.1.1. Высокий спрос на разработчиков т.к., много крупных проектов в своё время запущены на Perl и их нужно поддерживать
15.1.2. Мало новичков
15.1.2.1. Считают этот язык "устаревшим" и малопопулярным
15.2. Большинство разработчиков начали работать с языком достаточно давно
15.2.1. Высокий уровень профессионализма
15.2.2. Высокий ценник