Обратите внимание, какие люди стоят за разработкой ... это те "мамонты", которые стояли у истоков языка C и UNIX, а позже делали Plan 9 в качестве замены UNIX.Go — компилируемый, многопоточный язык программирования, разработанный компанией Google. Первоначальная разработка Go началась в сентябре 2007 года, а его непосредственным проектированием занимались Роберт Гризмер, Роб Пайк и Кен Томпсон занимавшиеся до этого проектом разработки операционной системы Inferno. Официально язык был представлен в ноябре 2009 года. На данный момент его поддержка осуществляется для операционных систем FreeBSD, OpenBSD, Linux, Mac OS X, Windows.
На данный момент существуют два компилятора Go:
6g (и сопутствующие ему инструменты, вместе известные под названием gc) написан на Си с применением yacc/Bison для парсера
Gccgo — ещё один компилятор Go с клиентской частью, написанной на C++, и рекурсивным парсером, совмещённым со стандартным бэк-эндом GCC[7]. Поддержка Go доступна в GCC начиная с версии 4.6.
В вашем Linux есть (в пакетной системе) и то и другое:Все компиляторы полагаются полностью на собственный код — создаваемый код не является управляемым, то есть для его работы не нужна виртуальная машина. По словам Роба Пайка, получаемый после компиляции байт-код совершенно автономен.
Код: Выделить всё
$ aptitude search golang*
p golang - Go programming language compiler - metapackage
p golang-dbg - Go programming language compiler - debug files
p golang-doc - Go programming language compiler - documentation
p golang-go - Go programming language compiler
p golang-mode - Go programming language - mode for GNU Emacs
p golang-src - Go programming language compiler - source files
v golang-tools -
v golang-weekly -
v golang-weekly-dbg -
v golang-weekly-doc -
v golang-weekly-go -
v golang-weekly-src -
v golang-weekly-tools -
Код: Выделить всё
olej@notebook:~$ aptitude search gccgo*
p gccgo - Go compiler, based on the GCC backend
p gccgo-4.6-doc - documentation for the GNU Go compiler (gccgo)
p gccgo-4.7 - GNU Go compiler
p gccgo-4.7-doc - documentation for the GNU Go compiler (gccgo)
p gccgo-4.7-multilib - GNU Go compiler (multilib files)
p gccgo-multilib - Go compiler, based on the GCC backend (multilib files)
Код: Выделить всё
$ sudo apt-get install gccgo
...
Настраивается пакет gccgo (4:4.7.2-1) …
$ gccgo --version
gccgo (Debian 4.7.2-5) 4.7.2
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Вполне достаточно ресурсов для разбирательства с самим языком (кроме ссылки уже показанной выше):
Толковые статьи:
Go для программистов C++ - Перевод статьи Go For C++ Programmers с официального сайта языка Go.
Справочники по языку и учебники:Go — язык системного программирования, созданный для широкого применения, как и C++. Здесь приводятся некоторые заметки для опытных программистов C++. Этот документ описывает различия между Go и C++, но почти ничего здесь нет об их сходствах.
Frequently Asked Questions (FAQ)
Effective Go
Directory src/pkg/ - пакеты - библиотека
A Tour of Go - интерактивный учебный тур на сайте Go
... всё что выше - это всё с домашней страницы Go
Евгений Охотников : Краткий пересказ Effective Go на русском языке
Miek Gieben : "Learning Go" - регулярные сборки (PDF) книги, последняя - 09.11.2013 (!)
Дмитрий Выкочко : "Язык программирования go", 4 статьи на IBM DeveloperWorks :
Часть 1
Часть 2
Часть 3
Часть 4