После девяти месяцев разработки компания Google представила (http://blog.golang.org/go1.5) релиз  языка программирования Go 1.5 (http://golang.org), который позиционируется как гибридное решение, сочетающее высокую производительность компилируемых языков с такими достоинствами скриптовых языков, как лёгкость написания кода, быстрота разработки и защищённость от ошибок.  Код проекта распространяется под лицензией BSD. 
Синтаксис Go базируется на привычных элементах  языка Си с отдельными заимствованиями из языка Python. Язык достаточно лаконичен, но при этом код  легко читается и воспринимается. Код на языке Go компилируется в обособленные бинарные исполняемые файлы, выполняемые нативно без использования виртуальной машины (модули профилирования, отладки и другие подсистемы выявления проблем на этапе выполнения интегрируются в виде runtime-компонентов (http://golang.org/pkg/runtime/)), что позволяет добиться производительности, сопоставимой с программами на языке Си.
Проект изначально разрабатывается с оглядкой на многопоточное программирование и эффективную работу на многоядерных системах, в том числе предоставляя реализованные на уровне операторов средства для организации параллельных вычислений и  взаимодействия между параллельно выполняемыми методами. Язык также предоставляет встроенные средства защиты от выхода за допустимые области выделенных блоков памяти и обеспечивает возможность использования сборщика мусора.
Основные новшества (http://golang.org/doc/go1.5), представленные в выпуске Go 1.5:
-  Компилятор и runtime-компоненты переписаны на языке Go. Инструментарий языка Go теперь полностью избавлен от кода на языке Си и не требует для сборки наличие Си-компилятора;
-  Сборщик мусора полностью переработан и переведён на работу с распараллеливанием операций, что позволило существенно снизить задержки во врем работы приложения;
-  По умолчанию Go-приложения теперь запускаются с установкой лимита на максимальное число одновременно работающих goroutines (GOMAXPROCS) в значение равное числу ядер CPU (ранее GOMAXPROCS был установлен в 1);
-  Обеспечена возможность поставки пакетов для языке Go в форме разделяемых библиотек, связываемых с программами на языке Go или Си;
-  Поддержка внутренних пакетов (https://golang.org/s/go14internal) (internal) предоставлена для всех репозиториев, а не только для Go core;
-  Экспериментальная поддержка (https://docs.google.com/document/d/1Bz5-UB7g2uPBdOx-rw5t9MxJ...)  внешних зависимостей, привязанных к определённому вендору;
-  В  утилиту 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 (https://godoc.org/golang.org/x/mobile), нацеленного на развитие возможностей для создания на языке Go мобильных приложений для Android и iOS;
-  Расширены функции стандартной библиотки. В пакет math/big добавлен новый тип Float для чисел с плавающей запятой с произвольной точностью. Переработан код резолвинга хостов в DNS (избавлен от привязки к cgo), используемый на платформах Linux и BSD. В состав стандартной библиотеки включены пакеты go/types, go/constant и go/importer. В пакет reflect добавлены функции ArrayOf и FuncOf.
URL: https://blog.golang.org/go1.5
Новость: http://www.opennet.dev/opennews/art.shtml?num=42822