en ru

Язык программирования Go

Сегодня познакомился с языком программирования Go. Он мне очень понравился. Подумываю о том, чтобы его сделать основным в проекте AiKernel и AReason. На сколько я понял он лишен недостатков Си, но при этом сохранил все его достоинства. Плюс добавлены возможности для программирования параллельных (кажется так правильно называется) программ.

В общем всем рекомендую ознакомиться.

Ссылки по теме:
golang.org - основной сайт проекта
golanguage.ru - русскоязычный сайт
code.google.com/p/go - исходники, бинарники и пр.

Книги
golanguage.ru/tutorial - Учебник
Programming in Go: Creating Applications for the 21st Century
The Way to Go: A Thorough Introduction to the Go Programming Language

IDE
go-ide.com - требует Java
code.google.com/p/golangide - GoLiteIDE. Поддерживает сборку проектов через go tool.
code.google.com/p/goclipse - Плагин для Eclipse
SublimeText2
TextMate 1 (TextMate 2 пока что не поддерживает).
Список IDE для Go

Статьи
TCP/IP proxy на Go
Google Go vs Си
Для тех, кто пишет на языке Go
Пишем веб-эмулятор терминала на Go, используя Websocket
Google выпустила финальную версию языка программирования Go 1
Первый релиз языка программирования Go
Простой файловый хостинг на Google App Engine
Интерпретируем Go как Python, Ruby, Bash
Быстрый старт – программируем на Go под Windows — настройка Environment
Go Language. Небольшое клиент-серверное приложение
Веб-разработка на Go
Обработка ошибок в Go: Defer, Panic и Recover
Многопоточное программирование в Go
Язык Go. Пишем эмулятор CHIP-8
Язык Go не будет менять название: обсуждение закрыто
Язык Go с точки зрения PHP-разработчика
Язык программирования Go
Google Go = Python и C++

Здесь можно найти критику и недостатки Go: Язык программирования Rust

По мнению разработчиков Rust, главная проблема Google Go — блокировка исполнения кода при сборке мусора, что делает невозможным использование Go в приложениях под высокой нагрузкой, имеющих ограничение на максимальное времени отклика. Некоторые программы на Go могут тратить больше времени на сборку мусора, чем на реальную работу (см. подробнее о тестировании C++/Java/Go/Scala). В Rust используется другой подход, что может приводить к утечкам памяти, но зато повышает производительность.

Правда я не совсем понимаю почему пишется про сборку мусора, если Go не объектно-ориентированный язык. Или он считает созданные и не освобожденные структуры? В общем надо разбираться.

Обсуждение: project-ai.org/forum/viewtopic.php?t=749












© AiKernel 2010-2016
31.03.2012 - 23.05.2016