- PVSM.RU - https://www.pvsm.ru -

Вышел Ruby 2.1

Вышел Ruby 2.1Спецификации Ruby обновились до версии 2.1.0 [1]. В новой версии языка программирования сделано несколько эволюционных изменений. В неофициальных бенчмарках [2] на Rails версия 2.1 показывает результат примерно на 20% выше, чем 2.0, которая, в свою очередь, на 60-70% быстрее 1.9.3.

Вкратце, самые важные из них:

  • VM (кэширование методов)
  • новый сборщик мусора RGenGC (см. презентацию ko1 на RubyKaigi [3] и на RubyConf 2013 [4])
  • изменения в синтаксисе
    • новая запись дробей с использованием двух слэшей ("//") между числителем и знаменателей, см. #8430 [5]
    • новые суффиксы i, r и ri для записи комплексных и рациональных чисел.
    • определение функции def теперь возвращает символ её названия вместо nil, см. #3753 [6]

  • уточнения #8481 [7] #8571 [8]
  • Bignum
    • использует GMP (GNU Multiple Precision Arithmetic Library) для ускорения операций над большими числами, см. #8796 [9]

  • добавлен метод Array#to_h — создание хэша из массива
  • String#scrub #8414 [10]
  • Socket.getifaddrs #8368 [11]
  • RDoc 4.1.0 и RubyGems 2.2.0
  • “literal”.freeze теперь оптимизирован #9042 [12]
  • добавлен Exception#cause #8257 [13]
  • обновлены библиотеки JSON, NKF, rake, RubyGems, и RDoc.
  • удалена библиотека curses. #8584 [14]

Ruby — высокоуровневый язык для быстрого и удобного объектно-ориентированного программирования. Его создатель Юкихиро Мацумото постарался совместить лучшие черты своих любимых языков Perl, Python, Smalltalk, Eiffel, Ada и Lisp в поисках грамотного баланса между функциональным и императивным программированием. Целью было создание языка, более мощного, чем Perl, и более объектно-ориентированного, чем Python. Основное назначение Ruby — создание простых и в то же время понятных программ, где важна не скорость работы программы, а малое время разработки, понятность и простота синтаксиса.

Мацумото занимается разработкой Ruby до сих пор, и версия 2.1.0 — это его рождественский подарок всем программистам.

Более подробный список изменений в 2.1.0 см. здесь [15], а также в презентации “All about Ruby 2.1” [16].

Автор: alizar

Источник [17]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/ruby/51622

Ссылки в тексте:

[1] 2.1.0: https://www.ruby-lang.org/ru/news/2013/12/20/ruby-2-1-0-rc1-is-released/

[2] неофициальных бенчмарках: http://www.isrubyfastyet.com/

[3] на RubyKaigi: http://rubykaigi.org/2013/talk/S73

[4] на RubyConf 2013: http://www.atdot.net/~ko1/activities/rubyconf2013-ko1_pub.pdf

[5] #8430: https://bugs.ruby-lang.org/issues/8430

[6] #3753: https://bugs.ruby-lang.org/issues/3753

[7] #8481: https://bugs.ruby-lang.org/issues/8481

[8] #8571: https://bugs.ruby-lang.org/issues/8571

[9] #8796: https://bugs.ruby-lang.org/issues/8796

[10] #8414: https://bugs.ruby-lang.org/issues/8414

[11] #8368: https://bugs.ruby-lang.org/issues/8368

[12] #9042: https://bugs.ruby-lang.org/issues/9042

[13] #8257: https://bugs.ruby-lang.org/issues/8257

[14] #8584: https://bugs.ruby-lang.org/issues/8584

[15] здесь: https://github.com/ruby/ruby/blob/v2_1_0/NEWS

[16] “All about Ruby 2.1”: http://www.atdot.net/~ko1/activities/toruby05-ko1.pdf

[17] Источник: http://habrahabr.ru/post/207394/