LINUX.ORG.RU

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

 , , ,


0

4

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

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

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

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

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

★★★★★

Проверено: maxcom ()

транслятор ruby написан на питоне? Или я что-то не понял.

ymuv ★★★★ ()
Последнее исправление: ymuv (всего исправлений: 1)

Язык на трансляторе, что на транслаторе, что на трансляторе транслятора.
Выше только стратосфера.

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

Все правильно понял, сходи по ссылке на гитхаб если не веришь.

provaton ★★★★★ ()

А еще есть такое http://opalrb.org/ да что же вы все пишете на этом руби, других ЯП нет чтоли.

А мне кажется была бы интересная реализация руби подобно dart, на основе V8, или spidermonkey, т.е. глубже чем синтаксис js. Т.к. ruby строже чем js, то должно работать быстро.. ну это так, из области фантазий.

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

из области фантазий

С одной стороны, а с другой, может стоит смотреть на V8 и spidermonkey как на платформы для динамических ЯП и как-то двигать их в сторону некой адаптивности и универсальности.. Хотя это из той же области.

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

Интересно посмотреть на реакцию руби-фагов :}

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

А руби разве сливает по скоростью яваскрипту? Мне казалось, там тупаки из-за рельс с 20 слоями абстракций. В результате которых джейсон парсят ямлом и т.п.

Vit ★★★★★ ()

ожидаю проект Anakonda — реализация Python на JRuby с реактивным сборщиком мусора и суперсовременным JIT

Mr_Gentoo ()
Последнее исправление: Mr_Gentoo (всего исправлений: 1)

в свете параллельного треда где-то там должны быть модули на Пъэрле.

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

А там вообще JIT есть? Что-то слишком большая разница.

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

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

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

Что-то слишком большая разница.

Причем она выросла за последние месяцы, т.к. я помню, что преимущество было не таким большим, http://www.arewefastyet.com/ это подтверждает, на kraken мы видим очередной скачек производительности в конце ноября, но что творит мозилла..

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

реализация руби подобно dart, на основе V8

это ты предлагаешь ruby в js транслировать?

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

Нет, это уже есть. И еще раз, dart - это самостоятельная vm, основанная на v8, по словам одного из разработчиков, они сильно упростили v8 благодаря тому, что в dartе строгая типизация (и ждут увеличения производительности, пока получается не очень-то, а я говорил, что интерпретатор может типизировать лучше человека). Трансляция в js, это отдельная, фича (просто у них есть транслятор). И да, я бы хотел подобную dartу, реализацию руби основанную на одной из js машин, уж если с дартом получилось (который статически типизируемый), то с ruby тоже должно получиться.

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

уж если с дартом получилось (который статически типизируемый), то с ruby тоже должно получиться.

Деление на ноль чую я.

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

Если б еще под ноду были зрелые библиотеки, это был бы рай, а не ад :)

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

Просто js машины мне кажутся (и я говорил уже об этом здесь) более серьезными чем mri и rubinius. Я сомневаюсь, что эти интерпретаторы (по всевозможным оптимизациям) приблизятся к v8, spidermonkey и HotSpot

special-k ★★★ ()

Гном на js, Ruby на Питоне, телефон на Файрфоксе. Возможно, конец света, все же, наступил, и все перевернулось.

note173 ★★★★★ ()

PyPy

Неужели руби проще реализовать, чем наконец допилить Python 3, который они уже несколько лет безуспешно пытаются реализовать на своём гибком языке высокого уровня™?

anonymoos ★★★★ ()

Класс, давайте ещё джаву на перле «реализуем» и всё будет чики-пуки

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

Неужели руби проще реализовать, чем наконец допилить Python 3, который они уже несколько лет безуспешно пытаются реализовать на своём гибком языке высокого уровня™?

Даже если и проще, то проект, я уверен, загнётся достаточно быстро, а что касается «допилить» — лучше бы оставили поддержку Python 2.x, иначе тут поимеет место быть история, аналогичная той, что была с KDE 4.0, но в меньших масшабах, ящитаю.

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

который они уже несколько лет безуспешно пытаются реализовать на своём гибком языке высокого уровня™?

Ты так говоришь как будто они серьезно пытались. Бублики там хорошие.

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

Я сомневаюсь, что эти интерпретаторы (по всевозможным оптимизациям) приблизятся к v8, spidermonkey и HotSpot

Руби более динамичен, чем js, поэтому вряд ли выйдет что-нибудь практичное. К тому же, на HotSpot'e только статика быстро вертится, тот же jython и jruby не фонтанят, совсем.

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

На самом деле js более динамичен чем руби. Одинаково. А jruby быстр, обнови свою инфу.

на HotSpot'e только статика быстро вертится

Уже нет.

Java 7 brings with it an important new feature called invokedynamic, which greatly improves JRuby's performance on VMs that support it.

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

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

Вот если бы к Питону прикрутили какие-нибудь высокопроизводительные БД.
Например, у одного моего коллеги есть потребность в работе с большими массивами данных из Python, но без установки SQL-сервера.
Как я понимаю, такие штуки как INNER JOIN, на NumPy эмулировать - это садомазохизм.

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

Opalrb

А еще есть такое http://opalrb.org/

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

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

А jruby быстр, обнови свою инфу.

Быстр как java?

invokedynamic

Костыль с минимум профита, ага.

На горизонте пока нет ни одной vm которая может гонять динамику со скоростью статики, а все реализации руби сосут у v8 — тупо факты, а не домыслы фонатов, такие дела.

baverman ★★★ ()
Ответ на: Opalrb от blan4

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

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

Хочу более мягкого разделения клиентской стороны и серверной в рельсовом сайт, где необходимо джаваскриптовое MV*. Сейчас начал писать на Spine.coffee. Так то довольно няшно и мило, но хочется чего-то по типу GWT, только для руби.

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

Астральная реализация языка очень высокого уровня.

false ★★★★★ ()

годно.
видел тред длинной в 1-у страницу

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

джаву на перле «реализуем»

ыц ыц ыц.
хорошо когда пятница начинается в четверг

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

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

Мб SQLite?

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

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

Тогда надо поставить NoSQL-сервер! </being square>

Если серьезно, то SQLite и TokyoCabinet (см. TDB). Остальное, AFAIK, через сервер или через задницу.

amix ★★★ ()

лучше б делом занялись, ей богу...

anonymous ()

Не нужно на не нужно.

anonymous ()

Ждём, когда на питоне напишут си плюс плюс.

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