The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Доступен интерпретатор mruby 2.0

12.12.2018 01:51

После 8 месяцев разработки состоялся релиз mruby 2.0, встраиваемого интерпретатора динамического объектно-ориентированного языка программирования Ruby. Mruby обеспечивает совместимость синтаксиса на уровне Ruby 1.9, но также поддерживает отдельные возможности из более новых версий. Интерпретатор отличается низким потреблением памяти и возможностью встраивания в другие приложения. Кроме того, поддерживается компиляция Ruby-программ в байткод при помощи развиваемого проектом компилятора "mrbc" и преобразование полученнего байткода в код на языке Си. Код mruby распространяется под лицензией MIT.

Новый выпуск включает улучшения совместимости с Ruby 2.x и оптимизацию потребления памяти. Основные новшества:

  • Реализованы именованные аргументы (keyword arguments);
  • Реализована деконструкция аргументов;
  • В mruby-kernel-ext добавлен метод Kernel#then для Kernel#yield_self (совместим с Ruby 2.6);
  • В mruby-array-ext для обеспечения совместимости с Ruby 2.6 добавлена возможность вызова Array#to_h в блоках и реализован метод Array#union;
  • В mruby-string-ext добавлена возможность вызова String#lines в блоках и добавлены методы String#tr, String#tr!, String#tr_s, String#tr_s!, String#squeeze, String#squeeze!, String#count, String#delete, String#delete;
  • В ruby-pack добавлен метод String#unpack1
  • Уменьшено потребление памяти. Появился новый формат байткода.


  1. Главная ссылка к новости (https://mruby.org/releases/201...)
  2. OpenNews: Обновление Ruby 2.5.1 с устранением уязвимостей
  3. OpenNews: Выпуск сервера приложений NGINX Unit 0.7 с поддержкой Ruby
  4. OpenNews: В RubyGems устранено 7 уязвимостей
  5. OpenNews: Выпуск языка программирования Ruby 2.5.0
  6. OpenNews: В RubyGems выявлена удалённо эксплуатируемая уязвимость
Автор новости: GentooBoy
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/49765-mruby
Ключевые слова: mruby, ruby
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (24) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Юзер (??), 08:44, 12/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Матц - молодец, отдал "большой" Руби хипстерам на растерзание - как гламурную пускалку для Рельсов, и сделал здоровый форк.

    Вот только беспокоит, в mruby только базовые классы? А как же всё многообразие прикладных библиотек (типа GUI и БД)?

     
     
  • 2.4, anonymous (??), 09:16, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Подключается стандартным образом, надо только в окружение подкладывать.
     
     
  • 3.7, Аноним (7), 11:04, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это он сам у себя спрашивал как на сабже РОР заюзать ...
     
  • 2.9, Аноним (-), 12:26, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Матц - молодец, отдал "большой" Руби хипстерам на растерзание

    Рубисты - кинтэссенция хипстеров.

     
     
  • 3.12, Аноним (12), 13:16, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Кто же тогда все эти фронтендеры-джаваскриптмакаки?
     
     
  • 4.15, КГБ СССР (?), 14:47, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Топливо биореактора.
     
  • 3.13, рубист (?), 13:26, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    э, слыш
     

  • 1.3, AntonAlekseevich (ok), 09:03, 12/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Кроме того, поддерживается компиляция Ruby-программ в байткод при помощи развиваемого проектом компилятора "mrbc" и преобразование полученнего байткода в код на языке Си.

    Идут на все, что угодно кроме развития ЯП Си и использования уже существующего LLVM.

    А так проект не плох.

     
     
  • 2.5, Додо (?), 09:33, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Наверное, потому что для какого-то развития C нужно договориться с целой толпой людей из комитета, сделать так, чтобы новая фича ничего совместимого не рушила и при этом нравилась большей части человеков в интернете? Проще интерпретатор Ruby написать, чесслово.
     
     
  • 3.10, Аноним (-), 12:27, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    А почему какой-нибудь gcc просто делает расширения, как им удобно? А некоторые потом даже стандартизируют, если народу понравилось.
     
     
  • 4.18, Анонн (?), 15:23, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > А почему какой-нибудь gcc просто делает расширения, как им удобно?
    > А некоторые потом даже стандартизируют, если народу понравилось.

    А наверное потому что они делают один из (а кое-где и самый) используемый компилер в мире и могут делать как им удобно, не? Ведь даже второй крупный компилер - шланг, вынужден был повторять все расширения и поддерживать совместимость, чтобы не остаться маргинальным компилятором для ябло-загончика.

    А вообще, говорить в контексте gcc о "каком-то" - лучший способ продемонтсрировать "квалификацию" ))

    И то, стандартизуют потом только сильно некоторые фичи.
    Или ви таки нам расскажите, что тот же cleanup атрибут толком никому не сдался и "нинужен!"?


     
     
  • 5.25, neit95 (ok), 00:04, 18/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Clang'и вообще приколюги. Рылся как-то среди ключей компиля, наткнулся на ключи для совмести с msvc и даже для поддержки конкрукций C++ Builder'а (всякие местные события, да свойства). С msvc было как-то даже местами ожидаемо, но вот поддержка C++ Builder'а удивила. Если бы был популярнее, думаю можн было бы ожидать порта VCL на линукс.
     
  • 3.11, Аноним (11), 13:12, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Мелкососок это не останавливает от слова никак. Да и в гцц со шлангом свои расширения.
     
  • 2.16, КГБ СССР (?), 14:48, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Не надо развивать Си. Для развития и прогресса есть куча других языков.
     

  • 1.6, annual slayer (?), 10:31, 12/12/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    устроить бы гонки на прокаченной сельхозтехнике, как в американских деревнях принято:

    mrbc vs python-nuitka

     
     
  • 2.8, Аноним (8), 11:39, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Получится сравнение теплого с мягким. mruby это проект Мацумото по реализации Руби с минимальным футпринтом для использования во всякой эмбедовке и для подключения к другому софту например для написания плагинов.

    Она раз в 10 уступает по производительности мейнстримовому руби.

     
     
  • 3.14, annual slayer (?), 14:03, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    более точным было бы сравнение mrbc с pyston, но последний загнулся

    но вообще я надеялся, что кастрированный руби быстрее обычного

     
     
  • 4.19, Аноним (19), 17:58, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Не во всех задачах он тормоз, но таки да. Я так понял, его основная задача — работать в условиях сильно ограниченной памяти.
     
     
  • 5.21, Аноним (8), 01:52, 13/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так если сравнить dd из busybox и dd из GNU coreutils то тоже не будет никакой разницы, поскольку все упрется в I/O.
    Мацумото во времена 1.9, когда на RoR слетелось много разрабов, которые запилили виртуальную машину, GC и прочее чтобы ускорить рельсы, которые тогда крутились в Твиттере и Гитхабе, понял что его студенческий хобби проект зашел слишком далеко, а в виртуальных машинах он не шарит.
    Тогда он сделал свой новый проект, так сказать back to the roots, но остался добровольным пожизненным диктатором Руби под апплодисменты комьюнити.
    В итоге, я надеюсь, Ruby когда-нибудь заменит LUA на тех задачах, где не нужна суперпроизводительность, было бы круто если бы nginx его бы подрубили, например.
     
     
  • 6.22, Аноним (22), 02:54, 13/12/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    В mruby тоже VM если что в отличии от  mri 1.8.7. И mruby давно подрубилм к nginx. Ну и он не тормозит если у сравнивать с lua. У lua есть luajit вот он реакьивная торпеда.
     
     
  • 7.23, Аноним (23), 04:12, 13/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Ну в mruby не VM от Койчи Сасады. Когда везде в продакшне крутилась 1.8 c bison-овским интерпретатором(никого кстати этот бред не останавливал) никто и подумать не мог насколько быстрее может стать руби.
    LuaJIT вообще из другой оперы конечно. И насчет подрубок mruby к nginx, отсюда поподробнее.
     
     
  • 8.24, GentooBoy (ok), 21:28, 13/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Я про модуль ngx_mruby Сделаю вот так уж извини https youtu be uZmzQE7xXCY ... текст свёрнут, показать
     
  • 3.17, Матцумото (?), 14:54, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Пруфф на то, что уступает
     
  • 3.20, GentooBoy (ok), 23:16, 12/12/2018 [^] [^^] [^^^] [ответить]  
  • +/
    не в 10 раз, но да он медленней. Опять же есть плюсы меньше время старта и потребления памяти.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру