The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Состоялся рождественский релиз Perl 6"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Состоялся рождественский релиз Perl 6"  +/
Сообщение от opennews (?), 26-Дек-15, 09:42 
Увидел свет (https://perl6advent.wordpress.com/2015/12/25/christmas-is-here/) компилятор Rakudo 2015.12 (http://rakudo.org/) "коледа", который отмечен (https://twitter.com/TimToady/status/680511168713064448) Ларри Уоллом (Larry Wall) как первый релиз языка программирования Perl 6 (http://www.perl6.org/). Rakudo является одним из компиляторов Perl 6, преобразующих программы в байткод, который затем выполняется в специальной виртуальной машине. По умолчанию предлагается виртуальная машина MoarVM (http://moarvm.org/), в качестве опций могут использоваться (http://perl6.org/compilers/features) виртуальные машины JVM (ранее используемая универсальная виртуальная машина Parrot (http://parrot.org/) в последних выпусках Rakudo не поддерживается).

Perl 6 развивается более 15 лет, причём из них около 10 лет продолжалось ожидание финального релиза - на протяжении этих лет, на вопросы о дате релиза  Ларри Уолл ежегодно отшучивался, что дата релиза давно известна – это канун Рождества, в тайне пока остается год этого события. Язык Perl 6 кардинально отличается от Perl 5 и может рассматриваться как созданный с нуля отдельный язык программирования, обладающий средствами метапрограммирования (возможность определения собственных синтаксических конструкций для расширения языка, в том числе создания новых инфиксных операторов) и встроенными объектно-ориентированными возможностями.


С особенностями Perl 6 можно познакомиться в обзорах (http://pragmaticperl.com/authors/2) Андрея Шитова. Ключевые отличия от Perl 5:

-  Возможность определения типизированных переменных ("my Int $i;" или "sub count(Int $i){", если присвоить $i строковое значение будет выведена ошибка). Поддерживаются типы  Bool, Int, Str, Array, Hash, Complex, Num, Pair;

-  Полноценная система классов для объектно-ориентированного программирования (определение "class A {has $.i; method test($what)...}" и вызов "my $a = A.new(i => 1); say $a.i;"). Для наследования при объявлении класса следует указать родительский класс ("class B is A {" или "class C is A is B {").

-  Упрощение определения переменных ("my @list = 1, 2, 3;" или "my %hash = 'test1' => 1, 'test2' => 2;") и возможность использования Unicode в именах переменных ("my $переменная = 1;");

-  Определение области видимости переменной и элементов классов при помощи "твиглов" (%*ENV, $?FILE, $!a, $.b);

-  Возможность указания необязательных аргументов функции и значений по умолчанию ("sub func(Int $i?)", "sub func(Int $i = 1)");

-  Поддержка передачи аргументов функции по именам (определение "sub power(:$base, :$exponent)", вызов "power(:base(2), :exponent(3))");

-  Возможность создания вложенных функций и определения нескольких функций с одним именем (разделение по типам аргументов);

-  Методы параллельного программирования: каналы (http://pragmaticperl.com/issues/24/pragmaticperl-24-%D0...) и механизмы синхронизации (http://pragmaticperl.com/issues/26/pragmaticperl-26-%D0...);

-  Анонимные блоки-замыкания (http://pragmaticperl.com/issues/25/pragmaticperl-25-%D0...) ("my $cube = -> $x {$x ** 3};") и динамические переменные ("my $*var = 'Alpha'");

-  Изменённый (http://pragmaticperl.com/issues/26/pragmaticperl-26-%D0...) синтаксис  регулярных выражений и возможность определения грамматик;

-  Широкий набор метаоператоров (http://pragmaticperl.com/issues/27/pragmaticperl-27-%D0...);

-  Метод ".WHAT" для быстрого определения типа переменной ($scalar.WHAT) и оператор "===" для сравнения объектов типов ("if  ($value.WHAT === Int)");

-  Переменная "$/" для записи результата сопоставления в регулярном выражении (совпавшую строку можно получить через $/.Str, для подстрок используется синтаксис $/[1] идентичный $1);

-  Переменная "$!" для доступа к сообщению об ошибке.


URL: https://6guts.wordpress.com/2015/12/26/reflecting-celebratin.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=43593

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "Состоялся рождественский релиз Perl 6"  +8 +/
Сообщение от IMHO (?), 26-Дек-15, 09:42 
все, пропали празники, буду тестить и кодить
Ответить | Правка | Наверх | Cообщить модератору

2. "Состоялся рождественский релиз Perl 6"  +1 +/
Сообщение от Аноним (-), 26-Дек-15, 10:07 
Пока ждал Perl6, выучил C++. Не зря они NativeCall предусмотрели =) Имхо, C++ и Perl6 будут отличной связкой для решения абсолютно любых задач, тем более Perl6 очень продуман в плане параллелизма.

Праздники действительно пропали, отличная новость =)

Ответить | Правка | Наверх | Cообщить модератору

5. "Состоялся рождественский релиз Perl 6"  –14 +/
Сообщение от Аноним (-), 26-Дек-15, 10:38 
Перл как был языком однострочников в консоли так и остался. Писать на нем что-либо более серьезное - идиотизм.
Ответить | Правка | Наверх | Cообщить модератору

8. "Состоялся рождественский релиз Perl 6"  +2 +/
Сообщение от Аноним (-), 26-Дек-15, 11:27 
Писал на Perl5 серьезные проекты. Писались быстро, но было нереально сложно поддерживать и развивать дальше после определенного уровня развития. В итоге перешел на C++. Писать намного дольше, но поддерживать очень легко и практически неограниченная свобода по изменению интерфейса без серьезных последствий.

К чему все это сказано? К тому, что Perl6 добавляет все то, из-за отсутствия чего и пришлось в свое время перейти на C++. Если сохранится относительная простота и гибкость Perl5 и плюсы типизированных ОО языков разумно будут интегрированы, то Perl6 как раз имеет шанс стать инструментом для достаточно серьезных решений.

Просто для тех, кто думает, что Perl6 - это продолжение Perl5: это не так. Perl6 - полностью переписанное с нуля решение и с Perl5 имеет только косвенную связь. Мне Perl6 видится, из первых впечатлений, как что-то более близкое к C++ и Java, чем к Perl5 или python.

Ответить | Правка | Наверх | Cообщить модератору

11. "Состоялся рождественский релиз Perl 6"  +1 +/
Сообщение от Аноним (-), 26-Дек-15, 12:02 
Переходить с перла на плюсы из-за более легкой поддержки это пипец. Для этого есть питон, или на крайний ява с шарпами.
Ответить | Правка | Наверх | Cообщить модератору

44. "Состоялся рождественский релиз Perl 6"  +1 +/
Сообщение от Crazy Alex (ok), 26-Дек-15, 18:13 
Для перловика плюсы - довольно удобная штука, идеология очень похожа в плане гибкости,  желания оставить конечные решения за программистом и того самого TIMTOWDI.
Ответить | Правка | Наверх | Cообщить модератору

18. "Состоялся рождественский релиз Perl 6"  +2 +/
Сообщение от Аноним (-), 26-Дек-15, 13:13 
Судя по написанному, Вам нужно попробывать RUST lang:
https://doc.rust-lang.org/nightly/book/getting-started.html

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

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

22. "Состоялся рождественский релиз Perl 6"  +1 +/
Сообщение от Аноним (-), 26-Дек-15, 13:46 
Так же у RUST хорошая поддержка для embedded платформ:

https://twitter.com/SamsungOSG/status/679017493265031168
https://twitter.com/VIAmkt/status/679837274754781184

Ответить | Правка | Наверх | Cообщить модератору

54. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Аноним (-), 27-Дек-15, 01:23 
а что Perl претендует на что-то большее? по твоей логике есть ЯП истинные для корпоративных порталов, а есть ЯП для одностраничек? если да тогда мне тебя жаль( все решают фреймворки а не ЯП!
Ответить | Правка | К родителю #5 | Наверх | Cообщить модератору

33. "Состоялся рождественский релиз Perl 6"  –2 +/
Сообщение от Аноним (-), 26-Дек-15, 15:17 
Зачем нужен Perl,Ruby.., когда современные низкоуровневые языки вроде RUST предоставляют конструкции по удобству сравнимые с высоуровнемыми языками, но работающие со скоростью близкой к C(иногда быстрее)

Вот, к примеру, библиотека позволяющая распаралеливать выполнения вычислений по ядрам CPU:

/// Increment all values in slice.
fn increment_all(slice: &mut [i32]) {
    if slice.len() < 1000 {
        for p in slice { *p += 1; }
    } else {
        let mid_point = slice.len() / 2;
        let (left, right) = slice.split_at_mut(mid_point);
        rayon::join(|| increment_all(left), || increment_all(right));
    }
}

https://github.com/nikomatsakis/rayon

и куча других подобных в репозитарии пакетов: https://crates.io/

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

39. "Состоялся рождественский релиз Perl 6"  +7 +/
Сообщение от Michael Shigorinemail (ok), 26-Дек-15, 17:12 
> Зачем нужен Perl,Ruby.., когда современные низкоуровневые языки

За всё тем же: работа со сложными структурами данных обозримым количеством кода.

Ответить | Правка | Наверх | Cообщить модератору

50. "Состоялся рождественский релиз Perl 6"  –1 +/
Сообщение от ананим.orig (?), 26-Дек-15, 22:57 
Ну… не всё так плохо.
За этим и придумали библиотеки классов/шаблонов/этк. Одна проблема — они не носят характер стандарта, но всё меняется.

зыж
есть и другой аргумент — кросс-платформенное выполнение кода.
Именно выполнение, не компиляция. Но и тут есть прогресс (когда компиляция часть выполнения) — llvm, libgccjit (для примера https://gcc.gnu.org/onlinedocs/gcc-5.1.0/jit/intro/tutorial0...)

Ответить | Правка | Наверх | Cообщить модератору

52. "Состоялся рождественский релиз Perl 6"  –4 +/
Сообщение от птупогромист (?), 27-Дек-15, 00:00 
Да на шелле то поди ещё удобней? >_<
Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

64. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от angra (ok), 27-Дек-15, 17:16 
> конструкции по удобству сравнимые с высоуровнемыми языками, но работающие со скоростью
> близкой к C(иногда быстрее)

Неужто они и такие конструкции умеют:
{ a=>'asdf',
  b=>[
    {t=>'f',
     v=>\&some_func,
    },
    {t=>'a'
     v=>[7,8],
    },
    34,
    'dsf',
    [5,6,'a','b'],
  ],
  io=>file_handler
}
Как подобное будет выглядеть в RUST?


    

Ответить | Правка | К родителю #33 | Наверх | Cообщить модератору

79. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Andrii (?), 30-Дек-15, 20:29 
А зачем такие конструкции? Легко совершить ошибку и все рушится с NoMethodError.
Ответить | Правка | Наверх | Cообщить модератору

3. "Состоялся рождественский релиз Perl 6"  +1 +/
Сообщение от Аноним (-), 26-Дек-15, 10:19 
Они ошибку в названии пропустили, назвали "колЕда" вместо "колЯда", хотя ссылку на wikipedia именно на коляду поставили и пояснение указывает, что имели в виду коляду.
Ответить | Правка | Наверх | Cообщить модератору

4. "Состоялся рождественский релиз Perl 6"  +2 +/
Сообщение от Аноним (-), 26-Дек-15, 10:26 
Толковый словарь Даля допускает "коледа" как вариант.
Ответить | Правка | Наверх | Cообщить модератору

7. "Состоялся рождественский релиз Perl 6"  –6 +/
Сообщение от A.Stahl (ok), 26-Дек-15, 10:46 
Это, скорее всего, означает, что в каком-то регионе в конце 19века использовалось оба слова. Впрочем, стыдно, что в 21 веке это слово до сих пор существует не только в головах историков и любителей старой литературы.
Ответить | Правка | Наверх | Cообщить модератору

9. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Khariton (ok), 26-Дек-15, 11:55 
Ну почему имели?
Литва до сихпор так и говорит: Kaleda.
И Болгария: Коледа...
http://cdn.allfun.md/2014/12/19/16/549435f266800.jpg

И судя по этимологии(от лат. Календар), то "Каледа" более логичное и верное название, чем "Коляда", в которой уже произошло несколько замен звуков...

Ответить | Правка | Наверх | Cообщить модератору

10. "Состоялся рождественский релиз Perl 6"  –2 +/
Сообщение от A.Stahl (ok), 26-Дек-15, 11:59 
Даль разве интересовался болгарским или латышским? Я про словарь, его актуальность и конкретное слово в конкретном современном языке.
Ответить | Правка | Наверх | Cообщить модератору

48. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Khariton (ok), 26-Дек-15, 22:17 
> Даль разве интересовался болгарским или латышским? Я про словарь, его актуальность и
> конкретное слово в конкретном современном языке.

Слово-то заимствованное.

Ответить | Правка | Наверх | Cообщить модератору

16. "Состоялся рождественский релиз Perl 6"  +2 +/
Сообщение от Zulu (?), 26-Дек-15, 12:53 
Распространенное изменение en -> ę -> Ѧ. То же самое в ментосе, которая мята.
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

13. "Состоялся рождественский релиз Perl 6"  +1 +/
Сообщение от Michael Shigorinemail (ok), 26-Дек-15, 12:50 
> Впрочем, стыдно

Ну идите, покайтесь на площади, что у Вас какая-то душа ещё осталась.  Не положено потребителю!

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

Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

38. "Состоялся рождественский релиз Perl 6"  +2 +/
Сообщение от asd (??), 26-Дек-15, 16:52 
Стыдно, что некоторые до сих пор решают, что и кому можно и нужно помнить.
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

49. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Khariton (ok), 26-Дек-15, 22:19 
> Стыдно, что некоторые до сих пор решают, что и кому можно и
> нужно помнить.

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

Ответить | Правка | Наверх | Cообщить модератору

6. "Состоялся рождественский релиз Perl 6"  +2 +/
Сообщение от Аноним (-), 26-Дек-15, 10:46 
Возможно, используется болгарский термин - он пишется через Е. В анонсе сказано только то, что использовано славянское слово, а из какого именно языка/диалекта оно взято - не сказано: "The tag for this release is “коледа”[^2], a slavic word for an ancient winter festival that has been incorporated into Christmas."
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

45. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Crazy Alex (ok), 26-Дек-15, 18:25 
А написать, как в оригинале, Rakudo Star что мешало? по ссылке на релиз "коледа" нет, место этой хрени - разве что где-то глубоко в примечаниях
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

12. "Состоялся рождественский релиз Perl 6"  +11 +/
Сообщение от grayich (ok), 26-Дек-15, 12:07 
логотип perl 6 - https://perl6.org/camelia-logo.png
.. наркоманы
Ответить | Правка | Наверх | Cообщить модератору

23. "Состоялся рождественский релиз Perl 6"  –2 +/
Сообщение от Я (??), 26-Дек-15, 13:59 
Но судя по посту и плюсам детей у вас нет ...
Ответить | Правка | Наверх | Cообщить модератору

27. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Аноним (-), 26-Дек-15, 14:42 
И дети есть, и пузо есть, но логотип всё равно отвратный. Второе место после gnu'шных черепашек-гомосеков, но с отрывом опережая golang'овского хомячка.
Ответить | Правка | Наверх | Cообщить модератору

35. "Состоялся рождественский релиз Perl 6"  +1 +/
Сообщение от kravich (ok), 26-Дек-15, 16:26 
Не трож хомяка!
Ответить | Правка | Наверх | Cообщить модератору

29. "Состоялся рождественский релиз Perl 6"  +1 +/
Сообщение от Нимано (?), 26-Дек-15, 14:59 
> .. наркоманы

То ли дело розового^W небесного/солнечного цвета слоники!
http://hadoop.apache.org/images/hadoop-logo.jpg

Или розовая белочка c радужным хвостом
https://flink.apache.org/img/logo/png/500/flink_squirrel_500...

Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

30. "Состоялся рождественский релиз Perl 6"  +7 +/
Сообщение от grayich (ok), 26-Дек-15, 15:00 
вокруг одни наркоманы
Ответить | Правка | Наверх | Cообщить модератору

42. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от chinarulezzz (ok), 26-Дек-15, 17:45 
> вокруг одни наркоманы

один лишь ты стоишь со шпагой, в плаще мушкетёра.

Ответить | Правка | Наверх | Cообщить модератору

36. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Аноним (-), 26-Дек-15, 16:46 
Это же рождественская бабочка!!!
Ответить | Правка | К родителю #12 | Наверх | Cообщить модератору

43. "Состоялся рождественский релиз Perl 6"  +2 +/
Сообщение от grayich (ok), 26-Дек-15, 18:00 
нет, рождественская вот - https://perl6.org/camelia-advent.png

Ответить | Правка | Наверх | Cообщить модератору

14. "Состоялся рождественский релиз Perl 6"  +1 +/
Сообщение от Ilya Indigo (ok), 26-Дек-15, 12:51 
Ларри, таки сдержал своё слово. На рождество. :-)
Ответить | Правка | Наверх | Cообщить модератору

15. "релиз Perl 6"  +2 +/
Сообщение от Michael Shigorinemail (ok), 26-Дек-15, 12:52 
Да уж, последние времена наступают -- что там ещё не вышло из долгостроев?
Ответить | Правка | Наверх | Cообщить модератору

19. "релиз Perl 6"  +/
Сообщение от kravich (ok), 26-Дек-15, 13:33 
GNU Hurd? Тоже ведь зашевелился...
Ответить | Правка | Наверх | Cообщить модератору

21. "релиз Perl 6"  –1 +/
Сообщение от kravich (ok), 26-Дек-15, 13:36 
И Реактось спустя сколько времени готова мифическим релизом 0.4 разродиться...
Ответить | Правка | Наверх | Cообщить модератору

20. "релиз Perl 6"  +5 +/
Сообщение от Аноним (-), 26-Дек-15, 13:33 
> Да уж, последние времена наступают -- что там ещё не вышло из долгостроев?

Hurd? Half-Life 3?

Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

24. "релиз Perl 6"  –3 +/
Сообщение от A.Stahl (ok), 26-Дек-15, 13:59 
А Half-Life 3 тут каким боком? Это не долгострой. Его не строят. И никогда не будут. Забудь уже об этой штуке. Я уж не говорю о нелепости ожидания третьей части после того, что вышло в качестве второй.
Ответить | Правка | Наверх | Cообщить модератору

70. "релиз Perl 6"  +/
Сообщение от Аноним (-), 29-Дек-15, 07:33 
> после того, что вышло в качестве второй.

Э...

> Stahl

А, ну да.

Ответить | Правка | Наверх | Cообщить модератору

17. "Состоялся рождественский релиз Perl 6"  +1 +/
Сообщение от Аноним (-), 26-Дек-15, 13:11 
Джвадцать лет ждал! (нет)
Ответить | Правка | Наверх | Cообщить модератору

25. "Состоялся рождественский релиз Perl 6"  +2 +/
Сообщение от Pilat (ok), 26-Дек-15, 14:19 
Мёртворождественский релиз
Ответить | Правка | Наверх | Cообщить модератору

28. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Michael Shigorinemail (ok), 26-Дек-15, 14:57 
> Мёртворождественский релиз

Почему?

PS: наш комайнтейнер перлов пишет:

---
Правда за прошедший месяц с прошлого релиза они умудрились перевернуть
установку модулей с ног на голову, поэтому пока Perl 6 вроде и можно
поставить, но далеко на нём без модулей не уедешь… Думаю пока как это
починить.
--- http://lists.altlinux.org/pipermail/devel/2015-December/2006...

Ответить | Правка | Наверх | Cообщить модератору

32. "Состоялся рождественский релиз Perl 6"  –2 +/
Сообщение от Pilat (ok), 26-Дек-15, 15:12 
>> Мёртворождественский релиз
> Почему?

Да потому что весь язык мёртворождённый. Шуму много , а толку ноль.

Ответить | Правка | Наверх | Cообщить модератору

62. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Аноним (-), 27-Дек-15, 14:49 
Потому что поломали всю семантику perl'а, без явных на то оснований:

if ($value.WHAT === Int)

в идеоматичном наследнике это выглядело бы так:

if (typeof($value) eq 'int') # по аналогии с ref

Я не знаю кто проектировал наркоманию выше, но он был явно ушиблен на всю голову "эффектом второй системы". В результате получился совершенно другой язык, который лично я не вижу смысла изучать.

Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

69. "Состоялся рождественский релиз Perl 6"  +1 +/
Сообщение от 1 (??), 28-Дек-15, 11:22 
Дык так и утверждалось, что Perl6 совершенно другой язык, нежели Perl5.
Ответить | Правка | Наверх | Cообщить модератору

26. "Состоялся рождественский релиз Perl 6"  +1 +/
Сообщение от агент малдер (?), 26-Дек-15, 14:37 
use Inline::Perl5 qw(CPAN)
Ответить | Правка | Наверх | Cообщить модератору

31. "Состоялся рождественский релиз Perl 6"  +3 +/
Сообщение от chinarulezzz (ok), 26-Дек-15, 15:04 
Хех) жду оптимизаций.
Пятый перл им не заменить, а вот нишу еще предстоит открыть/занять. Интересно.
Ответить | Правка | Наверх | Cообщить модератору

34. "Состоялся рождественский релиз Perl 6"  –1 +/
Сообщение от Аноним (-), 26-Дек-15, 15:48 
для Вас: https://www.opennet.ru/openforum/vsluhforumID3/106131.html#33
Ответить | Правка | Наверх | Cообщить модератору

40. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от chinarulezzz (ok), 26-Дек-15, 17:40 
> для Вас: https://www.opennet.ru/openforum/vsluhforumID3/106131.html#33

у perl хоть синтаксис получше.

Ответить | Правка | Наверх | Cообщить модератору

46. "Состоялся рождественский релиз Perl 6"  –2 +/
Сообщение от Аноним (-), 26-Дек-15, 19:13 
У perl получше?!!!
мда, я конечно как человек долгое время работавший с python, не рад что в RUST многое привнесли из хаскеля и с влиянием рубистов, но сорцы читать весьма проще чем у С++ и того же perl-а!
Ответить | Правка | Наверх | Cообщить модератору

55. "Состоялся рождественский релиз Perl 6"  +3 +/
Сообщение от Нимано (?), 27-Дек-15, 02:42 
> долгое время работавший с python,

def unique(_, __ = type({( )})):
    __ = type("""
                      .-=-.          .--.
          __        .'     '.       /  " )
  _     .'  '.     /   .-.   \     /  .-'\
( \   / .-.  \   /   /   \   \   /  /    ^
  \ `-` /   \  `-'   /     \   `-`  /
jgs`-.-`     '.____.'       `.____.'""", (__,),
{'_' : __.__dict__[filter(lambda _: '_' not in _,
                    sorted(__.__dict__))[::-1].pop()]})( {( )} )
    return [_ for _ in _ if _ not in __ and not __._(_)]

Если что: это питон. Сильно легче читается? =)
Ответить | Правка | Наверх | Cообщить модератору

56. "Состоялся рождественский релиз Perl 6"  +2 +/
Сообщение от Аноним (-), 27-Дек-15, 11:20 
Это как раз код Перловика который первый раз решил что-то написать на Питоне!
Ответить | Правка | Наверх | Cообщить модератору

57. "Состоялся рождественский релиз Perl 6"  +6 +/
Сообщение от grayich (ok), 27-Дек-15, 11:52 
Нимано наглядно показал, что лёгкость чтения сорцов не зависит особо от языка, а больше от носителя языка.
Ответить | Правка | Наверх | Cообщить модератору

71. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Гвидо (?), 29-Дек-15, 08:23 
Чо уж, свинья грязи найдёт )))

Штатно пишется как-то так:

def unique(iterable):
    return sorted(set(iterable))

Ответить | Правка | К родителю #55 | Наверх | Cообщить модератору

72. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Нимано (?), 29-Дек-15, 16:26 
> Штатно пишется как-то так:
> def unique(iterable):
>     return sorted(set(iterable))


def unique(iterable):
    s = set()
    return [iterable for iterable in iterable if iterable not in s and not s.add(iterable)]

(да-да, вот такие пироги с котятами ) )
<==>

def unique(iterable):
    s = set()
    return [elem for elem in iterable if elem not in s and not s.add(elem)]

Ответить | Правка | Наверх | Cообщить модератору

75. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Гвидо (?), 30-Дек-15, 01:47 
s.add(elem) всегда возвращает None.
Незнание этого факта - еще не диагноз,
а вот написание каментов вроде ваших
выставляет вас идиотом.

Зачем вы так делаете?

Ответить | Правка | Наверх | Cообщить модератору

76. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Нимано (?), 30-Дек-15, 02:58 
> s.add(elem) всегда возвращает None.

И что?
> Незнание этого факта - еще не диагноз,

Ванга в треде?
Ну тогда угадайте, зачем там вообще "and not".
Подсказки:
list comprehension, statement, expression
"not None" == True
ну и
> The expression x and y first evaluates x; if x is false, its value is returned; otherwise, y is evaluated and the
> resulting value is returned.

а то ведь стыдно должно быть, с таким ником, нести чепуху.

> а вот написание каментов вроде ваших
> выставляет вас идиотом.
> Зачем вы так делаете?

Что сказать-то хотели?

Ответить | Правка | Наверх | Cообщить модератору

77. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Гвидо (?), 30-Дек-15, 03:21 
Почитайте дзен питона и не пишите плохой код лишь для того, чтобы похвастаться своей способностью так писать.
Никто этого не оценит.
Ответить | Правка | Наверх | Cообщить модератору

78. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Гвидо (?), 30-Дек-15, 03:38 
Вот вам утешительный приз

from collections import OrderedDict
def unique(iterable):
    return list(OrderedDict.fromkeys(iterable).keys())

Ответить | Правка | К родителю #76 | Наверх | Cообщить модератору

37. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Michael Shigorinemail (ok), 26-Дек-15, 16:50 
> Пятый перл им не заменить

В смысле пятый CPAN? :)

Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

41. "Состоялся рождественский релиз Perl 6"  +1 +/
Сообщение от chinarulezzz (ok), 26-Дек-15, 17:43 
>> Пятый перл им не заменить
> В смысле пятый CPAN? :)

Да. К тому же, 5-й в базовой поставке всех неспециализированных дистров.

Ответить | Правка | Наверх | Cообщить модератору

47. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Аноним (-), 26-Дек-15, 20:29 
perlgolf
Ответить | Правка | Наверх | Cообщить модератору

58. "Состоялся рождественский релиз Perl 6"  –1 +/
Сообщение от Аноним (58), 27-Дек-15, 13:29 
когда все дистрибутивы *nix перейдут на perl6 ?
Ответить | Правка | Наверх | Cообщить модератору

59. "Состоялся рождественский релиз Perl 6"  +2 +/
Сообщение от Michael Shigorinemail (ok), 27-Дек-15, 13:58 
> когда все дистрибутивы *nix перейдут на perl6 ?

Ларри никуда не спешил -- и мы не торопимся. :)

Ответить | Правка | Наверх | Cообщить модератору

60. "Состоялся рождественский релиз Perl 6"  –1 +/
Сообщение от grayich (ok), 27-Дек-15, 14:12 
причём тут дистрибутивы к perl ?


Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

73. "Состоялся рождественский релиз Perl 6"  –1 +/
Сообщение от . (?), 29-Дек-15, 18:42 
Да он просто в криокамере с 1999 был.
Ещё не в курсе что перловку из дистрибов выпилили, и везде всунули питон.

Кстати - чё то мне не верится, что теперь питон выкинут и впилят перло 6 :-)

Ответить | Правка | Наверх | Cообщить модератору

63. "Состоялся рождественский релиз Perl 6"  +1 +/
Сообщение от angra (ok), 27-Дек-15, 17:04 
Скорее всего никогда. Perl6 просто не годится для этой ниши.
Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

61. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Аноним (-), 27-Дек-15, 14:48 
Решили раздробить малочисленное сообщество.
Для web и Perl5 достаточно.
Ответить | Правка | Наверх | Cообщить модератору

65. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Аноним (-), 27-Дек-15, 21:46 
Языков сейчас слишком много, по сути они дублируют друг друга, и кто-то должен быть вытеснен. Perl и Python кандидаты номер 1. Все последние новости по ним не что иное, как конвульсирования.
Ответить | Правка | Наверх | Cообщить модератору

66. "Состоялся рождественский релиз Perl 6"  –1 +/
Сообщение от grayich (ok), 27-Дек-15, 21:48 
и на чём писать например системные скрипты?
Ответить | Правка | Наверх | Cообщить модератору

67. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Аноним (-), 27-Дек-15, 22:22 
За тебя уже подумал Леня, не надо больше ничего писать, просто потребляй.
Ответить | Правка | Наверх | Cообщить модератору

74. "Состоялся рождественский релиз Perl 6"  –1 +/
Сообщение от . (?), 29-Дек-15, 19:25 
> Языков сейчас слишком много, по сути они дублируют друг друга,

Это так вот уже лет 15, а то и больше ...

> и кто-то должен быть вытеснен. Perl и Python кандидаты номер 1.

ORLY?! :) А спорим - ты девственник? Или и того хуже 8-\

> Все последние новости по ним не что иное, как конвульсирования.

Чаво-чаво? Кон ... куда .. вания? Шёл бы ты уроки делать. А чёрд, каникулы же ...

Ответить | Правка | К родителю #65 | Наверх | Cообщить модератору

68. "Состоялся рождественский релиз Perl 6"  +/
Сообщение от Онаним (?), 28-Дек-15, 01:25 
Первый абзац навёл на мысль, что давно пора разделить разработку языков/компиляторов и виртуальных мойшин для них, разделить более серьёзно.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру