Так себе и представляю этот адский зоопарк из зоорпарков где-нибудь на CentOS. Чесслово, такое ощущение, что сообщество старательно собирает все грабли, на которрые наступали другие разработчики языков. Типа: "вау! в Питоне так круто наступили на грабли python 2.X vs 3.0, они набили столько шишек, так давайте и мы наступим!!!11!!!адинадин!".
На самом деле, это нифига не смешно. Это, блять, пиздец как грустно, когда в проекте одна подсистема будет хотеть Perl 5.22.20, куча модулей другой системы - Perl 5.26, а в стандартной поставке операционной системы будет Perl 5.24. Смешно только то, что аффтары, видимо, вообще не понимают глубины копаемой ямы и того ада, который свалится на плечи отдела эксплуатации.
Язык программирования нельзя, нельзя разрабатывать базарным принципом.
2011-11-28 09:27 am (UTC)
По тексту поста - но есть же perlbrew, который описанную проблему полностью снимает.
2011-11-28 11:57 am (UTC)
Нет, конечно же, НЕ снимает. Почему - подумай сам.
2011-12-07 06:02 pm (UTC)
Слоник не писатель, слоник читатель
2011-11-28 12:54 pm (UTC)
К чему всё это несвязное возмущение?
Какие видятся пути решения, даже если есть проблема?
Или уважаемый господин слоник только может производить кучи говна пропорционально выбранному ник-нейму?
Re: Слоник не писатель, слоник читатель
2011-11-28 04:11 pm (UTC)
предположительно, у клиента стоит софт, который эти функции использует. ЧТо с ним будет?
Re: Слоник не писатель, слоник читатель
2011-11-28 04:16 pm (UTC)
Re: Слоник не писатель, слоник читатель
2011-11-28 04:21 pm (UTC)
Re: Слоник не писатель, слоник читатель
2011-11-28 04:33 pm (UTC)
Re: Слоник не писатель, слоник читатель
2011-11-28 08:58 pm (UTC)
use v5.16;
и ему подсунут версию со старым поведением (т.е. нужные функции Perl сам подгрузит),
а новый софт будет с прописанным
use v5.16;
И ему подсунут perl с новым поведением (не будет подгружать старье).
Таким образом разработчики будут ждать когда софт с непрописаной версией вымрет и в конце-концов отменят старое поведение Perl.
При этом они наплодят кучу софта, требующего промежуточного поведения...
Из презентации я сделал вывод, что разработчикам легче поддерживать несколько разных версий поведения Perl, чем в дефолтном поведении совмещать и старое и новое.
Если новый Perl будет корректно поддерживать старое поведение, то никаких проблем с модулями разных версий я не вижу.
Но дьявол в нюансах...
Re: Слоник не писатель, слоник читатель
2011-11-28 04:19 pm (UTC)
- никто не гарантирует обратной совместимости
- при этом всячески поощряется прописывание требуемой версии в коде
Что приведет к тому что одна половина модулей не будет работать со второй половиной модулей, как это и происходит в Питоне. Разница лишь в том, что у Питона две версии, а у Перла этих версий будут десятки за год.
Но тебе же пожуй, ты большие проекты не поддерживаешь.
Re: Слоник не писатель, слоник читатель
2011-11-28 04:43 pm (UTC)
Да и в старый код добавить версию одной командой можно.
Это сложный и болезненный путь, но зато можно почистить язык чтобы он не превратился в php, в котором тысячи функций которыми никто не пользуется.
Для совсем кривых и дремучих проектов можно новый код gearman'ом каким-нибудь подцеплять. Поддерживая 2 версии окружения, да это сложно, но не смертельно.
Re: Слоник не писатель, слоник читатель
2011-11-28 04:54 pm (UTC)
Re: Слоник не писатель, слоник читатель
2011-11-28 05:19 pm (UTC)
Надо просто систему обновлений поудобнее Perl'у и багтрекер обновить, а то работает через жопу. И тогда эта идея будет вполне воплотима.
Re: Слоник не писатель, слоник читатель
2011-11-29 06:22 am (UTC)
Нет-нет, конечно же, по сравнению с тем, что будет, то, что есть сейчас, еще цветочки.
Re: Слоник не писатель, слоник читатель
2011-11-29 02:47 pm (UTC)
примеры?
Re: Слоник не писатель, слоник читатель
2011-11-30 10:10 am (UTC)
Re: Слоник не писатель, слоник читатель
2011-11-30 07:31 pm (UTC)
Кстати, ветке 5.10 в декабре стукнет 4 года, а зоопарка не видно.
Ну
2011-11-28 03:30 pm (UTC)
2011-11-28 07:15 pm (UTC)
Пересмотри-ка еще раз слайды 90, 97, 116, 120, 124, 166, 182 и, особенно, 188-195.
А в видео с выступления он как раз рассказывает, что Perl развивать можно и нужно, а потеря обратной совместимости - в данном случае очень крайняя мера. И выдает свое видение последующего жизненного цикла Perl. Т.е. имея новый Perl, допустим 5.22, мы в нашем коде пишем "use v5.20;", и получаем новый Perl, с новыми фишками и со старыми функциями, распиханными по модулям, а сторонние модули (старые) будут не затронуты, т.к. use 'version' имеет лексическую область действия, вот для сравнения:
perl -le 'package AAA {use 5.12.0; say "ehlo"} '
perl -le 'package AAA {use 5.12.0; say "ehlo"}; package main {say "blia"}'
А все эти "use v..." были введены как раз для соблюдения этой самой обратной совместимости, все-таки не питон же, чтоб ломать все нахуй.
2011-11-29 06:24 am (UTC)
2011-11-29 07:37 am (UTC)
По-моему, перловый подход куда прагматичнее. Пишем "этот модуль использует фичи перла 5.x.y (и соответственно не использует те, что в этой версии выпилили)" в одном модуле, use 5.m.n в другом модуле и юзаем оба в скрипте, заточенном под 5.v.w.
Не красиво, согласен. Но это же Perl, им не любуются, а задачи решают.
2011-11-30 10:17 am (UTC)
Не надо этой демагогии про десятки тысяч модулей. Реально используются и поддерживаются не более двух сотен. Что в Перле, что в Питоне, что в ПХП. Остальное - буллшит и отстой, непонятно зачем попавший в репозитории.
>По-моему, перловый подход куда прагматичнее. Пишем "этот модуль использует фичи перла 5.x.y (и соответственно не использует те, что в этой версии выпилили)" в одном модуле, use 5.m.n в другом модуле и юзаем оба в скрипте, заточенном под 5.v.w.
Этот подход приведет к зоопарку use 5.m.n; Что потом даст неиллюзорные проблемы с использованием всего этого добра в продакшене. Хинт: никто, кроме отмороженных идиотов не использует в продакшене распоследнюю версию языка, мейнтейнерам дистрибутивов это не надо, им стабильность нужна. А значит, будет куча кривых наколенных сборок, глюков с совместимостью и т.п.
В этом плане наличие ДВУХ несовместимых версий Python гораздо лучше наличия десятка условносовместимых версий Perl.
>Но это же Perl, им не любуются, а задачи решают.
Ага, я вижу.
2011-11-29 07:44 am (UTC)
2011-11-29 07:54 am (UTC)
2011-11-30 10:18 am (UTC)
2011-11-30 07:55 pm (UTC)
а как насчет дебиана, федоры, альта, убунты?
я уже не говорю про редхат
Давайте лучше пофлеймим как ЖЖ опять отражало DDOS...
2011-11-28 09:05 pm (UTC)
2011-11-29 06:27 am (UTC)
perl -v built for i486-linux-gnu-thread-multi
This is perl, v5.10.1
полез на первый попавшийся сервер:
perl -v
This is perl, v5.8.8 built for aix-thread-multi
чото я кажется упустил =\\
2011-11-29 07:47 am (UTC)
2011-11-29 08:23 pm (UTC)
а десктоп чо? вроде седня apt-get upgrade фиганул!