Шосте оновлення мови програмування Ruby 2.6.0 вже тут

RubyLinux

Через рік розробки виходить Ruby 2.6.0, динамічна об'єктно-орієнтована мова програмування, що характеризується високою ефективністю розробки програмного забезпечення та включає найкращі можливості Perl, Java, Python, Smalltalk, Eiffel, Ada та Lisp.

Код проекту поширюється за ліцензіями BSD ("BSDL з 2-х статей") та "Ruby", що стосується останньої ліцензії GPL і повністю відповідає GPLv3.

Ruby 2.6 - шоста основна версія, підготовлений як частина запланованого процесу розробки, який передбачає виділення року на підготовку функціональних удосконалень та створення корекційних версій кожні 2-3 місяці.

Основні нові функції Ruby 2.6.0

З цим новим випуском Ruby додано експериментальну реалізацію компілятора JIT, що дозволяє значно покращити продуктивність програм на мові Ruby.

На відміну від традиційних компіляторів JIT, які генерують машинні інструкції на льоту, запропонований компілятор JIT у Ruby спочатку записує код C на диск, а потім викликає зовнішній компілятор C для генерації машинних інструкцій (підтримується GCC, Clang та Microsoft VC ++).

Щоб увімкнути JIT, потрібно вказати параметр «–jit» під час запуску ruby ​​або встановити цей параметр у змінній середовища RUBYOPT.

Порівняно з Ruby 2.5, включення JIT в середньому в 1.7 рази перевищує продуктивність програм, що працюють над інтенсивним процесором.

У той же час розробка все ще експериментальна і непридатна для навантажень, пов'язаних з інтенсивною роботою з пам'яттю.

Іншими вдосконаленнями, які були отримані в цій версії, були RubyVM :: AbstractSyntaxTree експериментальний модуль, який забезпечує метод синтаксичного аналізу, який обробляє передані рядки як Ruby-код і повертає абстрактне дерево синтаксису (AST) для цього коду.

Тепер псевдонім "# then" можна використовувати для доступу до методу "Kernel # yield_self". Для методів "Array # |" і "Array # -" запропонував більш читабельні псевдоніми "Array # union" і "Array # Difference".

Постійні імена тепер можуть починатися з великих літер, відмінних від ASCII.

Також була надана підтримка Transient Heap, theap, призначеної для об’єктів з короткою тривалістю життя з використанням певних класів (Array, Hash, Object, Struct).

рубін-на-рейках

Наприклад, завдяки theap, створення невеликих короткочасних існуючих хешів зараз відбувається вдвічі швидше. Тест rdoc показав збільшення врожаю на 6-7%.

Для підвищення продуктивності перемикань контексту пропонуються власні реалізації програм для архітектур arm32, arm64, ppc64le, win32, win64, x86 та amd64. "Fiber.yield" і "Fiber # resume" в 64-розрядних системах Linux тепер працюють майже в 5 разів швидше.

Загалом, інтенсивні програми демонструють збільшення продуктивності на 5%.

Основні вдосконалення Ruby 2.6.0

Отримано оновлену версію RubyGems 3.0.1, в якому підтримка параметрів «–ri» та «–rdoc» припинена, замість якої слід використовувати «–document» та «–no-document».

Тепер Bundler встановлено за замовчуванням для управління залежностями gem.

Додана підтримка незавершених діапазонів, наприклад, "ary [1 ..]" або "(1 ..). Кожен {…} ».

З інших покращень, які можна виділити, ви можете знайти:

  • Опція винятку була додана до системного методу Kernel #, щоб викликати виняток про помилку замість повернення false.
  • Режим OneShot був додано до модуля покриття, який перевіряє, чи кожен рядок виконується принаймні один раз.
  • Клас Enumerator :: Chain та реалізовані в ньому методи "Enumerable # chain" та "Enumerator # +" додаються для створення ланцюжків перерахованих значень.
  • До модулів Proc і Method додана підтримка операторів «<<» і «>>», наприклад, конструкція «(f << g) .call (3)» ідентична «f (g (3 )) ".

Як встановити Ruby 2.6.0 на Linux?

Щоб отримати цю нову версію Ruby, просто відкрийте термінал у вашій системі та введіть одну з наступних команд

Debian, Ubuntu та похідні

sudo apt-get install ruby-full

CentOS, Fedora та RHEL

sudo yum install ruby

Gentoo

sudo emerge dev-lang/ruby

Arch Linux, Manjaro, Antergos та похідні

sudo pacman -S ruby

OpenSUSE

sudo zypper install ruby

Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   Данило - сказав він

    Команди apt-get yum etc переходять до сховищ за замовчуванням дистрибутивів, які, як правило, старі, і у вас буде не версія 2.6, а інша стара версія.