Google Go
posted in Все записи |Провел вечер за изучением свежего языка программирования.
Google создал новый язык программирования
Поисковик Google объявил о создании Go, нового языка программирования. Go, по утверждению авторов, сочетает в себе скорость разработки, характерную для динамических языков, таких как Python, с производительностью и безопасностью компилируемых, таких как C и C++.Go поддерживает многопроцессорность и предназначен в первую очередь для системного программирования. С его помощью, например, можно написать сервер, обслуживающий одновременно тысячи соединений.
Сам Google подчеркивает, что Go - экспериментальный язык. Он пока мало используется даже внутри компании, так как не готов к широкомасштабному применению. Пока на Go написан лишь сервер для официального сайта языка, Golang.org.
В разработке Go принимали участие лучшие специалисты в этой области, пишет CNET news. В частности, это один из создателей Unix Кен Томпсон, архитектор операционных систем Inferno и Plan 9 Роб Пайк, а также Роберт Гризмер, один из разработчиков V8, механизма обработки JavaScript в браузере Chrome.
http://lenta.ru/news/2009/11/11/go/
Несколько слов об установке:
сначала устанавливаем систему контроля версий Mercurial:
apt-get install mercurialУстанавливаем некоторые переменные, необходимые для сборки:
export GOROOT=/home/user/go export GOBIN=$GOROOT/bin export PATH=$PATH:$GOBIN export GOOS=linux export GOARCH=386GOOS и GOARCH устанавливаются согласно операционной среде и железу, согласно инструкции по установке.
В моем случае еще была проблема с установкой из под root-а, но согласно бактрекингу, она была пофиксена.
Делаем чекаут последней ревизии:
hg clone -r release https://go.googlecode.com/hg/ $GOROOTДалее создаем каталог куда будут свалены исходники:
cd $GOROOT
mkdir binЗапускем сборку:
cd src
./all.bashПо завершению установки в каталоге $GOBIN создаются необходимые для работы бинарники, а в $GOROOT/pkg/$GOOS_$GOARCH/ - библиотеки, о них важно помнить при переносе файлов из одно места в другое.
Создаем тестовый файл hello.go:
package main import "fmt" func main() { fmt.Printf("hello, world\n") }Компилируем: 8g hello.go
Затем линкуем: 8l -o hello hello.8Запускаем: ./hello
hello, world
Ура.
Приложение кстати получилось довольно увесистое: около полумегабайта.
В целом, синтаксис и возможности оставили приятное впечатление.
Буду разбираться.Кстати, возможно, "go" - не финальное имя языка, т.к. в багтрекинге отметился человек по имени Francis McCabe, на протяжении последниз десяти лет занимающийся работой над собственным языком "Go!", выпустивший книгу под названием Let's Go. Конечно, не факт, что ему удастся победить такого гиганта как Google, но этот казус, наверняка, принесет ему мировую известность.
Официальный сайт языка: http://www.golang.org
Google создал новый язык программирования