LINUX.ORG.RU

Cor - алтернативная ООП система для Perl

 ,


1

2

По ссылке сравнение Cor и Moose. Пример кода:

class Point {
    has ( $x, $y ) :reader :writer :new :isa(Int);

    method clear () {
        ( $x, $y ) = ( 0, 0 );
    }
}

class Point3D isa Point {
    has $z :reader :writer :new :isa(Int);

    method clear () {
        $self->next::method;
        $z = 0;
    }
}

>>> Подробности

Ответ на: комментарий от perl5_guy

Зачем

На гитхабе 10500 альтернативных систем всего для всего. Это еще одна, в глубокой альфе, с одним разработчиком, для языка на котором пишет десяток лоровцев.

anonymous ()
Ответ на: Зачем от anonymous

Да не, там чувак серьёзный, его подрядили спецом. Он сначала написал спецификацию, теперь занят реализацией. Всё это пойдёт в ядро и по идее будет шустрее Moose. Но это не точно, это мои додумки.

perl5_guy ★★ ()

Тогда уж и ссылку на реализацию надо было давать - Cor

Из того что сейчас в репе есть, ессно, ни о каком преимуществе в скорости перед Moose речи не идёт.

Завязка на экспериментальный postderef, помимо сигнатур, тоже не сильно понятна, но фиг с ним, это ж тестовая херня пока.

Как по мне, то из последнего полезного и суперкрутого, что видел на cpan, это Future::AsyncAwait

animechaos ()
Последнее исправление: animechaos (всего исправлений: 3)
Ответ на: комментарий от mord0d

Вот только нужность ООП в Perl у меня всё равно вызывает сомнения.

Я раньше тоже к этому скептически относился, но вот последнее время всё чаще и чаще ловлю себя на мысли, что некоторые вещи в уже давно написанных и используемых проектах было бы проще и удобнее использовать с ООП-подходом. Из последнего - работать с базой проще нередко.

shell-script ★★★★★ ()

Вот все эти фигурные скобки в блоке кода хорошо смотрятся только без глубокой вложенки. Стоит создать вложенные конструкции – и в глазах зарябит от скобок.

RedEyedMan666 ()
Ответ на: комментарий от perl5_guy

Всё это пойдёт в ядро и по идее будет шустрее Moose. Но это не точно, это мои додумки.

А будет ли это шустрее Moo? И как оно в сравнении с, простите, ракой?

Сколько вариантов ООП в перле? Moose, Mouse, Moo, Mo, M? Сейчас будет ещё один. TIMTOWDI родил перл, он же его и добьёт.

debugger ★★ ()
Ответ на: комментарий от debugger

Mo и M это шутейки, насколько я помню. Про Raku вообще мало знаю. Заказал в пиндостане 2 книжки по ентому языку. Одна потерялась по дороге, вторую ещё есть шанс получить. Приходите через год :P

Диалектов ООП в Perl'е гора. Лично мне всегда хватало базового. Было дело, игрался с Moo, и всё что о нём помню это:

perl -Moo -e'oo::moo'
:)

perl5_guy ★★ ()
Последнее исправление: perl5_guy (всего исправлений: 1)
Ответ на: комментарий от debugger

Зачем это всё? Из коробки там достаточно ООП, не хуже питона. Черезжопно конечно, но это же перл, там всегда так. Лучше сразу привыкать к трудностям и лишениям. ЯП не для сладкоежек.

bread ()
Последнее исправление: bread (всего исправлений: 1)
Ответ на: комментарий от debugger

лет много назад мне один гражданин сверлил моск что в перле нет классов, совершенно игнорируя доводы, что они и не нужны, есть bless и этого достаточно
вобщем я ему родил это: http://paste.org.ru/?v6edyr
успокоился и довольный от меня отстал

wd ()

Жаль наверное, когда потратил уйму времени на изучение технологии, а ее закопали. Можно переучиться, конечно, но это уже не то.

anonymous ()
Ответ на: комментарий от debugger

Moose, Mouse, Moo, Mo, M? Сейчас будет ещё один. TIMTOWDI родил перл, он же его и добьёт.

во наркоманы если бы писали полезные утилиты или приложения вместо либ для ООП perl был бы более популярен

anonymous ()
Ответ на: комментарий от perl5_guy

Mo и M это шутейки, насколько я помню.

M — шутка, Mo — вполне себе модуль.

Заказал в пиндостане 2 книжки по ентому языку. Одна потерялась по дороге, вторую ещё есть шанс получить.

Рутрекер в помощь.

Лично мне перловый зоопарк с десятками альтернативных реализаций базовых вещей (классов, исключений, и т. д.) как-то надоел. Вместо того, чтобы рисовать свою прикладуху, сидишь и копаешься в десятке реализаций try/catch…

Рака — not quite perl, зато в комплекте с батарейками.

debugger ★★ ()
Ответ на: комментарий от perl5_guy

Про Raku вообще мало знаю. Заказал в пиндостане 2 книжки по ентому языку

Не ты ли приносил новость про книжку Шитова. Она разве не в свободном доступе? Но я думаю лучше изучать раст. Это не хуже рака, даже название похожее.

bread ()
Ответ на: комментарий от wd

это шутка?

если нет, то это уровень начинающего программиста, не представляющего, что его код кто-то будет поддерживать. зато перл выучил досконально, да

anonymous ()
Ответ на: комментарий от gedisdone

Не только. Кроме классов и исключений там обширная стандартная библиотека. Я успел попользовать IO::Path, run для запуска процессов (с перехватом stdout и stderr, если надо).

В перле это всё тоже есть вроде бы , но во множестве альтернативных вариантов, из которых надо выбирать правильный.

debugger ★★ ()

Ужас. Вместо подобных извращений, лучше бы стандартизировали базовую функциональность (композицию). В том же JS не важно, какой новый сахар вводят, он обязательно транспилируется/взаимодействует с кодом на ES3. А у нас даже async/await без костылей нет.

allter149 ()
Ответ на: комментарий от anonymous

Схема тут не причем. Глаза мозолятся об эти скобки при попытке прочитать глубокую вложенку. Говнокодеры любят такое и эти фигурные скобки только ухудшают читаемость кода. Такшта, говнокод на питоне хотя бы легко (или легче) читается.

RedEyedMan666 ()