The OpenNET Project / Index page

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

Выпуск языка программирования Ruby 2.4.0

25.12.2016 11:20

Представлен релиз Ruby 2.4, динамического объектно-ориентированного языка программирования, отличающегося высокой эффективностью разработки программ и вобравшего в себя лучшие черты Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp. Код проекта распространяется под лицензиями BSD ("2-clause BSDL") и "Ruby", которая ссылается на последний вариант лицензии GPL и полностью совместима с GPLv3. Ruby 2.4 является четвёртым значительным выпуском, подготовленным в рамках нового планового процесса разработки, подразумевающего отведение года на подготовку функциональных улучшений и формирование каждые 2-3 месяца корректирующих выпусков.

Основные улучшения:

  • Переработана реализация хэш-таблиц (st_table), внесены улучшения связанные с переходом на использование открытой адресации для борьбы с коллизиями и применением упорядоченных массивов вместо списков с двойным связыванием. В среднем новая реализация обеспечивает 50% ускорения работы с хэшами;
  • Добавлена возможность binding.irb для запуска REPL-сеансов по аналогии с binding.pry;
  • Типы Fixnum и Bignum преобразованы в универсальный тип Integer. Все Си-расширения, из которых выполняется обращение к классам Fixnum и Bignum, должны быть переработаны;
  • В строковых операциях String/Symbol#upcase/downcase/swapcase/capitalize реализована поддержка маппинга строчных/прописных символов для Unicode (ранее подобный маппинг был доступен только для ASCII-символов);
  • Внесена серия оптимизаций производительности. В частности, ускорена работа "Array#max" и "Array#min", реализации "[x, y].max" и "[x, y].min" избавлены от создания временных массивов для некоторых ситуаций, добавлена операция "Regexp#match?" позволяющая обработать регулярное выражение без создания объекта с обратными ссылками, ускорены операции доступа к экземплярам переменных;
  • Добавлены отладочные вызовы "Thread#report_on_exception" и "Thread.report_on_exception" позволяющие отследить исключения при завершении потоков или выполнении операций сборки мусора. Расширены механизмы обнаружения взаимных блокировок в потоках, при выявлении которых обеспечен вывод обратных трассировок и списка зависимых потоков;
  • Добавлена поддержка OpenSSL 1.1.0. Прекращена поддержка OpenSSL 0.9.7 и более ранних выпусков;
  • Из stdlib удалены компоненты ext/tk и XMLRPC.


  1. Главная ссылка к новости (https://www.ruby-lang.org/en/n...)
  2. OpenNews: Язык Crystal пытается совместить производительность Си и удобство Ruby
  3. OpenNews: Релиз web-фреймворка Ruby on Rails 5.0
  4. OpenNews: Выпуск языка программирования Ruby 2.3.0
  5. OpenNews: Выпуск языка программирования Ruby 2.2.0
  6. OpenNews: Выпуск языка программирования Ruby 2.1
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/45763-ruby
Ключевые слова: ruby
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (59) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, vitvegl (?), 12:09, 25/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    зря tk убрали
     
     
  • 2.3, saahriktu (ok), 12:34, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    По ходу, на то были основания. Когда-то с появлением Tk 8.6 его поддержка в Ruby на x86_64 превратилась в тыкву. На x86 всё продолжало работать, а на x86_64 всё сыпалось. При этом с Tk 8.5 всё продолжало работать и на x86_64. Потом оно, конечно, было исправлено, но куча дистрибутивов со свежаком получили неработоспособную связку Ruby + Tk. Вот, видимо, чтобы не расстраивать больше подобным людей официальную поддержку и отменили.
     
     
  • 3.4, Nulled.cc (?), 12:46, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Где-то в баг-трекере вроде была инфа, что удалили по причине облегчения ядра Ruby или что-то около того.
     
     
  • 4.6, Nulled.cc (?), 12:51, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Нашел пруф - https://bugs.ruby-lang.org/issues/8539
     
     
  • 5.28, saahriktu (ok), 01:04, 26/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Понятно. Там в конце мелким текстом ещё ссылка на github'овскую страницу gem'а этого tk. Теперь оно просто отдельно. Маинтейнеры могут паковать в пакеты, а без пакетов можно ставить командой "gem install tk".
     
  • 3.65, Аноним (-), 03:00, 30/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    увы не было их, этих "оснований".
    а вот батхерт и проблемы у использующих оное - были явственно.
     

  • 1.8, Аноним (-), 13:17, 25/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Няшный язык.

    Сам я пишу на С, но на руби много лаб и скриптов пописал, ээээх.

     
     
  • 2.9, Аноним (-), 13:50, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Согласен - язык для анимешников.
    Для нормальных людей не пригоден.
     
     
  • 3.10, leap42 (ok), 13:58, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    какой нормальный? чем нормальный лучше ruby?
     
     
  • 4.12, njunkie (ok), 15:02, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • +4 +/
    В нормальных нету
    >Опять поломали совместимость.

    например

     
  • 4.35, Аноним (-), 14:00, 26/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    я конечно не в курсе, может заблуждаюсь, но исходя из анонса в предыдущих версиях uppercase для нелатиницы неработал :)
     
  • 3.15, Аноним (-), 15:57, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пробывал я и питон, но не прижился -- гадина же )

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

     
     
  • 4.38, Аноним (-), 15:15, 26/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Попробуй LISP, вот где приятный синтаксис )
     
     
  • 5.40, Аноним (-), 17:21, 26/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Попробуй LISP, вот где ( приятный синтаксис )
    fixer не благодари
     
     
  • 6.43, Lisp (?), 18:33, 26/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Попробуй LISP, вот где ( приятный синтаксис )
    > fixer не благодари

    Синтаксис как раз приятный

     
     
  • 7.51, Аноним (-), 10:30, 27/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    (Синтаксис
      (как раз приятный))
     
  • 7.52, Аноним (-), 10:31, 27/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> Попробуй LISP, вот где ( приятный синтаксис )
    >> fixer не благодари
    > Синтаксис как раз приятный

    Я правильно понимаю что лисперы шутки про скобочки не воспринимают? Или вы не настоящие лисперы?

     
     
  • 8.53, Andrey Mitrofanov (?), 10:56, 27/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    в 955 просто типа совсем мало скобочек твоих шуточках ... текст свёрнут, показать
     
     
  • 9.56, Аноним (-), 19:39, 27/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Даже если в строку писать - и то читаемо Вопрос восприятия Но синтаксического ... текст свёрнут, показать
     
  • 3.23, Аноним (-), 17:46, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    хорошие сапоги, надо брать
     
  • 3.37, Аноним (-), 14:27, 26/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Для нормальных есть LISP.
     
     
  • 4.41, Аноним (-), 18:15, 26/12/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Что слаще(синтаксически) руби или лисп?
     
     
  • 5.42, Lisp (?), 18:33, 26/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    LISP
     
  • 5.49, Andrey Mitrofanov (?), 09:37, 27/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Что слаще(синтаксически) руби или лисп?

    Python же! Вон, смотри, сколько сахара на sprintf() насыпали.

     
     
  • 6.57, Аноним (-), 19:39, 27/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> Что слаще(синтаксически) руби или лисп?
    > Python же! Вон, смотри, сколько сахара на sprintf() насыпали.

    От сладенького попа слипнется, сударь. Вам код писать или на горшке сидеть?

     
     
  • 7.61, Аноним (-), 13:58, 29/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    У богатых не слипается.
     
  • 2.31, Аноним (-), 11:01, 26/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    пистонисты минусуют
     

  • 1.11, Аноним (-), 14:27, 25/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Опять поломали совместимость.
     
     
  • 2.14, angra (ok), 15:56, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Они верны своим традициям.
     
  • 2.20, Аноним (-), 17:43, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    используй java
     
     
  • 3.59, chinarulezzz (ok), 00:16, 28/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > используй java

    Слишком многословно. Как необходимость сделать три раза ку, два пируэта, и одно сальто, чтоб попросить чашку воды.

     

  • 1.13, robux (ok), 15:35, 25/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Все Си-расширения, из которых выполняется обращение к классам Fixnum и Bignum, должны быть переработаны;

    Вот такое свинство я не понимаю.
    Нельзя что ли сделать обёртки, позволяющие использовать старые вызовы?

    Точнее даже так: для нового делаешь новые вызовы, а все старые вызовы оставляешь работоспособными. Нахрена ломать API, на котором написаны тысячи прикладных библиотек?!

    Неужели разрабы ЯП думают, что писатели этих либ ментуться всё переписывать и переконпилировать в рубиджемах?! Ясно же что не будут, многие уже женились/спились/умерли и так далее - в результате (50-70)% либ в новом руби станут недоступны для прикладников. Это удар по экосистеме Ruby, и я уверен, что такие удары наносятся умышленно сраными агентами АНБ, внедрёнными как "разработчики языка".

     
     
  • 2.16, Аноним (-), 16:35, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • +5 +/
    >агентами АНБ

    мстят за перл харбор, не иначе ))

     
  • 2.17, chinarulezzz (ok), 16:38, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ООП гойловного мозга. Обречены постоянно объединять и делить объекты на классы и методы. Добавят, поменяют, удалят, и так по кругу.
     
     
  • 3.54, Онаним (?), 11:30, 27/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    А как надо?
     
     
  • 4.58, chinarulezzz (ok), 00:13, 28/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    в меру.
     
     
  • 5.63, Аноним (-), 19:45, 29/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > в меру.

    Используйте Haskell

     
     
  • 6.66, chinarulezzz (ok), 18:27, 30/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >> в меру.
    > Используйте Haskell

    Непрактично. Выбрал Perl.

     
  • 2.19, robux (ok), 17:23, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я тут тему провентилировал, на гитхабе полазил.
    Короче, Matz (автор Ruby) не состоит в разработчиках Ruby.

    Вместо этого он с 2012 года пилит новый рубин (MRuby), совместимый с Ruby1.9 и без юношеских свистоперделок. Такие дела:
    https://github.com/mruby/mruby

    Я его скачал, сканпелировал, helloword.rb запустил, работает.
    Посему буду продолжать юзать Ruby1.9.3, а потом надо переходить на MRuby.
    А эти сопляки пусть дальше ляпают свою пускалку для рельсов.

     
     
  • 3.21, Аноним (-), 17:45, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • +2 +/
    сразу видно где великодушный пожизненный диктатор, а где нет.
     
     
  • 4.32, Аноним (-), 11:44, 26/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    Сразу видно где рабочий проект в серьёзной фирме, а где наколеночное поде-лие (в стадии вечной недоделки) непризнаного гения.
     
  • 3.33, Аноним (-), 13:32, 26/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Разработка ruby, mruby ведется не через гитхаб. На гитхабе просто зеркала.
    У ruby есть core team которая и велет разработку. другие люди занимаются rubygems и stdlib.
    mruby - это не новый руби, это embeded версия интерпретатора конкурент lua.
    у mri и mruby совсем разное предназначение.
     
     
  • 4.46, Аноним (-), 21:54, 26/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > Разработка ruby, mruby ведется не через гитхаб. На гитхабе просто зеркала.

    Что касается MRI -- верно. Но разработка mruby ведется именно через гитхаб.

    > У ruby есть core team которая и велет разработку. другие люди занимаются rubygems и stdlib.

    Core team занимается в том числе и стандартной библиотекой, не только core language.

     
     
  • 5.50, Аноним (-), 10:27, 27/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    все верно поправил
     
  • 3.45, Аноним (-), 21:51, 26/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Нет За ним по-прежнему последнее слово касательно того, что будет добавлено или... большой текст свёрнут, показать
     
  • 2.22, Аноним (-), 17:46, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    >Нельзя что ли сделать обёртки, позволяющие использовать старые вызовы?

    больше костылей! рано или поздно настанет момент когда выкидывать костыли. лучше сразу чем никогда.

     
     
  • 3.36, Аноним (-), 14:04, 26/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>Нельзя что ли сделать обёртки, позволяющие использовать старые вызовы?
    > больше костылей! рано или поздно настанет момент когда выкидывать костыли. лучше сразу
    > чем никогда.

    Молодой зелёный, готовый работать забесплатно...

     
     
  • 4.39, Аноним (-), 15:26, 26/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Старый вонючий, который уже работает кое как
     
     
  • 5.44, www2 (ok), 18:34, 26/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вот когда станешь старым и вонючим, возможно поймёшь, что программы не для самоутверждения пишутся, а для решения задач реального мира.

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

     
     
  • 6.48, sysoiv (?), 22:45, 26/12/2016 [^] [^^] [^^^] [ответить]  
  • –2 +/
    а типа старый вонючий так взволнован судьбой проекта, что делает его до конца жизни забесплатно? или ещё доплачивает?

    всё проще: старый вонючий менее мобилен и более опытен, чтобы сократить кол-во порханий

     
  • 6.55, Аноним (-), 16:45, 27/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    из-за таких как вы и приходится держать старый браузер для того чтобы работать с налоговой.
     
     
  • 7.64, robux (ok), 22:43, 29/12/2016 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > из-за таких как вы и приходится держать старый браузер для того чтобы
    > работать с налоговой.

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

     
  • 7.67, www2 (ok), 19:07, 31/01/2017 [^] [^^] [^^^] [ответить]  
  • +/
    > из-за таких как вы и приходится держать старый браузер для того чтобы
    > работать с налоговой.

    Из-за таких как вы приходится новый браузер ставить постоянно, хотя не понятно, чего там в старом нету такого, что появилось в новом? Новые скруглённые кнопки? Поддержка аппаратного ускорения во флеш-роликах? Вы правда думаете, что из-за этого пистец как нужно браузер обновить?

     

  • 1.18, АнониМ (ok), 17:04, 25/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >Это удар по экосистеме Ruby

    это ужо давно никому не интересно - последнего руби программиста я видел очень и очень давно.

     
     
  • 2.24, Аноним (-), 17:52, 25/12/2016 [^] [^^] [^^^] [ответить]  
  • +7 +/
    Да, среди твоих коллег по уборке дворовых площадок руби-программистов встретишь едва ли
     
  • 2.34, Аноним (-), 13:34, 26/12/2016 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >>Это удар по экосистеме Ruby
    > это ужо давно никому не интересно - последнего руби программиста я видел
    > очень и очень давно.

    Меньше бы теребонькал пиписюньку, может зрение и сохранил бы.

     

  • 1.25, Юникот (?), 19:26, 25/12/2016 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > В строковых операциях String/Symbol#upcase/downcase/swapcase/capitalize реализована поддержка маппинга строчных/прописных символов для Unicode (ранее подобный маппинг был доступен только для ASCII-символов);

    Жуть. Шёл к концу 2016 год...

     
     
  • 2.47, vitvegl (?), 22:29, 26/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    да, приходилось использовать unicode-utils
     
     
  • 3.60, chinarulezzz (ok), 00:18, 28/12/2016 [^] [^^] [^^^] [ответить]  
  • +/
    > да, приходилось использовать unicode-utils

    и ладно бы хоть в стандартной поставке был :(

     

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



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

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