Support us

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

Оставить комментарий
Google выпустила в релиз язык программирования Go 1.7

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

Читать далее

Талисман языка программирования Go. Иллюстрация: techrepublic.com

Синтаксис Go основан на привычных элементах языка C с отдельными заимствованиями из Python. Язык достаточно лаконичен, но при этом код легко читается и воспринимается.

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

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

Основные новшества, представленные в выпуске Go 1.7:

  • Новый бэкенд компилятора, использующий промежуточный код на базе SSA (Static Single Assignment). SSA предоставляет низкоуровневые операции, которые во многом отражают обычные машинные инструкции, за исключением того, что предоставляют возможность работы с неограниченным числом регистров. Применение SSA позволяет задействовать при сборке дополнительные классы оптимизаций и, соответственно, добиться увеличения производительности результирующего кода. Например, появляется возможность выявить ситуации в которых проверки выхода за границы не имеют смысла или можно исключить части выражений. В среднем прирост производительности оценивается в 5-35%. Для разработчиков бэкенд на базе SSA предоставляет ряд расширенных средств аналитики, позволяющих на низком уровне проанализировать ход компиляции и принятые решения по оптимизации. Новый бэкенд пока доступен только для архитектуры amd64;
     
  • Во фронтэнде компилятора задействован новый более компактный формат экспорта данных и обеспечен более эффективный импорт определений. Данные изменения позволили значительно ускорить компиляцию и на 20-30% сократить размер исполняемых файлов;
     
  • Внесены оптимизации в сборщик мусора, которые позволили немного увеличить производительность и значительно сократили паузы при сборке мусора в программах с большим числом неактивных потоков (goroutines);
     
  • Внесены оптимизации в различные модули стандартной библиотеки. Например, ускорение более чем на 10% отмечено в библиотеках crypto/sha1, crypto/sha256, encoding/binary, fmt, hash/adler32, hash/crc32, hash/crc64, image/color, math/big, strconv, strings, unicode и unicode/utf16;
     
  • Реализован порт для Linux на IBM z Systems (s390x);
     
  • В состав стандартной библиотеки включён пакет golang.org/x/net/context, популярный среди разработчиков сетевых приложений и микросервисов. Начиная с Go 1.7 данная библиотека доступна под именем context без префикса "/x/net/". Поддержка модуля context добавлена в штатные пакеты net/http и os/exec;
     
  • Директория vendor, предназначенная для поставки внешних зависимостей, привязанных к определённому поставщику, переведена в разряд неотключаемых возможностей.


Код проекта распространяется по лицензии BSD.

Место солидарности беларусского ИТ-комьюнити

Далучайся!

Читайте также
10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)
10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)
10 курсов по SQL для лучшего понимания работы с большими данными (май, 2023)
Собрали 10 платных и бесплатных онлайн-курсов для изучения SQL. Программы рассчитаны на слушателей, которые только начинают или продолжают знакомство с языком.
10 способов научиться программировать самостоятельно
10 способов научиться программировать самостоятельно
10 способов научиться программировать самостоятельно
Хотите научиться кодить и освоить алгоритмы? Собрали десять советов с чего начать изучение программирования для тех, кто только начинает своё путешествие в мир программирования и снабдили все это полезными ссылками на курсы для начинающих программистов.
10+ сертификаций Coursera, которые могут изменить вашу карьеру
10+ сертификаций Coursera, которые могут изменить вашу карьеру
10+ сертификаций Coursera, которые могут изменить вашу карьеру
Бюджетный способ прокачать навыки и повысить зарплату — это профессиональный сертификат от Google, IBM или крупного зарубежного университета. На Coursera как раз можно найти десятки полезных обучающих программ по машинному обучению, проджект-менеджменту и не только. Собрали 10+ сертификаций, которые будут выигрышно смотреться в резюме как новичка, так и опытного специалиста.
Дизайн, VR и интернет вещей: 10 доступных онлайн-курсов от Google, Amazon и других гигантов
Дизайн, VR и интернет вещей: 10 доступных онлайн-курсов от Google, Amazon и других гигантов
Дизайн, VR и интернет вещей: 10 доступных онлайн-курсов от Google, Amazon и других гигантов
На платформе Coursera можно найти сотни курсов от крупных корпораций, включая Google, Amazon и HubSpot. Это отличная возможность начать новую карьеру, повысить квалификацию и просто получить плюс в профессиональную карму. Мы собрали 10 программ от ИТ-компаний, которые помогут освоить машинное обучение, UX-дизайн, продакт-менеджмент, кибербезопасность и многое другое.

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.