чото как-то тихо вышла perl 6 бетка

pitrik2

как сказал бы пенни (про ие) это самый современный язык а все остальные просто прошлый век
http://perlgeek.de/en/article/5-to-6
скачать тут: http://github.com/rakudo/star/downloads
PS
это позиционируется не как бетка а как релиз для широких масс, но по мне оно бетка и есть

eduard615

он позиционируетя и не бетой, и не альфой, а technology preview. ждать, к сожалению, еще дофига....

doublemother

И очень много там, увы, не реализовано ещё.

Werdna

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

ermsoft

Что значит "проекта не будет"?
Проект есть и очень активно развивается.

doublemother

Это толстый троллинг человека, не осилившего перл. Не корми.

ermsoft

Я знаю.
Просто хотел сказать более подробно, почему я верю в Rakudo, для тех, кто не имеет определенного мнения, а без повода как-то не решился :)
Не надо ждать, пока Perl 6.0 выйдет, кстати. Надо брать и пользоваться, читать спеки, коммитить патчи и писать первые модули.
Потому что это самый интересный opensource проект на данный момент, в котором очень легко принять участие.
Потому что на freenode#perl6 всегда есть люди, готовые ответить на самые тупые вопросы.
Потому что если perl6 станет mainstream'ом (пусть даже через 10 лет быть в его CREDITS или быть автором популярного модуля - хорошее дополнение к резюме.
И главное, потому что -Ofun:

$ ./perl6 -e 'say (1,1,*+*...100).join(",")'
1,1,2,3,5,8,13,21,34,55,89

pilot

Да ты псих.

sergey_m

питон говно

sergey_m

http://www.google.com/trends?q=python
Одни только новости и радуют.

pilot

Одни только новости и радуют.
Ага

tokuchu

Одни только новости и радуют.
Ты ещё распределение по странам посмотри. :)

sergey_m

Ты рефлексируешь что твой уход не был отмечен эпической статьёй на roem?

pilot

Ты рефлексируешь что твой уход не был отмечен эпической статьёй на roem?
Нет, это я спрашивал ходишь ли ты еще на работу, и если ходишь то зачем? :)

sergey_m

Хожу тк тут интернет бесплатный и кондиционер.
А ты ловко обороняешь любимый питончик!

pilot

А ты ловко обороняешь любимый питончик!
Я тебе кагбы демонстрирую что, используя посторонние для этого треда знания, тебя тоже можно неплохо погнобить. А чувак псих именно в контексте треда, независимо от моих личных пристрастий. ;)

sergey_m

Ну с FreeBSD ты крупно облажался, так как только ньюбисы или манагеры на гугле ищут вопросы по FreeBSD вводя само слово FreeBSD. Аналогично linux. Потому что есть специальне инструменты поиска. В отличие от питона кстати ;)
А гнобить меня Рамблером это просто лол. Я не corporative head, ни за работодателя, ни за единую роиссю, ни за спартак-москва никому пасть рвать не буду. И в указанной новости я вообще не вижу негативной окраски. То есть гнобёжку не уловил, даже если бы мне было не пох.

pilot

Ты ищешь смысл в подколках? Может и мне написать статью почему все-таки питон не говно? :grin:
А вот это интересно:
А гнобить меня Рамблером это просто лол.
Почему же? Если человек сидит в загибающейся компании, не пытаясь ничего изменить ни в компании ни в своей работе — это хороший сотрудник для следующего работодателя и хорошая строчка в резюме?

sergey_m

Может и мне написать статью почему все-таки питон не говно? :grin:
Идеологически правильнее будет её назвать "Почему питон не перл". И ссылку на статью нужно поставить себе в подпись.
Если человек сидит в загибающейся компании, не пытаясь ничего изменить ни в компании ни в своей работе — это хороший сотрудник для следующего работодателя и хорошая строчка в резюме?
Недостаточно вводных. Важна должность в компании: курьер или вице-президент?

pilot

Недостаточно вводных. Важна должность в компании: курьер или вице-президент?
Например, начальник серверно-технологического комплекса.

ermsoft

Почему я псих-то? :)

karkar

Потому что это самый интересный opensource проект на данный момент, в котором очень легко принять участие.

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

zya369

$ ./perl6 -e 'say (1,1,*+*...100).join(",")'
1,1,2,3,5,8,13,21,34,55,89

true perl way :shocked: :shocked: :shocked:

ermsoft

Ок, попробую.
В perl6 есть встроенные в язык регэксы-грамматики, настолько выразимые, что весь синтаксис самого perl6 в них записан:
http://svn.pugscode.org/pugs/src/perl6/STD.pm6
Есть очень мощное ООП, с ролями и опциональной типизацией.
Есть сигнатуры функций и мультиметоды.
Есть возможность определять свои операторы и переопределять синтаксис языка.
Вот канонический пример:

> multi sub postfix:<!>(Int $x where { $x == 0 }) { return 1 }
postfix:<!>
> multi sub postfix:<!>(Int $x where { $x > 0 }) { return $x * ($x - 1)! }
postfix:<!>
> say 5!
120

И есть очень много мелких фич, направленных на максимальное DWIM и DRY.
Да, можно сказать, что определять свои операторы никому не нужно. Что переопределять синтаксис языка - зло :) Но дело в том, что вся спецификация - результат десятилетнего рефакторинга концепций и, эээ, синергическая по своей природе.
Да, perl6 - это совсем не минималистический язык вроде питона. Он оптимизирован (как и perl5, впрочем) для людей, которые его используют часто, под практическое использование, а не под то, чтобы любой человек мог понять, что написано в любой программе.
С другой стороны, все операторы - это функции (как видно из примера выше). Все ключевые слова в каком-то смысле тоже функции. Грамматики - это такие классы, которые можно наследовать и расширять.
Ну как, мало?
А какие еще есть замечательные языки? Ruby? *ML? Python, между прочим, я считаю менее читаемым, чем даже perl5. Хотя бы из-за отсутствия явного объявления переменных.

pilot

Python, между прочим, я считаю менее читаемым, чем даже perl5.
Ну ты понял. :grin:

doublemother

Ну ты понял. :grin:
Подтверждаю, пейтон лучше просто закопать.
По удобству к перлу только окамл приближается.

karkar

Спасибо!
А какие еще есть замечательные языки?

В зависимости от решаемой задачи по-своему замечательны C#, Scala, Erlang, Haskell, Ocaml, Ruby.
Если говорить об области применения Перла, то хорошей заменой может быть Руби: гибкий синтаксис, определение операторов, метапрограмминг, удобное ООП. Вместе они дают сравнимую с Перлом гибкость и лаконичность без потери читабельности.

sergey_m

Недавно столкнулся с небольшой программой на ruby. Долго ломал об неё голову, в итоге написал такую же на perl, потому что программу мне нужно постоянно менять, а на ruby я не мог понять ничего.
В своё время, когда я не знал perl и столкнулся с простыми программами на perl, то я без всякого напряжение и не читая книг, просто брал и понимал их и редактировал их.

karkar

Это была плохая, негодная программа на Руби. :) Один из девизов этого языка - principle of least surprise. Хотя, конечно, есть фишки не совсем очевидные, но удобные, о них надо знать (начиная с необязательных скобок при вызове функций).
А перл уже давно обрел в народе репутацию языка write only. Если те простые программы переписать на руби, они сложнее для редактирования не станут, только проще (не надо думать, почему здесь у нас переменная с @, а здесь она же с $, например).

sergey_m

Ну я даже не смог в неё вставить дебажные принты. А символы @ и $ мне как раз помогают - они сразу показывают, что есть что: переменная или ключевое слово, какого типа переменная. Также символы { } помогают видеть начало и конец блоков. В ruby я не смог увидеть ни объявления переменных, ни того места, где они перестают существовать.
Короче этот ruby крутой лаконичный язык наверное, но вход в него требует изучения языка. А с перлом было намного проще. Само собой perl позволяет горе-программисту создавать очень жуткие программы. Более того многие книги учат, что типа чем меньше в программе символов, тем круче и элитнее. Это конечно порождает трудночитаемые перлы на перле :)

pilot

символы @ и $ мне как раз помогают - они сразу показывают, что есть что: переменная или ключевое слово, какого типа переменная.
Вшмышле правильная интерпретация закорючек встроена в настоящего программиста :
когда я не знал perl и столкнулся с простыми программами на perl, то я без всякого напряжение и не читая книг, просто брал и понимал их

sergey_m

Можно просто по коду разобраться что есть что.

pilot

Можно просто по коду разобраться что есть что.
write-only perl и легкость python в освоении — настолько общее место, что по этому поводу можно только троллить. Хотя может все-таки бывают извращенцы, но их слишком мало, как показывает практика.

sergey_m

Самоё прикольное, что эту программу на ruby до меня написал чел, который не смог осилить аналогичную программу на python. :lol:

pilot

Самоё прикольное, что эту программу на ruby до меня написал чел, который не смог осилить аналогичную программу на python. :lol:
Что именно прикольного? Что чел бестолковый — умудрился написать нечитабельную прогу на руби и не осилил читать питоний код? :smirk:

Werdna

Что значит "проекта не будет"?
Проект есть и очень активно развивается.
АФАИК, у Перла 6 совсем плохо с производительностью.
К тому же я не знаю ни одного успешного проекта, который бы делался 5 и более лет и всё никак до полноценной беты не дорос. Причины видать не потому что что-то нельзя сделать, а потому что что-то принципиально не реализуется.
Если Микрософт говорит, что сделает очередной Виндовс в году Х, и даже если оно откладывается и перекладывается, то хотя бы как-то предсказуемо. Если в ядре Линукса или в ПХП что-то обещается, то это делается тоже в предсказуемые сроки. По Перл6 я не знаю ни одного прогноза, ни оптимистичного, ни пессимистичного.

Marinavo_0507

Если Микрософт говорит, что сделает очередной Виндовс в году Х, и даже если оно откладывается и перекладывается, то хотя бы как-то предсказуемо.
Chicago до сих пор не сделано вроде.

okis

Да, собственно, WinFS тоже так и не сделали, а это было бы принципиальным новшеством в построении ОС.

Marinavo_0507

Да, собственно, WinFS тоже так и не сделали
походу, я перепутал, не Chicago, а Cairo, где собственно и обещали WinFS в числе прочего

ermsoft

Ура, наконец-то ответ по существу.
Сначала про производительность. Да, с ней все плохо, даже очень плохо, и никто этого не скрывает. Perl6 в 50 раз медленнее интерпретатора Python, реализованного на JS :) А все потому, что разработка идет в другом порядке, сначала надо сделать, чтобы весь spectest проходился, а потом оптимизировать. Получился ли оптимизировать до нормальной скорости и не придется ли при этом пожертвовать чем-то - важный вопрос, по поводу которого я тоже переживаю.
В пользу того, что все решится хорошо, указывает:
- то, что прогресс есть, за последний год test suite выросла в 4 раза, а время ее прохождения не увеличилось;
- то, что в значительной мере производительность rakudo зависит от производительности parrot, а в нем еще очень много есть того, что можно ускорить;
- недавно придуманный chromatic'ом аргумент "java 15 лет назад тоже очень тормозила".
По поводу возраста проекта.
Во-первых, rakudo существует 2 года, ну может 3, а не 10. До него был pugs, у которого тяжелая судьба, да.
pugs весь держался на одном тайваньском разработчике-энтузиасте, который внезапно захотел сменить пол, на почве этого подхватил(а) гепатит, и проект увяз. Автобусное число было слишком маленьким, в общем.
У rakudo с автобусным числом все хорошо, core-разработчиков человек 5, во втором эшелоне еще несколько десятков. А сейчас, с выходом rakudo star, еще больше подтянется, наверное.
Во-вторых, "что-то принципиально не реализуется" - это неправда. Уже реализовано очень много таких сложных вещей, что оставшиеся части спеки на их фоне выглядят довольно простыми.
В-третьих. Мне сейчас на ум приходит пример проекта, который очень долго развивался - wine. 5 лет назад им было невозможно пользоваться, ему тогда уже было лет 10. А сейчас я через него (точнее через crossover games, но разница небольшая) играю в starcraft 2 под ubuntu. Да, и не тормозит :)

zya369

на одном тайваньском разработчике-энтузиасте, который внезапно захотел сменить пол

вот до чего перд доводит!
наверное так было проще/быстрее :grin:

doublemother

А sendmail написан пидарасом, и ничего, весь мир пользуется.

ermsoft

вот до чего перд доводит!
Тогда уж Haskell. Pugs был целиком написан на нем :)
А если серьезно, то у них в Тайвани это считается нормальным, вроде.

Werdna

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

Мне всегда казалось, что вопросы скорости в 100 раз не решаются на этапе оптимизации. Посуди сам, не правильнее ли сразу писать быстро работающий код? А вот то, что может не получиться — это вообще дефект дизайна. Если уж это не предусмотрели, проект точно мёртвый.
Для Перла6 есть будущее, если процессор делать специальный. А всё остальное уже по-моему понятно чем кончится.

ermsoft

Ох. Ты точно знаешь, о чем говоришь?
Контрпримеров я уже два привел, wine и java, из языков программирования могу еще JS и ruby назвать, оба значительно ускорились в последние годы.
Про специальный процессор вообще непонятный аргумент. Мне проще представить, зачем может быть нужен специальный процессор для Haskell, или для Lisp. А в Perl6 все вполне прямолинейно, и то, что оно тормозит - исключительно вопрос реализации. Которая архитектурно тоже правильная и исправима рефакторингом (ключевые слова: jit, новый gc, кастомные pmc). Да, и все оптимизации в parrot дают, условно говоря, квадратичный профит, потому что значительная часть perl6 написана на perl6.
В общем, прочитай про parrot, а то спорить, исходя из общего мировоззрения "так бывает", "так не бывает", и "такого я никогда не видел", как-то странно.
> вот то, что может не получиться — это вообще дефект дизайна.
Прикинь, в IT вообще любой проект может не получиться, и никто не умеет предсказывать, получится или нет :) Потому что формально доказать возможность существования рабочего кода сложнее, чем написать этот самый код.

Werdna

Контрпримеров я уже два привел, wine и java

wine пример плохой, ибо его в любом случае используют вынужденно. Альтернатив ведь нет, а что делать, если очень надо запустить поделку вод винду? Это точно не ниша Перла6, где языков море. Разве что на Перле6 напишут искусственный интеллект. :)
Джава проблемы с производительностью тоже не решила. А ещё больше она не решила проблемы с обжиранием памятью. На ПХП люди пишут, на ПХП весь веб, а на джаве только фанатики. И джава нормально без гига памяти работать не будет, а сайты а ПХП на 256 живут прекрасно. Разницу чувствуешь в стоимости?
К тому же ниша Перла6 вообще не ясная. Поживём — увидим, спорить я не хочу.
Оставить комментарий
Имя или ник:
Комментарий: