Реліз мови програмування Go 1.17

Представлений реліз мови програмування Go 1.17, який розвивається Google за участю спільноти як гібридне рішення, що поєднує високу продуктивність компілюваних мов з такими перевагами скриптових мов, як легкість написання коду, швидкість розробки та захищеність від помилок. Код проекту розповсюджується під ліцензією BSD.

Синтаксис Go заснований на звичних елементах мови Сі з окремими запозиченнями з Python. Мова досить лаконічна, але при цьому код легко читається та сприймається. Код мовою Go компілюється в відокремлені бінарні виконувані файли, що виконуються без використання віртуальної машини (модулі профілювання, налагодження та інші підсистеми виявлення проблем на етапі виконання інтегруються у вигляді runtime-компонентів), що дозволяє домогтися продуктивності, порівнянної з програмами мовою Сі.

Проект спочатку розробляється з огляду на багатопоточне програмування та ефективну роботу на багатоядерних системах, у тому числі надаючи реалізовані на рівні операторів кошти для організації паралельних обчислень та взаємодії між методами, що виконуються паралельно. Мова також надає вбудовані засоби захисту від виходу за допустимі області виділених блоків пам'яті та забезпечує можливість використання збирача сміття.

У новій версії внесено незначні зміни до мови програмування, додано підтримку редакції ОС Windows для 64-розрядної архітектури ARM та продовжено оптимізацію роботи компілятора. Зокрема, у компіляторі були перероблені методи передачі аргументів у функції та повернення результату, що дозволило в середньому підняти продуктивність додатків на 5% та скоротити розмір файлу на 2% на системах з архітектурою x86_64. З функціональних змін відзначається реалізація нових функцій у пакеті unsafe - unsafe.Add і unsafe.Slice для безпечних арифметичних операцій з покажчиками та безпечного перетворення покажчиків на слайси, а також реалізація засобів для перетворення слайсів у покажчики на масив.

Джерело: opennet.ru

Додати коментар або відгук