Smalltalk по-русски
пятница, Апрель 15, 2005
Ruby/Python on Smalltalk VM

Peter Suk проявил желание написать транслятор Ruby в байткоды Smalltalk VM. Как я понял, это пока только планы, конкретный проект не начат. Не понятно на байткоды какой ВМ будет ориентация в первую очередь (предполагаю - VisualWorks).

Что же ожидается от этого симбиоза:

У Ruby будет гораздо более быстрая среда выполнения (возможно ускорение в 30 раз); ВМ с инкрементальным и основанным на поколениях сборщиками мусора, которые настолько быстры, что даже если объекты создаются в бесконечном цикле, то программа продолжает работать; отличный отладчик, который позволяет изменять методы на лету и продолжать выполнение; окно "workspace" в котором можно выполнить любой кусок кода; визуальный инспектор объектов; мощный "Refactoring Browser"; индустриальная объектно-ориентированная БД (Gemstone) с возможностью определять методы объектов на Ruby; легко доступный метауровень, который позволит программистам на Ruby легко модифицировать язык (например, используя MethodWrappers можно легко реализовать Аспектно-ориентированный Ruby).

Хочу заметить, что 30 кратное ускорение не выглядит особенно фантастично. ВМ VW в 75 раз быстрее Ruby. Плюс быстрый сборщик мусора вместо счетчика ссылок могут дать подобную скорость. В качестве подтверждения можно привести PyCore - транслятор байткодов Python в байткоды VW. Даже первая версия показала значительное ускорение многих операций, это при том, что различий между Smalltalk и Ruby на много меньше, чем между Smalltalk и Python.

Кстати, из OO Richards Bench можно сделать вывод, что написание небольшой ВМ на С, а всей остальной системы на "основном" языке гораздо более перспективно даже с точки зрения времени выполнения. Так, динамическая ВМ (VW) всего в 2-3 раза медленнее статических ВМ, и намного (75 раз) быстрее систем где часть системы написана на одном "основном" языке с критическими по времени выполнения частями на С.

Comments: Отправить комментарий

<< Home

Популярные статьи
:: Smalltalk?!
:: Почему Smalltalk?
:: Great Leap Forward from Java to Smalltalk

Последние сообщения
:: [Job] Работа в Transas (Санкт-Петербург)
:: [VW] Полезняшки: Teachable
:: Smalltalk/JVM - open source?
:: Ambrai Smalltalk 1.0.6 Beta
:: [VW] Знаете ли Вы, что такое pragma?
:: Dolphin Smalltalk BETA
:: A Seaside Vacation
:: Dynamic typing
:: [Squeak] 64-bit VM
:: Анонсы событий от ESUG и STIC на 2005-й год

Архив
Предыдущие новости / Декабрь 2004 / Январь 2005 / Февраль 2005 / Март 2005 / Апрель 2005 / Май 2005 / Июнь 2005 / Июль 2005 / Август 2005 / Сентябрь 2005 / Октябрь 2005 / Ноябрь 2005 / Декабрь 2005 / Январь 2006 / Февраль 2006 / Март 2006 / Апрель 2006 / Май 2006 / Июнь 2006 / Июль 2006 / Сентябрь 2006 / Октябрь 2006 / Ноябрь 2006 / Декабрь 2006 / Январь 2007 / Февраль 2007 / Март 2007 / Апрель 2007 / Май 2007 / Июнь 2007 / Август 2007 / Сентябрь 2007 / Ноябрь 2007 / Январь 2008 / Март 2008 / Май 2008 / Июнь 2008 / Июль 2008 / Август 2008 / Сентябрь 2008

Atom Feed
Smalltalk по-русски


Powered by Blogger