Слухи о смене названия для Perl 6, похоже, были правильными — или это так? Perl 6, вероятно, мог бы войти в историю как самый запутанный язык всех времен.
Perl был первоначально разработан Ларри Уоллом в 1987 году как язык сценариев, но он быстро приобрел более широкую базу пользователей. Для тех, кто не входит в сообщество Perl, это странный язык-простой в использовании, но содержащий так много синтаксических «виджетов», что он может быть написан в очень сжатой форме. Действительно, однострочники Perl-отличный вид спорта или времяпрепровождения, который превосходит только спорт «что делает эта программа Perl!?»
Вы можете увидеть, какую позицию занимал Perl в этом знаменитом мультфильме xkcd — и помните, что Lisp-это язык, который мы все хотели бы использовать:
Больше мультяшного веселья в xkcd веб-комикс о романтике,сарказме, математике и языке
Создатель Perl Ларри Уолл-что-то вроде индивидуалиста, лингвиста, а не компьютерного ученого и что-то вроде шутника. В 2000 году началось движение за создание нового языка, и в конечном итоге он стал Perl 6. Это было трудное рождение, потому что спецификация была основным продуктом, а реализация отставала. Настолько, что возникло много путаницы по поводу того, что такое Perl 6 и что является некоторым приближением к нему. Например, основной компилятор назывался и называется Rakudo, что несколько изолирует его от метки Perl 6. Самая большая проблема заключается в том, что Perl 6 не имеет обратной совместимости с Perl 5 каким-либо значимым образом, и многие даже не считают, что он находится в одном языковом семействе.
В некотором смысле Perl 6 «сидит на корточках» на пути обновления Perl 5. Вы не услышите, как многие сторонники Perl говорят об этом прямо, но вы можете сказать, что это то, о чем они думают. Я не занимаюсь маркетингом, но я вижу смысл в том, чтобы назвать новый язык Perl 6, когда он был впервые выпущен. В конце концов, каждую неделю появляется много новых языков, и кто будет обращать внимание на новый язык под названием раку, скажем? Использование «бренда» Perl для повышения видимости нового языка-это то, о чем идет речь в игре по именованию. Теперь, однако, все выглядит немного по-другому. Perl не так хорошо продуман, как когда — то, и сообщество Perl могло бы обойтись новой версией, но, как я уже сказал, пространство занято Perl 6, возможно, другим языком!
Сообщение в блоге Кертиса “Овидия” По, автора книги «Начало Perl», предназначенное для того, чтобы сосредоточить внимание сообщества на проблеме, очень красиво излагает проблемы и обобщает текущие чувства в сообществе — или это должны быть два сообщества. Все это снова было всколыхнуто сообщением Элизабет Маттийсен (lizmat) на сайте Perl 6 GitHub. Предложение состоит в том, чтобы язык был переименован в Camelia или Raku — ни то, ни другое, на мой взгляд, не означает «новый горячий мощный язык»:
«Далекая, слишком краткая предыстория: сообщество Perl 6, похоже, разделено между теми, кто рассматривает Perl 6 как родной язык для Perl 5, и теми, кто рассматривает Perl 6 как преемника Perl 5.»
И проблема обновления описывается следующим образом:
«Со временем стало ясно, что, хотя Perl 6 находится в том же семействе, что и Perl 5, прямой путь миграции маловероятен. Достаточно взглянуть на проблемы с Python 2 и Python 3 и препятствия для обновления с их незначительными синтаксическими различиями, чтобы понять, что обновление с Perl 5 до Perl 6 не является тривиальным.»
Да, действительно нет смысла пытаться цитировать опыт Python по обновлению языков, где поверхностные синтаксические различия действительно невелики, даже если закулисная реорганизация намного больше. Даже в этом случае инерция и цепляние за существующий язык чуть не убили проект. В этом случае существование Python 3 действительно означает, что Python 2 мертв.
Perl 6, утверждающий, что убил Perl 5, имел последствия с точки зрения использования языка:
Мало того, что многие разработчики Perl 5 были оскорблены тем, что некоторые разработчики Perl 6 фактически сказали, что их язык мертв или умирает, но это имело реальные финансовые последствия. Я не могу сказать вам, сколько раз я разговаривал с потенциальными клиентами, которые говорили мне: «Да, наша кодовая база Perl 5 устарела, и мы хотим обновить ее, но нам нужно дождаться следующей версии (Perl 6), потому что любое обновление будет выбрасывать деньги на ветер.»
И, похоже, это также сокращает другой путь. Сообщается, что программисты Perl 6 говорят, что быть связанным с мертвым и умирающим языком нехорошо для бизнеса.
Сообщение в блоге заканчивается:
Так вот где мы находимся. У нас есть очень запутанная проблема, которая, по-видимому, заключается в том, что большая часть сообщества Perl 6 согласна с необходимостью сортировки. Большая часть сообщества Perl 5, похоже, чувствует то же самое.
Очевидно, пришло время перемен… но никакого решения принято не было.