The OpenNET Project / Index page

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

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

25.12.2014 17:07

Доступен релиз 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 для разработки дополнений на языке Си удалены вызовы, ранее объявленные устаревшими.


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


Обсуждение (36) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 17:57, 25/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Good news, everyone!
     
     
  • 2.10, анонко (?), 21:23, 25/12/2014 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Good news, everyone!

    Дежурное продолжение про всех уволенных.
    Рад, конечно, что после закрытия сериала порождённые им мемы всё ещё живы и здоровы...

     

  • 1.2, SubGun (ok), 18:52, 25/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Рад за них. Опять все будет поломатое, чувствую.
     
     
  • 2.14, chinarulezzz (ok), 01:53, 26/12/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/



    * GC
      * incompatible changes:
        * Rename GC.stat entries. [Feature #9924]
          
    * IO
      * incompatible changes:
        * When flushing file IO with IO#flush, you cannot assume that the metadata
          of the file is updated immediately.  On some platforms (especially
          Windows), it is delayed until the filesystem load is decreased.
          Use IO#fsync if you want to guarantee updating metadata.

    * Math
      * incompatible changes:
        * Math.log now raises Math::DomainError instead of returning NaN if the
          base is less than 0, and returns NaN instead of -infinity if both of
          two arguments are 0.
        * Math.atan2 now returns values like as expected by C99 if both two
          arguments are infinity.

    * Proc
      * incompatible changes:
        * ArgumentError is no longer raised when lambda Proc is passed as a
          block, and the number of yielded arguments does not match the formal
          arguments of the lambda, if just an array is yielded and its length
          matches.

    * Process
      * Process execution methods such as Process.spawn opens the file in write
        mode for redirect from [:out, :err].
        Before Ruby 2.2, it was opened in read mode.


    для минорной версии маловато поломок.

     

  • 1.3, Аноним (-), 19:17, 25/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >вобравшего в себя лучшие черты Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp.

    И ни одной плохой, да?

     
     
  • 2.8, Бывший школьник (?), 20:32, 25/12/2014 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Да
     
  • 2.23, Аноним (-), 12:03, 26/12/2014 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > И ни одной плохой, да?

    Плохие изобретены с нуля.

     

  • 1.4, Кир (?), 19:24, 25/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    > Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp

    Адская смесь...

     
  • 1.5, alright (?), 19:35, 25/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Вроде недавно вышла версия 4.2.
     
     
  • 2.6, Xaionaro (ok), 19:54, 25/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Стоит всё-таки в таких ситуациях писать, что вы про Rails, а не про Ruby…
     
     
  • 3.18, Будочки (?), 08:01, 26/12/2014 [^] [^^] [^^^] [ответить]  
  • –6 +/
    А где-то есть руби без рельс? Они же неразрывны как две половинки одной попы.
     
     
  • 4.22, PnDx (ok), 10:31, 26/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Diakonos http://diakonos.pist0s.ca/
    Довольно забавный проект. Стал бы серьёзным, если бы не:
    - завязка на curses. Ну и понту это было на рубях писать, если в вебку не ввернуть.
    - выделение текста ещё причудливее, чем в vi
    - взрослая возможность похерить редактируемый файл (Нашёл 1 сценарий. Вероятно, реально больше).
     
  • 4.28, Аноним (-), 19:58, 26/12/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это Вы так своё невежество показываете?
     
  • 2.7, Анончик (?), 19:56, 25/12/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    То были Рельсы. А это новость — про Руби, на котором эти Рельсы бегают.
     
     
  • 3.27, Аноним (-), 17:40, 26/12/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это Руби бегает на Рельсах, а не наоборот: it's Ruby on Rails, not Rails on Ruby.
     

  • 1.9, Аноним (-), 20:49, 25/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Node.js much better
     
     
  • 2.11, Anonim (??), 22:04, 25/12/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Node.js much better

    Настолько хороша, что аж форкнулась

     
  • 2.12, Аноним (-), 22:08, 25/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Она даже на S390 не запустится. А Ruby работает и работает
     
     
  • 3.13, Crazy Alex (ok), 23:07, 25/12/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Правда, там на фиг не нужно ни то, ни другое...
     
  • 2.15, бедный буратино (ok), 05:41, 26/12/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    учитывая, что одно - язык, а второе - набор обвязок для веба на языке javascript... чай с конфетами - ещё лучше!
     
  • 2.16, Аноним (-), 06:51, 26/12/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Т.к. все ИТ-макаки свалили с переставшего быть модным руби на ноду (усиленная тем, что написанием бэкенда стало заниматься достаточно много ничего не смыслящих в этом фронтендеров), ситуация сложилась обратная: руби лучше ноды в плане качества библиотечного кода и квалификации среднего разработчика. И это еще не учитывая убл*дочности жаваскрипта, как языка.
     
     
  • 3.17, Аноним (-), 07:52, 26/12/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Как разработчик на Node.JS, полностью с вами согласен
     
  • 3.24, Аноним (-), 12:13, 26/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Как разработчик на ROR, абсолютно с вами не согласен.
     
  • 3.29, kirakishou (?), 00:51, 27/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    >руби лучше ноды
    >язык лучше либы
     
     
  • 4.30, Аноним (-), 02:01, 27/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Имеет лишь смысл оценивать стеки технологий целиком: сами языки, основные реализации, стандартные и сторонник библиотеки, сообщества разработчиков.
    Сравнение сферического руби с сферическим жаваскриптом не имеет никакого практического смысла, потому под "руби" и "нодой" имелись в виду соответствующие технологические стеки.
     

  • 1.20, Аноним (-), 09:27, 26/12/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >вобравшего в себя лучшие черты Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp

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

     
     
  • 2.21, Рубист (?), 10:27, 26/12/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    да почему же не нужен? А vagrant, а hombrew, а metasploit, а всякие jekkyl, octopress? Да, в контексте рельс разработок больше но это не мы такие, время такое, но тут опять же есть и sinatra и padrino - тоже замечательные веб-фреймворки, которые активно используются (просто вы не знаете об этом, сайты же не трубят на каком языке они написаны).
     
  • 2.25, Аноним (-), 15:00, 26/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    А также всё тестирование
    * в консоли: Cucumber, Rspec;
    * в браузере: Selenium/Capybara;
    * в GUI: SikuliX.
    ...

    И опять же, всё это на Ruby

     
  • 2.26, Аноним (-), 15:15, 26/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    А также Chef для развертывания приложений
     
     
  • 3.31, Аноним (-), 02:04, 27/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > А также Chef для развертывания приложений

    Для развертывания, скорее, капистрана, а шеф - для конфигурирования серверов.

     
  • 2.32, chinarulezzz (ok), 02:11, 27/12/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Слишком нестабильный. Руби колбасит до нерабочих скриптов даже в минорных версиях, и не каждый захочет на нём из за этого программировать. Однако язык точно не хуже тройки Perl/Python/Tcl. А из за лёгкого ООП искаропки, есть кто прощает ему этот недостаток, а из за скорости разработки - низкую скорость выполнения.
     
     
  • 3.33, Ptico (?), 23:19, 28/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Слишком нестабильный. Руби колбасит до нерабочих скриптов даже в минорных версиях

    Excusemewhat? Вы вообще пользовались им хоть раз?

    Большинство скриптов писаных еще на 1.8.6 спокойно запускается в 2.2.0.

     
     
  • 4.34, chinarulezzz (ok), 23:38, 28/12/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Слишком нестабильный. Руби колбасит до нерабочих скриптов даже в минорных версиях
    > Excusemewhat?

    читай incompatible changes в 2.2 по сравнению с 2.1, 2.1 по сравнению с 2.0, 2.0 по сравнению с 1.9 и 1.9 по сравнению с 1.8.

    > Вы вообще пользовались им хоть раз?

    и писал немного, ничего серьёзного.

    > Большинство скриптов писаных еще на 1.8.6 спокойно запускается в 2.2.0.

    большинство, доооо.

     
     
  • 5.35, Ptico (?), 00:58, 29/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Можно пример какого-то вот прям breaking incompatibility которое ломает скрипты? Из каких-то серьезных проблем могу вспомнить убранный интерфейс Enumerable из стрингов и переход на Object#object_id. Все остальные изменения ломали максимум 5% каких-то совсем специфических скриптов

     
     
  • 6.36, chinarulezzz (ok), 01:18, 29/12/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Можно пример какого-то вот прям breaking incompatibility которое ломает скрипты?

    ну по ссылкам же.

    > Все остальные изменения ломали максимум 5% каких-то совсем специфических скриптов

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

     

  • 1.37, BAGIRRR (?), 10:53, 04/03/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот я и наступил на грабли.
    В 2.2 гем netzke 0.9.0 выдавал ошибки при вызове модального окна с данными.
    Пришлось откатиться на 2.1.3

    А вы говорите...

     

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



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

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