Выпуск языка программирования Ruby 2.2.0
25 декабря 2014 года
Доступен релиз Ruby 2.2, динамического объектно-ориентированного языка программирования, отличающегося высокой эффективностью разработки программ и вобравшего в себя лучшие черты Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp. Код проекта распространяется под лицензиями BSD ("2-clause BSDL") и "Ruby", которая ссылается на последний вариант лицензии GPL и полностью совместима с GPLv3. Ruby 2.2 является вторым значительным выпуском, подготовленным в рамках нового планового процесса разработки, подразумевающего отведение года на подготовку функциональных улучшений и формирование каждые 2-3 месяца корректирующих выпусков. В настоящее время уже началась работа над фреймворком Rails 5.0, в котором будут задействованы новые возможности Ruby 2.2.
Основные улучшения:
- Представлен инкрементальный сборщик мусора, примечательный сокращением задержек во время значительных чисток мусора;
- В сборщик мусора включены изменения, позволившие обеспечить чистку мусора для объектов типа Symbol при сохранении совместимости с расширениями на языке Си. Внесённое изменение привело к сокращению потребления памяти при использовании объектов типа Symbol;
- В сборочном сценарии configure.in добавлена опция "--with-jemalloc " для сборки с библиотекой jemalloc, что должно привести к увеличению производительности операций управления памятью. Использование jemalloc пока позиционируется как экспериментальная возможность;
- Экспериментальная поддержка использования системного вызова vfork(2) совместно с вызовами system() и spawn(), которая позволяет существенно сократить накладные расходы при выполнении внешних команд из процессов большого размера;
- В базовых библиотеках реализована поддержка спецификации Unicode 7.0 и добавлены новые методы Enumerable#slice_after, Enumerable#slice_when, Float#next_float, Float#prev_float, File.birthtime, File#birthtime и String#unicode_normalize;
- Обновлены поставляемые в комплекте сторонние библиотеки и компоненты: Psych 2.0.8, Rake 10.4.2, RDoc 4.2.0, RubyGems 2.4.5, test-unit 3.0.8, minitest 5.4.3. Объявлена устаревшей библиотека mathn;
- Из API для разработки дополнений на языке Си удалены вызовы, ранее объявленные устаревшими.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.