LINUX.ORG.RU

Анонсирован проект Topaz — реализация языка Ruby на Python

 , , ,


0

4

На свет появилась новая реализация языка Ruby — Topaz. Проект примечателен тем, что для его разработки был использован RPython — набор инструментов для трансляции, разрабатываемый в рамках проекта PyPy. Использование RPython, по мнению разработчиков, позволит создать по-настоящему высокопроизводительную реализацию ЯП Ruby с быстрым сборщиком мусора и современным JIT.

Разработка началась 10 месяцев назад. В данный момент поддерживаются практически все синтаксические конструкции языка, однако отсутствует большинство встроенных методов и практически не реализована стандартная библиотека.

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

Репозиторий на github

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

★★★★★

Проверено: maxcom ()
Последнее исправление: provaton (всего исправлений: 2)

Ответ на: комментарий от special-k

JavaScript V8 Bad Output

Особенно это доставляет, подозреваю, что когда пофиксят, результат будет диаметрально противоположный. Плавали — знаем! Вот был например mysq-4.x, бажный по самое нихочу, но зато быстрый, уууу... В 5.x начал походить на настоящую СУБД... И где теперь его производительность!? Тут такая же ситуация — как только V8 станет готов для продакшна — будет он сосать даже у PHP.

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

Например, у одного моего коллеги есть потребность в работе с большими массивами данных из Python, но без установки SQL-сервера.

Пусть поставит sqlite и не мучается.

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

mysq... В 5.x начал походить на настоящую СУБД

Отличная шутка. Сделал мой день.

GateKeeper ★★
()

языка Ruby — Topaz

руби на пистоне надо назвать Tormaz.

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

На горизонте пока нет ни одной vm которая может гонять динамику со скоростью статики

проект parrot cardinal

Быстр как java?

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

anonymous
()

Что за бред

Неужели это нагроможднение будет работать быстрее, чем интерпретатор с джитом, написанный на каком нибудь нативном языке (c, c++)?

navrocky
()
Ответ на: Что за бред от navrocky

да будет, по бенчмаркам (если не брать IO) топаз быстрее руби на порядки (0.01 vs 0.1ХХ)/ на нативных языках уже написаны интерпретаторы java/c/c++ -> jruby/mri/rubynius

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

dart - это самостоятельная vm, основанная на v8

Не знал, а можно пруф? Не пойми меня неправильно, но в прошлый раз ты сильно много дезинформации выплескивал, а на чем основана dart vm я так сходу и не нагуглил.

И, кстати, http://www.dartlang.org/performance/. Чья бенчмарка круче, интересно.

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

ты понимаешь как это работает?

Ага.

что джейруби транслируется также в байткод вм

Да. Ты бы глянул в этот байткод, для начала.

отрабатывает также как и джава

А здесь полный провал. Динамическая диспетчеризация, увы.

после первого прогона можно вывести уже все типы.

Ню-ню, экий ты скорый, анон. С такой тягой можно любую лужу расплескать.

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

то есть ты не понимаешь.

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

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

джейсон парсят ямлом

Это уже неизлечимый рубин головного мозга.

По сабжу - млдцы. Осталось только реализацию питона на JS (хотя бы V8) найти. Или наоборот, JS на питоне. Тогда все языки, кроме двух - Си и JS|Python - можно смело закапывать.

border-radius
()
Ответ на: комментарий от border-radius

Осталось только реализацию питона на JS (хотя бы V8) найти. Или наоборот, JS на питоне.

Не занимайтесь ерундою. Что нужно, так это написать нормальный компилятор C/C++ на Питоне. Вот тогда будет профит.

Vudod ★★★★★
()

все идет к тому, что в итоге останется только одна кнопка «Написать супер-прогу!

BambarbiyaKirgudu
()

Зачем оно нужно, если есть Perl?

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

сильно много дезинформации

~ 0 дезинформации, может быть немного предположений, но не более; если они не всем нравятся, что я могу поделать; никто ничем конкретным меня не опроверг, а всякие эмоции меня мало волнуют. Не всем нравятся реалии и перспективы, до такой степени, что некоторые даже не читают собственные сообщения RubyGems.org был взломан (комментарий)

Dart apps can run natively in a Dart virtual machine (VM) or be compiled to JavaScript.
Dart apps can run natively in a Dart virtual machine (VM)
Dart virtual machine (VM)

Помоему, это клиника, ты так не считаешь? А dart2js - это просто утилита http://www.dartlang.org/articles/m2-whats-new/#dart2js-shrinks-output

special-k ★★★
()
Ответ на: комментарий от VladimirP

Оно на Jython'е запустится?

Ты хотел сказать JRython'е?

baverman ★★★
()

по-настоящему высокопроизводительную реализацию ЯП Ruby

на Python

Тонко.

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

ямлом

Так вон от куда оно прет с coffiescript, scss, mustache

vertexua ★★★★★
()

а где собственно реализация языка Ruby на Ruby!?

BillDver ★★★
()

Осталось прикрутить JS, и можно жечь.

spyro
()
Ответ на: комментарий от baverman

Тысячи их

А есть среди них хоть одна, умеющая то же, что и CPython, и хоть немного совместимая с его стандартной библиотекой?

Ты не поверишь

Вопрос того же плана: оно умеет в ES5.1?

border-radius
()
Ответ на: комментарий от baverman

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

border-radius
()
Ответ на: комментарий от RedPossum

Как минимум об этом хорошо говорится здесь Возможно в других докладах тоже об этом говорится. А сходу, действительно, не нашел конкретных упоминаний кроме вездесущих сравнений именно с v8. Похоже маркетинг работает в привычном ему вуалировании.

special-k ★★★
()
Последнее исправление: special-k (всего исправлений: 1)
Ответ на: комментарий от pacify

Вот если бы к Питону прикрутили какие-нибудь высокопроизводительные БД.

Redis-py, pymongo

border-radius
()

На данный момент - Руби один из самых сложных языков для реализации. Питон, JS в разы проще сделать. Вряд ли Топаз сможет дойти до production-ready раньше чем через 2-3 года. А до этого времени и Rubinius может подоспеть.

Плюс, последний тренд в Руби - движение в сторону многопоточности. JRuby и Rubinius уже позволяют полноценно использовать нативные потоки. Непонятно, как PyPy и Топаз проявят себя в этом плане.

Ну и RPython - немного не Python, так что деза в заголовке присутствует.

anonymous
()

Не взлетит. Вон rubinius какой классный, и никто не юзает. А это гавно на чём написано? Ещё бы на sh написали. Идиоты.

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

Поздравляю, ты только что завалил тест Напида-Раса. Причем тут sh вообще? «Это», вообще-то, является JIT-ом, который оттранслирован из исходных кодов на RPython. То, что в заголовке херня написана, не отменяет того, что у тебя в голове говно.

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

Чем бы оно не являлось, по сравнению с llvm оно sh.

что в заголовке херня написана, не отменяет того, что у тебя в голове говно.

Давай не будем 'а ты', 'а у тебя', я с тобой свиней не пас.

paranormal ★★
()

Реквестирую тэг: Java-like trash programming languages

anonymous
()

Двойной костыль более устойчив чем одинарный

refig
()
Ответ на: комментарий от Vudod

нормальный компилятор C/C++ на Питоне

И проект будет собираться с утра и еще 2 недели.

anonymous
()

Ах вот ты какая оказывается «русская матрёшко». Снизу бы ещё Jthon подложить...

zch
()

Тред не читал, но кретины, выкрикивающие глупости про то, что реализация на Python ну ни как не может быть быстрее реализации на Си уже набежали?

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

ЛОР без кретинов? Не в этой жизни!

anonymous
()

«позволит создать по-настоящему высокопроизводительную реализацию»

Руби знаю поверхностно, но из того что видел, по-моему там вообще невозможна не только «по-настоящему», а даже удобоваримо производительная реализация. Там же ничего ни про что не известно, instance методы и прочий мега-динамизм.

seg-fault
()

А давайте напишем реализацию Perl на bash? Это же модно!

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