LINUX.ORG.RU

Ruby 2.4.0

 ,


0

5

25 декабря состоялся первый стабильный релиз ветки Ruby 2.4. В ней представлено много новых возможностей.

  • Улучшения хеш-таблицы (Владимир Макаров). Введены открытая адресация и упорядоченные в порядке добавления массивы. Это обсуждено со многими людьми, в особенности с Юрой Соколовым.
  • Привязка #irb: Старт сессии REPL по аналогии с binding.pry. Вместо логирования переменных множественными вызовами p можно подключить pry через binding.pry для запуска из приложения REPL и выполнения любого Ruby-кода. Теперь в поставку языка включён binding.irb, который позволяет проделать то же самое с irb.
  • Fixnum и Bignum объединены в Integer. Все C-расширения, затрагивающие классы Fixnum или Bignum, нужно поправить.
  • Поддержка соответствий заглавных символов Unicode. String/Symbol#upcase/downcase/swapcase/capitalize(!) теперь работают не только с ASCII.
  • Улучшения производительности. Array#max и Array#min больше не создают временный массив при некоторых условиях. Добавлен Regexp#match?, выполняющий проверку регулярного выражения без создания объекта с обратной ссылкой и изменения $~. Ускорен доступ к переменным экземпляров.

Улучшения отладки:

  • Thread#report_on_exception и Thread.report_on_exception. Ruby игнорирует исключения в потоках, если к ним явно не присоединён другой поток. С report_on_exception = true можно отследить, что поток умер из-за необработанного исключения. Присылайте отзывы, нужно ли включить эту опцию по умолчанию, равно как и report-on-GC, которая сообщает о сборке мусора в неприсоединённом потоке.
  • Отлов тупиков в потоках теперь отображает для потоков трассировку и зависимые потоки.

Другие значимые изменения с версии 2.3:

  • Поддержка OpenSSL 1.1.0 (прекращена поддержка 0.9.7 и более ранних).
  • Из stdlib убраны ext/tk и XMLRPC.

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

>>> Источник

Ответ на: комментарий от Novator

Таким образом сделали неработоспособными 70% библиотек.

Следовательно 50% прикладного ПО, написанного на Ruby, лишившись библиотек, перестанет функционировать.

мало того что проценты взяты и головы, так они ещё и разные!

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

А почему они должны быть одинаковыми?
Основная масса ПО пишется на популярных либах.

Поэтому порядок озвученных процентов верен.

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

либо ты обнаруживаешь, что новые версии интерпретаторов под windows доступны только для x64

Вы бы так сразу и сказали. Вместо того, чтобы фантазировать.

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

А почему они должны быть одинаковыми?

они должны быть достоверными ЗЫ винды не нужны. и софт под них тоже.

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

А толку-то мне что-то тебе доказывать?
Лоровские аналитики всё равно ничего не решают.

Своё мнение (мнение прикладного ruby-программиста с 2008 года) по поводу «развития» руби я высказал.

Ну а Юкихиро от разработки Ruby с 2012 года отстранился и пилит MRuby (встраиваемый Ruby), который кстати основан - ты не поверишь! - на Ruby1.9.

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

ЗЫ винды не нужны. и софт под них тоже.

Это ты не нужен.

Я хоть сам и пользуюсь только линуксом, но 1% линуксоидов перед 95% пользователям винды и 4% мака погоды не делают. Поэтому мне, как прикладному программисту (а не сопливому теоретику), важно насколько применимо на практике будет моё ПО.

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

Ну а Юкихиро от разработки Ruby с 2012 года отстранился и пилит MRuby (встраиваемый Ruby), который кстати основан - ты не поверишь! - на Ruby1.9.

уже на опеннете обсуждалось про то что разработка ruby идёт не на гитхабе

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

1% линуксоидов перед 95% пользователям винды и 4% мака погоды не делают

есть мнение что линуксоидов больше, просто большинство из них осилило отключение телеметрии

важно насколько применимо на практике будет моё ПО

просто так с винды не уйдут. очевидно же

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

Все ruby пилят на гитхабе, да и сам матц mruby пилит на гитхабе, а вот в контрибуторы ruby его (создателя) бедненького не добавили :)

p.s. Он там иногда что-то вякает в каментах на ruby-lang.org, так, чисто в мундире свадебного генерала, но в разработке не участвует. Я гарантирую это.

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

Ну а Юкихиро от разработки Ruby с 2012 года отстранился

Нет, вы опять фантазируете. Он руководит разработкой MRI, занимается дизайном языка, а не написанием кода.

MRuby (встраиваемый Ruby), который кстати основан - ты не поверишь! - на Ruby1.9.

Нет, mruby основан на всем накопившемся у него опыте. Например, идею generational GC он взял из 2.1-2.2. А код написан заново.

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

А что мне эти теории?

Вот разработка mruby:
https://github.com/mruby/mruby/graphs/contributors

Вот разработка ruby:
https://github.com/ruby/ruby/graphs/contributors

Можно конкретно увидеть, в каком проекте matz реально участвует.

Ну а комментарии... Я вот на ЛОРе тоже иногда что-то эмоционально комментирую, а как это к делу-то относится? Так, чисто с посонами покипеть :)

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

Matz пилит еще streem, экспериментальный язык очень похожий на ruby, скорее всего эти наработки войдут в ruby 3.0

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

Модно — хипстерское, олдскульно — хипстерское, а что ж не хипстерское тогда?

может быть, мёртвое?

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

Это что, на руби теперь нельзя Tk запускать?

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

Ну дак новые поколения «погромистов» всё что не касается вебни объявляют «ненужным», «устаревшим» и выпиливают.

Вебня Головного Мозга. Поголовная.

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

Это что, на руби теперь нельзя Tk запускать?

* Tk

  * Tk is removed from stdlib.  [Feature #8539]
    https://github.com/ruby/tk is the new upstream.

* XMLRPC

  * XMLRPC is removed from stdlib, and bundled as gem. [Feature #12160][ruby-core:74239]
    https://github.com/ruby/xmlrpc is the new upstream.
TDrive ★★★★★ ()
Ответ на: комментарий от Novator

Ну дак новые поколения «погромистов» всё что не касается вебни объявляют «ненужным», «устаревшим» и выпиливают.

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

TDrive ★★★★★ ()

ребята подскажите как настроить пути в clang а то vim видит а clang ругается что нет файла или директории

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

ЗЫ винды не нужны. и софт под них тоже.

школьникам ничего не нужно — мамка же котлеты готовит.

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

Можно. Просто из дефолтной поставки выкинули. Вам уже на блюдечке детально всё расписали — и всё равно находятся желтушники, которые кудахт на пустом месте разводят.

b-adblack- ()
Ответ на: комментарий от Novator

У вебни есть сколь-нибудь близкие аналоги по кроссплатформенности? Браузер засунут почти в каждую кофеварку, приставку и телевизор с жирной встраиваемой осью. Даже жаба нервно курит в сторонке.

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

Будто не школьникам котлеты готовит винда. Ещё полвека назад грезили о роботах-поварах, и технологии вполне позволяют, но где они? Максимум мультиварки.

b-adblack- ()
Ответ на: комментарий от Alve

Истеричка, они работают, просто показыают warning'и

В исправном, хорошем коде никаких варнингов быть не должно. Они - индикатор будущих неполадок и, возможно, криворукости программиста.

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

x := (10 max: 20) max: 30

fxd иначе max:max: not defined

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

Я вот на ЛОРе тоже иногда что-то эмоционально комментирую

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

Если бы вы ответили по существу на мои вопросы, стало бы ясно, что нужно чинить.

Можно конкретно увидеть, в каком проекте matz реально участвует.

Когда вот здесь он пишет

But as a duty of the final decision maker, I have to consider every option before the judgment.

что, по-вашему, он имеет в виду?

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