Опубликован первый релиз языка программирования Go, который ознаменовал стабилизацию спецификаций и набора библиотек. Go 1 является первым выпуском, доступным в форме бинарных пакетов для Linux, Mac OS X, FreeBSD, Windows и других поддерживаемых платформ. Язык Go создан в компании Google, распространяется под лицензией BSD и поддерживает компиляцию для архитектур AMD64, x86, x64 и ARM.

С одной стороны, в новом релизе нет какого-то существенного редизайна языка или глобальных новшеств, но с другой, наконец-то исправлены некоторые старые ошибки, исправление которых ранее откладывалось по причине создания несовместимости с первоначальной спецификацией. Выпущена специальная утилита go fix, которая максимально автоматизирует приведение старых исходных кодов к текущему стандарту языка Go 1. В целом, в текущем релизе разработчики сосредоточились на оптимизации и очистке кода, повышении его универсальности и переносимости, сведя модификации самого языка к минимуму.

В качестве примеров изменений можно назвать появление типа rune для Unicode-символов, добавление типа error и модуля os.Error для обработки ошибок, создание типа time для задания времени и незначительные переименования в strconv. Кроме этого проведена огромная работа по полной переработке и улучшению сервисной программы go. Самое заметное новшество которой в том, что теперь можно отказаться от файлов Makefile и сборочных скриптов, вся необходимая информация теперь будет извлекаться непосредственно из самих исходников программы. Одновременно выпущен новый Google App Engine SDK, который полностью доработан с учетом новых возможностей Go 1, и предназначен для создания приложений для App Engine.

Напомним, синтаксис языка Go сильно похож на язык Си со стилистическими примесями из Python. Это компилирующий императивный язык, поддерживающий структурное программирование. Google утверждает, что разработка нового языка оправдана тем, что сложность C++ приводит к большому количеству ошибок при создании больших приложений, поэтому Go - это попытка создать, с одной стороны - более наглядный и гибкий язык, и с другой, - изначально спроектировать его дизайн с учетом актуальных тенденций и специфики современного аппаратного обеспечения (например, оптимальная работа на многоядерных системах).

Основные особенности языка:

  • Высокая безопасность и стабильность языка, включая полную поддержку type-safe и memory-safe;
  • Язык изначально спроектирован для многопроцессорных систем, с встроенной поддержкой (на уровне операторов) параллельных операций и межпроцессорных взаимодействий;
  • Высокая эффективность и читаемость, лаконичность языка;
  • Высокая скорость работы, практически аналогичная языку Си.

Отдельно отметим, что язык Go не стоит путать с языком Go!, являющегося своеобразным клоном языка Prolog, разработчики которого ранее даже пытались оспорить это название у Google, но пока безрезультатно.

Источник: http://www.opennet.ru/opennews/art.shtml?num=33476