После двух лет разработки объявлено (http://www.nntp.perl.org/group/perl.perl5.porters/2009/10/ms...) о выходе первого релиза в новой экспериментальной ветке Perl 5.11 (http://search.cpan.org/~jesse/perl-5.11.0/), в рамках которой начата подготовка к стабильной серии Perl 5.12. В анонсе новой версии подчеркивается важность проверки работоспособности кода в экспериментальной ветке. Несмотря на то, что разработчики прилагают огромные усилия к полному обеспечению совместимости, большие изменение в коде при создании новой ветки могут привести к незапланированным нарушениям совместимости. Если такие несовместимости будут найдены после выпуска стабильного выпуска 5.12, то отменить их будет уже невозможно, именно по этому важно протестировать существующий код, выявить и сообщить о всех аномалиях еще на стадии разработки экспериментальной ветки.
Ветка 5.11 будет развиваться в рамках измененного процесса подготовки релизов - новый выпуск отныне будет выходить раз в месяц, при этом ...URL: http://www.nntp.perl.org/group/perl.perl5.porters/2009/10/ms...
Новость: http://www.opennet.me/opennews/art.shtml?num=23718
>Несмотря на то, что разработчики прилагают огромные усилия к полному обеспечению совместимостиЗАЧЕМ? Гномеры вот тоже прилагали усилия к совместимости, и что получили? А получили они то, что всё равно наступает такой момент, когда всех напрягает эта "поддержка" так сильно, что в конце концов всё переделывается.
Кстати, поддерживаю. Почему-то наличие в системе нескольких версий gcc и необходимость зачастую для компиляции разного кода использовать разные версии - никого особо не напрягает. А вот в Перле все парятся... В чем проблема-то? В заголовке скрипта объявлена версия, которую он пользует. Если не объявлена - пусть считается, по умолчанию, скажем 5.8 (ну или вообще любая, младше той, в которой появились первые несовместимости). И усе - вперед и с песней!
Перл - отличный язык. Сколько тестирований проводят - по потреблению памяти и скорости рвет всякие Питоны, Руби и т.п. как тузик грелки. Единственные к нему от всех претензии - маленькая скорость инноваций, консервативность и одновременно - сложный и неоднозначный синтаксис. Хрен с ним с синтаксисом - уже все привыкли. А вот разработку могли бы и поактивнее вести...
Работа над perl6 вполне активно сейчас ведётся. А что до пятой ветки, то жаль только одного - разработчики perl5 и perl6 не работают вместе. Давно пора уже заняться ответвлением perl5 для parrot, чтобы обеспечить совместимость и преемственность кода perl5->perl6, но это совсем другая песня и не совсем очевидно будет ли это хорошо или плохо.
>В заголовке скрипта объявлена версия, которую он пользует. Если не объявлена -
>пусть считается, по умолчанию, скажем 5.8"use версия" отключает фичи, но никак не влияет на регрессии из-за переделки кода. Прикажите для каждого скрипта свою отдельную версию Perl держать ? Хорошая совместимость между версиями одна из ключевых сильных сторон Perl-а. А инновации не так существенны, мне например, кроме юникода и нитей, вполне хватает возможностей 5.005, главное чтобы стабильно и предсказуемо все работало.
>А инновации не так существенны, мне например, кроме юникода и нитейКак вы себе красиво противоречите =)
>А вот в Перле все парятся...Skylord - кроссавчег! Сделайте как он предложил! Лучше рецепта как перл похоронить - НЕТ! :)
>>Несмотря на то, что разработчики прилагают огромные усилия к полному обеспечению совместимости
>
>ЗАЧЕМ? Гномеры вот тоже прилагали усилия к совместимости, и что получили? А
>получили они то, что всё равно наступает такой момент, когда всех
>напрягает эта "поддержка" так сильно, что в конце концов всё переделывается.
>При правильной архитектуре, все уровни совместимости отгораживаются и выносятся за рамки основной части, таким образом в худшем случае будет падение производительности тех частей кода, которые используют устаревшие возможности, что не критично. А сильно напрягает поддержка только тогда, когда она делается в основном потоке разработки без рефакторинга кода, когда архитектура не меняется, даже если назрела необходимость. Но это уже низкая квалификация разработчиков и аппатия виноваты.
Перл рулез! Хорошо, что не забрасывают пятую ветку - вполне себе хороша для немалого класса приложений.
Ещё бы они CPAN почистили... а то надоело на каждый чих три разных модуля иметь. :( (примеры: MySQL, SSL, XML - везде свалка полунедомодулей сомнительной свежести)
>Несмотря на то, что разработчики прилагают огромные усилия к полному >обеспечению совместимости
>Из новшеств Perl 5.11 можно отметить:
> * Нарушения совместимости:Если есть хоть одна несовместимость, есть шанс, что код "не пойдет", а значит придется его или переписывать, или пользовать старую версию. И тут возникает вопрос: Если все равно совместимость частично нарушена, то на кой ляд прилагать "огромные усилия"?
Мне однажды пришлось запускать две вебморды управления на одном сервере (для разных тулзов есесно), причем одна работала только на РНР5, а другая (нормально) только на РНР4. Да, сначала расстроится, что нет совместимости, пытался как-то подправить, подладить код РНР4 под РНР5. А потом, о чудо, совершенно неожиданно буквально из ниоткуда среди суеты, отчаяния и усталости, на меня снизошло озарение, и я поставил две версии РНР! Потом долго отходил от осознания собственной глупости, что не сделал этого сразу.
Итого: в топку совместимость, даешь функционал!
>Если все равно совместимость частично нарушена, то на кой ляд прилагать "огромные усилия"?Возможно, "огромные усилия" - всего лишь для красного словца. :) Да и НЕ сохранять совместимость (на фоне грядущего Перл-6) как бы глупо. Совместимость нужна, потому как Перл настолько "хаканУтый" язык, что половина кода опирается на его неочевидные эффекты. Я думаю, разработчики тоже не настолько глупы, чтобы ломать что-то фундаментальное, а кто ставит новую версию, тот уж наверное проверит свои скрипты на совместимость.
Там все очевидно, и подробно документировано. Хотя, по-моему, сейчас стало модно хвалиться, что неосилил перл.
А 6-ой Perl когда обещают? Есть там какой-нибудь прогресс?
Весной 2010 года: http://perl6.ru/rakudo-release-date/
интересно, планируется ли в будущих версиях Perl возможность программирования в функциональном стиле. только не надо в ответ возмущённо спрашивать "зачем".
Чтобы это было более-менее ориентированно на практику, нужно будет перенять опыт того же haskell. Что сделает язык ещё тяжелее для понимания. Но если пойти "своим" путём, то следуя заветам перла надо будет оценить практическую надобность этого, то есть ответить на всё тот же вопрос "зачем", ведь б'ольшая часть новых возможностей того же perl6 очень удобна на практике. А вот будет ли удобен перегруженный язык, удовлетворяющий разным концепция программирования - это большой вопрос. Итак уже можно решать оду и ту же проблему разными способами в перле, чистая функциональщина добавит соли не только непосредственно в код разработчиков, но неизбежно в код модулей, используемых другими разработчиками. А потом всё это смешивать, хм, сомнительная перспектива.
>интересно, планируется ли в будущих версиях Perl возможность программирования в функциональном стиле.И что же вам мешает сейчас программировать на perl в функциональном стиле?
> Изменена Unicode интерпретация спецсимволов \w, \d, \s, и символьных классов POSIX (alpha, upper, word и т.п.). Например, строго соответствуя требованию POSIX, \d более не охватывает все цифры, а \w все буквы, описанные в unicode-стандарте.не понял, \w теперь для кириллицы не работает что ли ?