The OpenNET Project / Index page

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

Релиз языка программирования Ruby 1.9.3

31.10.2011 18:13

Увидел свет релиз языка программирования Ruby 1.9.3. Ruby - относительно молодой, мощный и динамический объектно-ориентированный язык программирования, отличающийся высокой эффективностью разработки программ и вобравший в себя лучшие черты Perl, Java, Python, Smalltalk, Eiffel, Ada и Lisp. Новый выпуск характеризуется как версия, продолжающая развитие Ruby 1.9.2 и не содержащая кардинальных функциональных изменений.

Начиная с Ruby 1.9.3, код проекта распространяется под лицензиями BSD ("2-clause BSDL") и "Ruby", в то время как прошлые версии распространялись под лицензиями "GPLv2" и "Ruby". В качестве причины смены лицензии называется желание обеспечить совместимость кода одновременно с лицензиями GPLv3 и BSD. Лицензия "Ruby" ссылается на последний вариант GPL и полностью совместима с GPLv3, но указание GPLv2 в качестве второй лицензии ограничивало максимальную версию GPL и делало код несовместимым с GPLv3. Второй проблемой было то, что код прошлых версий Ruby не был совместим с лицензией BSD и не позволял обмениваться наработками с BSD-проектами. В новой версии Ruby эти недостатки устранены.

Основные улучшения, добавленные в Ruby 1.9.3:

  • В состав стандартных библиотек включён модуль io/console, предназначенный для организации управления консолью;
  • Улучшена работа модуля openssl, что связано с появлением у данной ruby-библиотеки активного мэйнтейнера;
  • Реализован режим параллельного юнит-тестирования в модуле test/unit;
  • Изменена стратегия выполнения внутренних блокировок, что позволило повысить эффективность организации работы многопоточных программ;
  • С целью увеличения производительности переписаны на языке Си библиотеки "pathname" и "date" (скорость работы с датами увеличилась в 5 раз);
  • Внесены изменения, позволившие сократить время загрузки rails-приложений. RubyGems обновлён до версии 1.8.10;
  • Поддержка символов Unicode 6.0 в регулярных выражениях;
  • Поддержка указания диапазонов значений в Random.rand;
  • В класс String добавлены новые методы String#prepend и String#byteslice;
  • В класс ARGF добавлены новые методы: ARGF.print, ARGF.printf, ARGF.putc, ARGF.puts, ARGF.read_nonblock, ARGF.to_write_io, ARGF.write;
  • В классе Bignum задействован новый алгоритм умножения больших чисел (более 150 цифр);
  • В класс IO добавлены новые методы: IO#advise, IO.write(name, string, [offset] ) и IO.binwrite(name, string, [offset]). В методе IO#putc реализована поддержка многобайтных символов;
  • Расширен API для написания модулей на языке Си: добавлена функция ruby_vm_at_exit() для перехвата события завершения работы VM, добавлена функция rb_reserved_fd_p() для закрытия всех файловых дескрипторов, реализована поддержка извлечения аргументов хэша в rb_scan_args();
  • В модуле net/http добавлена поддержка SNI (Server Name Indication) для HTTPS; обеспечена возможность определения времени ожидания перед отправкой тела запроса через заголовок '100-continue'; добавлен метод Net::HTTPRequest#set_form для обеспечения одновременной поддержки application/x-www-form-urlencoded и multipart/form-data;
  • В модуле yaml в качестве движка по умолчанию теперь используется Psych, для задействования старого движка Syck следует указать YAML::ENGINE.yamler = 'syck';
  • В модуле zlib добавлены новые методы Zlib.deflate и Zlib.inflate;
  • В модуле FileUtils добавлена возможность указания в методе FileUtils#chmod прав доступа в символьном виде.


  1. Главная ссылка к новости (http://www.ruby-lang.org/en/ne...)
  2. OpenNews: Опубликован план подготовки релиза Ruby 2.0
  3. OpenNews: Создатель языка Ruby сообщил, что работает над диалектом языка для мобильных устройств
  4. OpenNews: Релиз web-фреймворка Ruby on Rails 3.1
  5. OpenNews: Релиз языка программирования Ruby 1.9.2
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/32180-ruby
Ключевые слова: ruby
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (15) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, mere_anonymous (ok), 19:04, 31/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ждем 2.0 с нормальными кейвордами.
     
     
  • 2.2, kuraga (ok), 19:43, 31/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Например? Ну case в switch и я бы переделал))))))))
     
     
  • 3.3, robux (ok), 20:14, 31/10/2011 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А я бы не разрешил.
     

  • 1.4, tmx (?), 20:16, 31/10/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    и когда они придут к выводу что пора уже всё переписать на C?
     
     
  • 2.5, arnisoft (?), 21:02, 31/10/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Интересно, а на чем же они пишут имплементацию языка, если не на Си?
     
     
  • 3.10, tmx (?), 00:43, 01/11/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    мне показалось что он написан на C++. ошибся.
    тогда особенно непонятно почему проблемы с производительностью, особенно посли стольких лет доработок и переписываний.
     
     
  • 4.12, Stax (ok), 01:27, 01/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Сам интерпретатор написан на C, но приличная часть стандартной библиотеки на самом ruby же. Вот по мере переписывания очередных кусков на C, оно становится быстрее.
     
     
  • 5.15, Аноним (-), 09:46, 01/11/2011 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >приличная часть стандартной библиотеки на самом ruby же

    А неприличная часть?
    "Язык который настолько слаб, что не может реализовать даже собственную стандартную библиотеку, бесполезен и не стоит внимания" -- Бьерн Страуструп.

     
     
  • 6.20, kuraga (ok), 15:28, 01/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Язык настолько силен, что достаточно лениво реализовывать стандартную библиотеку на Си?
     

  • 1.9, devcoder (ok), 00:06, 01/11/2011 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Отличный язык для тех кому нужно писать приложения, а не тролить.
    Писать код на руби одно удовольствие.
    И хорошо что в скорости прибавляют. Этого да, для некоторых приложений не хватало.
     
     
  • 2.16, all_glory_to_the_hypnotoad (ok), 10:56, 01/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    да ну, там не интересно
     
  • 2.18, trdm (ok), 13:30, 01/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    Посоветуйте среду со встроенным отладчиком под это?
     
     
  • 3.19, нимус (?), 13:57, 01/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    >Посоветуйте среду со встроенным отладчиком под это?

    http://www.jetbrains.com/ruby/

     
  • 2.21, anonym (?), 16:57, 02/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    да Руби отличен, но мне, например, Perl больше удобен, тоже отличный ЯП =)
     
     
  • 3.22, cobold (ok), 19:07, 02/11/2011 [^] [^^] [^^^] [ответить]  
  • +/
    тсс, а то сейчас война начнётся :)
     

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



    Спонсоры:
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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