LINUX.ORG.RU

Parrot 1.4

 , ,


0

0

Вышла версия 1.4 платформы для динамических языков. Она включает в себя средства для создания и проверки грамматики языка PGE, средства для создания компилятора PCT, виртуальную машину PIR и библиотеки. Благодаря простоте разработки языков программирования, для платформы уже существуют реализации десятков языков программирования в том числе Python, Ruby, Lua, Sheme, Javascript, NQP (Not Quite Perl 6), Brainfuck. Также есть компиляторы из байткодов Java и .Net в PIR. Некоторые изменения:

  • добавлен экспериментальный «Infinite Memory» GC
  • усовершенствования в pbc_to_exe и Win64
  • книга о PIR сдана в печать
  • начата работа над библиотекой OpenGL::Math

Тем временем Rakudo (компилятор Perl 6) выходит на финишную прямую. Осталось около 200 тестов, которые нужно перевести на платформу Parrot (для сравнения, более 17000 уже перенесено и около 15000 проходят успешно).

>>> Parrot 1.4.0 "Mundo Cani" Released!

>Осталось окло Heil spellcheck!

lexa_
()

Кто-нибудь его использовал irl (в проектах)?

Как оно по сравнению с llvm (или совсем не та степь)?

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

> Как оно по сравнению с llvm (или совсем не та степь)?

То, что Unladen Swallow делается на LLVM, как бы намекает на ненужность Parrot.

tailgunner ★★★★★
()

может быть не "отравлена", а "отправлена"? А лучше вообще "сдана в печать". И gc это всё таки "он".

GArik ★★★
()

Надо будет поглядеть...

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

>> Как оно по сравнению с llvm (или совсем не та степь)?

>То, что Unladen Swallow делается на LLVM, как бы намекает...

ну, имхо это обусловлено наличием c++...

>на ненужность Parrot

зря Вы так, батенька, там же есть lisp, lua и даже bf собственной персоной...

гораздо интереснее сравнить их по скорости/переносимости whatever...

shty ★★★★★
()

Как с производительностью? Далёк ли тот день, когда python в parrot будет быстрее cpython'а?

И будет ли это сопровождаться съеданием всей оперативки?

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

У LLVM нет ничего похожего на PGE и PCT, так что посмотрим, кто кого.

grim ★★☆☆
() автор топика
Ответ на: комментарий от phasma

>я теперь смогу на jQuery писать свои приложения ?
Это как всегда троллинг, или вы видите применение jQuery за пределами DOM браузера?

grim ★★☆☆
() автор топика

нарыл инфу от анонимных аналитиков...

>LLVM is that it is a low level interpreter, near to the actual hardware. Parrot probably is itself, but the big bonus with Parrot is that it inherits a huge library from Perl and CPAN. That's the advantage for somebody developing a new language: an already existing massive library. Like the advantage the Java VM has with all the class libraries.

llvm - низкоуровневый интерпретатор, parrot - parrot и есть (морковка)... преимуществом морк^Wparrot может являться то что оно (?) содержит "могучие" библиотеки входящие в perl и cpan....

> Both Parrot and LLVM are register based interpreters which give a nice speed improvement over stack based interpreters.

и parrot и llvm - регистровые ВМ, так что работать должны быстро

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

>я теперь смогу на jQuery писать свои приложения ?

да и сейчас наверное можешь, только зачем тебе лишний слой виртуализации для этого?

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

> Это как всегда троллинг, или вы видите применение jQuery за пределами DOM браузера?

Я смотрю в будущее. Когда начнет загнивать .Net все же перейдут на JS

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

>> на ненужность Parrot

> зря Вы так, батенька, там же есть lisp, lua и даже bf собственной персоной...

CL там недоведенный, Lua нужен только игроделам... вся надежда только на bf

> гораздо интереснее сравнить их по скорости/переносимости whatever...

Почти все языки на Parrot (кроме Perl) - огрызки. То есть о запуске реальных программ речь просто не идет.

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

> да и сейчас наверное можешь, только зачем тебе лишний слой виртуализации для этого?

хочу байт-код компилятор со шлюхами

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

> LOLCODE

Да, без поддержки LORCODE и виртуальная машина не виртуальная машина, да и анонимусы не одобрят.

GuttaLinux8
()
Ответ на: комментарий от shty

> parrot - parrot и есть (морковка)

Сам ты... %) "parrot" - это "попугай".

> parrot и llvm - регистровые ВМ, так что работать должны быстро

"Регистровость" VM не делает ее быстрой.

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

>> parrot - parrot и есть (морковка)

>Сам ты... %) "parrot" - это "попугай".

ага, это у меня фейл случился, видать отвлёкся и приглючило :)

>> parrot и llvm - регистровые ВМ, так что работать должны быстро

>"Регистровость" VM не делает ее быстрой.

зато "стековость" делает её автоматически медленнее

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

>Я смотрю в будущее. Когда начнет загнивать .Net все же перейдут на JS
Ясно. Я так и думал, что это пустой тролинг.

grim ★★☆☆
() автор топика
Ответ на: комментарий от tailgunner

>Ну это как бы она и есть...

я в том смысле что недопиленность языков окроме perl обусловлена тем что parrot vm для perl в первую очередь...

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

хотя, с другой стороны, допилят... платформа таки всё равно интересная и доставляет...

возможно вместо сегодняшних холиваров c++ vs mono буду холисрачи на тему llvm vs parrot :) и нубы будут удивляться тому что бывают оказывается и обычные компиляторы

shty ★★★★★
()

Лучше бы рубиниус развивали

Banana
()
Ответ на: комментарий от shty

> я в том смысле что недопиленность языков окроме perl обусловлена тем что parrot vm для perl в первую очередь...

Скорее тем, что долгосторой Parrot давно потерял доверие, и языки предпочитают обзаводиться своими JIT (luajit, psyco/PyPy, не говоря уже о ворохе Лиспов),

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

>зато "стековость" делает её автоматически медленнее
Труды теоретиков это хорошо, но они писали это лет 30 назад.
А на данный момент наиболее быстрые VM это Java и .Net - обе стэковые.

grim ★★☆☆
() автор топика
Ответ на: комментарий от tailgunner

>языки предпочитают обзаводиться своими JIT (luajit, psyco/PyPy, не говоря уже о ворохе Лиспов),
Из-за NIH синдрома.

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

> Труды теоретиков это хорошо, но они писали это лет 30 назад.

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

> А на данный момент наиболее быстрые VM это Java и .Net - обе стэковые.

Только вот Sun обанкротился, делая Яву быстрой :-P

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

>>языки предпочитают обзаводиться своими JIT (luajit, psyco/PyPy, не говоря уже о ворохе Лиспов),

>Из-за NIH синдрома.

Бгг. Эти JIT есть и работают уже несколько лет, а Parrot еще по факту не существует.

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

>>зато "стековость" делает её автоматически медленнее

>Труды теоретиков это хорошо, но они писали это лет 30 назад.

ну хорошо, а что за эти 30 лет изменилось в теории?

>А на данный момент наиболее быстрые VM это Java и .Net - обе стэковые.

пруфлинк, плиз

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

>> я в том смысле что недопиленность языков окроме perl обусловлена тем что parrot vm для perl в первую очередь...

>Скорее тем, что долгосторой Parrot давно потерял доверие, и языки предпочитают обзаводиться своими JIT

т.е. теперь есть шанс что их таки допилят?

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

> Ясно. Я так и думал, что это пустой тролинг.

а как же будущее ? новые технологии ?

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

> т.е. теперь есть шанс что их таки допилят?

Есть только 2 динамических языка, которые имеют значение: Python и Ruby. У первого есть Unladen Swallow, PyPy, Psyco v1 и может появиться Psyco v2 - что-нибудь да "выстрелит". Рубисты только недавно осилили переход с AST-интерпретатора на VM, так что тоже не станут возиться с Parrot. В общем, Parrot станет любимой платформой маргинальных язычков... типа bf %)

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

>Есть только 2 динамических языка, которые имеют значение: Python и Ruby.

не согласен... из тех что широко применяются, помимо вышеупомянутых, есть c, .net, lua, lisp/scheme, tcl...

>Рубисты только недавно осилили переход с AST-интерпретатора на VM, так что тоже не станут возиться с Parrot. В общем, Parrot станет любимой платформой маргинальных язычков... типа bf %)

не думаю... есть определённый (и немаленький) профит в расшаривании библиотек между языками...

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

Ну, я заглядывал в книги Хартманиса и Мински, они достаточно долго нудно писали о преимуществах регистровых машин. Стэковые прошли мимо меня.

grim ★★☆☆
() автор топика
Ответ на: комментарий от shty

>зато "стековость" делает её автоматически медленнее

4.2 Стековость её не делает ни-ка-кой. Стековая машина отлично транслирует в региструвую. Стековое выражение тривиально реверсинжинерится обратно в исходный код - с чего собственно становится медленнее, аналитик ты наш?

theos ★★★
()

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

Хотя да, создание языков посредством грамматик удобненько, но чтобы вм была применима другими - это должно быть не только удобненько, но ещё и эффективно и безглючно, хотя бы на уровне jvm. А с этим у паррота и ракудо есть проблемы. Переодически rakudo сваливается при разборе исходника. Будем надеяться что это лиш временные неудобства.

И ещё, каждый раз в новостях про паррот пишут про мифические .net->pir javabc->pir и поддержку всех на свете языков. Круто конечно копипастить с parrot.org, но надо думать головой и проверять данные. Большая часть этих проектов на таком раннем развитии или даже в заморозке, что их упоминать даже глупо.

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

>Parrot еще по факту не существует.
Parrot уже достаточно стабильна.

К сожалени кроме NQP до полностью рабочего сочтояния ничего не довели.

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

>> Parrot еще по факту не существует.

> Parrot уже достаточно стабильна.

"Достаточно" для чего? Выше по треду товарищ сказал, что есть проблемы. И как у Parrot с JIT?

tailgunner ★★★★★
()

>книга о PIR отравлена для публикации Инкогнито!!!!!

impfp
()
Ответ на: комментарий от tailgunner

>Есть только 2 динамических языка, которые имеют значение: Python и Ruby.
Это для вас лично.
Эти языки в сумме востребованных вакансий в разы меньше Perl, не вспоминая Javascript.

Так что маргинальные языки это как раз Python и Ruby.

grim ★★☆☆
() автор топика
Ответ на: комментарий от tailgunner

>"Достаточно" для чего? Выше по треду товарищ сказал, что есть проблемы.
Он писал о Perl 6

>И как у Parrot с JIT?

Присутствует.
До Java в производительности пока далеко.

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

Вот это и значит, что по факту паррота ещё нет. Ну можно подкорректировать и сказать, что свои задачи паррот пока не выполняет должным образом:)

Поскольку это vm, то она должна быть не только с минимумом глюков, но ещё и быстрой. А сейчас это не так, единственное что может компенсировать небыстроту паррота - тот факт что ракудо использует его. То есть попросту нет выбора. Ну и то, что паррот достаточно интересен сам по себе, но ещё не как продукт окончательный, то есть интересны граматики, кроссязыковость - потенциал. А чтобы этот потенциал перерос во что-то большее - нужно чтобы сам паррот стал быстрым, и нужно как минимум 2а _законченных_ компилятора для него. Идеально, если это будут компиляторы перл6 и питона. И желательно, чтобы компилятор питона + паррот показывали лучшую производительность среди прочих реализаций питона. Вот тогда, можно будет говорить о том, что паррот существует. Сейчас же он интересен таким как я и вам видимо, но это очень далеко от индустрии.

ixrws ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.