+38/050/370-3627
+38/067/502-3306
+38/044/257-2444
Новости

Google представил релиз языка программирования Go 1.17

Google представил релиз языка программирования Go 1.17

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

Синтаксис Go основан на привычных элементах языка Си с отдельными заимствованиями из языка Python. Язык достаточно лаконичен, но при этом код легко читается и воспринимается. Код на языке Go компилируется в обособленные бинарные исполняемые файлы, выполняемые нативно без использования виртуальной машины (модули профилирования, отладки и другие подсистемы выявления проблем на этапе выполнения интегрируются в виде runtime-компонентов), что позволяет добиться производительности, сопоставимой с программами на языке Си.

Проект изначально разрабатывается с оглядкой на многопоточное программирование и эффективную работу на многоядерных системах, в том числе предоставляя реализованные на уровне операторов средства для организации параллельных вычислений и взаимодействия между параллельно выполняемыми методами. Язык также предоставляет встроенные средства защиты от выхода за допустимые области выделенных блоков памяти и обеспечивает возможность использования сборщика мусора.

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

Другие новости