Представлен релиз языка программирования Go 1.17, который развивается компанией Google при участии сообщества как гибридное решение, сочетающее высокую производительность компилируемых языков с такими достоинствами скриптовых языков, как лёгкость написания кода, быстрота разработки и защищённость от ошибок. Код проекта распространяется под лицензией BSD.
Go süntaks põhineb tuttavatel elementidel C keelest, millel on eraldi laenud Python keelest. Keel on piisavalt lakooniline, kuid samas on kood kergesti loetav ja arusaadav. Go keeles kirjutatud kood kompileeritakse eraldi binaarseteks täidetavateks failideks, mis töötavad natiivselt ilma virtuaalmasina kasutamiseta (profiliseerimise, silumise ja muude probleemide tuvastamise alamsüsteemid integreeritakse runtime-komponentidena), mis võimaldab saavutada jõudluse, mis on võrreldav C keeles kirjutatud programmidega.
Projekt on algselt välja töötatud silmas pidades mitme lõime programmeerimist ja tõhusat töötamist mitme tuumaga süsteemides, pakkudes sealhulgas operaatorite tasemel rakendatud tööriistu paralleelsete arvutuste korraldamiseks ja paralleelselt töötavate meetodite vaheliseks suhtlemiseks. Keel pakub ka sisseehitatud kaitsevahendeid lubamatute mäluplokkide ületamise vastu ja võimaldab kasutusele võtta prügikoristajat.
В новой версии внесены незначительные изменения в язык программирования, добавлена поддержка редакции ОС Windows для 64-разрядной архитектуры ARM и продолжена оптимизация работы компилятора. В частности, в компиляторе были переработаны методы передачи аргументов в функции и возврата результата, что позволило в среднем поднять производительность приложений на 5% и сократить размер исполняемого файла на 2% на системах с архитектурой x86_64. Из функциональных изменений отмечается реализация новых функций в пакете unsafe — unsafe.Add и unsafe.Slice для безопасных арифметических операций с указателями и безопасного преобразования указателей в слайсы, а также реализация средств для преобразования слайсов в указатели на массив.
Allikas: opennet.ru
