17% скидка на размещение рекламы на площадках devby — до 20 ноября. Клац!
Support us

Google представила шестую версию языка Go

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

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

Читать далее

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

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

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

  • Компилятор и runtime-компоненты переписаны на языке Go. Инструментарий языка Go теперь полностью избавлен от кода на языке Си и не требует для сборки наличие Си-компилятора;
  • Сборщик мусора полностью переработан и переведён на работу с распараллеливанием операций, что позволило существенно снизить задержки во время работы приложения;
  • По умолчанию Go-приложения теперь запускаются с установкой лимита на максимальное число одновременно работающих goroutines (GOMAXPROCS) в значение равное числу ядер CPU (ранее GOMAXPROCS был установлен в 1);
  • Обеспечена возможность поставки пакетов для языке Go в форме разделяемых библиотек, связываемых с программами на языке Go или Си;
  • Поддержка внутренних пакетов (internal) предоставлена для всех репозиториев, а не только для Go core;
  • Экспериментальная поддержка внешних зависимостей, привязанных к определённому поставщику;
  • В утилиту go добавлена новая команда "tool trace" для наглядной трассировки выполнения программы;
  • В утилиту go добавлена новая команда "doc", предоставляющая средства для просмотра документации из командной строки;
  • Добавлены порты для архитектур linux/arm64, darwin/arm и darwin/arm64 (Apple iPhone и iPad). Реализована экспериментальная поддержка ppc64 и ppc64le (IBM PowerPC, big и little endian);
  • Порт darwin/arm64 и средства связывания внешних зависимостей созданы в рамках проекта Go mobile, нацеленного на развитие возможностей для создания на языке Go мобильных приложений для Android и iOS;
  • Расширены функции стандартной библиотки. В пакет math/big добавлен новый тип Float для чисел с плавающей запятой с произвольной точностью. Переработан код резолвинга хостов в DNS (избавлен от привязки к cgo), используемый на платформах Linux и BSD. В состав стандартной библиотеки включены пакеты go/types, go/constant и go/importer. В пакет reflect добавлены функции ArrayOf и FuncOf.
Читайте также
Python больше не самый популярный на GitHub. Его сменил очень молодой язык
Python больше не самый популярный на GitHub. Его сменил очень молодой язык
Python больше не самый популярный на GitHub. Его сменил очень молодой язык
7 комментариев
В России русифицировали JavaScript
В России русифицировали JavaScript
В России русифицировали JavaScript
7 комментариев
JetBrains: каждому шестому разработчику ИИ экономит минимум день в неделю
JetBrains: каждому шестому разработчику ИИ экономит минимум день в неделю
JetBrains: каждому шестому разработчику ИИ экономит минимум день в неделю
1 комментарий
IEEE: из-за ИИ стало невозможно отслеживать популярность языков, их будущее под вопросом
IEEE: из-за ИИ стало невозможно отслеживать популярность языков, их будущее под вопросом
IEEE: из-за ИИ стало невозможно отслеживать популярность языков, их будущее под вопросом

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

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

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

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

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