Форум сообщества Runtu.org
Июль 19, 2018, 02:43:05 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Новости: Доступна для загрузки релизная версия дистрибутива Runtu LITE 18.04 - 201805

Подробнее
   Начало   Помощь Поиск Войти Регистрация  
Страниц: 1   Вниз
  Печать  
Автор Тема: Язык программирования Go  (Прочитано 6772 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Prof1983
Активист
****
Offline Offline

Сообщений: 494


Libre.Life - Свободная жизнь


WWW
« : Март 31, 2012, 15:01:51 »

Здравствуйте.

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

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

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

IDE
http://go-ide.com/ - требует Java
http://code.google.com/p/golangide/ - GoLiteIDE. Поддерживает сборку проектов через go tool.
http://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 не объектно-ориентированный язык. Или он считает созданные и не освобожденные структуры? В общем надо разбираться.

P.S. В разделе "Разработка" в основном программы для разработки. Эту тему можно тоже считать "описанием" консольной программы /usr/local/go/bin/go Улыбающийся
« Последнее редактирование: Апрель 23, 2012, 19:15:32 от Prof1983 » Записан

Libre.Life - Свободная жизнь Libre.Money - Свободные деньги Libre.Su - Свободный союз
Olej
Новичок
**
Offline Offline

Сообщений: 88


« Ответ #1 : Март 31, 2017, 21:06:36 »

Решил написать про относительно новый язык программирования.
И даже не "относительно", а абсолютно - 2009-й год.
На сколько я понял он лишен недостатков Си, но при этом сохранил все его достоинства.
Не удивительно: архитектуру Go разрабатывали те же люди, что 40 лет назад разрабатывали C и UNIX.
Как у А.Дюма: "40 лет спустя" ... С учётом всех проблем 40-летней эксплуатации.
Плюс добавлены возможности для программирования параллельных (кажется так правильно называется) программ.
Добавлено много новых нужных вещей.
Учебник начального уровня для тех, кто имеет некоторый опыт программирования, см. здесь: Go конспект (124 стр. + множество работающих примеров).
Правда я не совсем понимаю почему пишется про сборку мусора, если Go не объектно-ориентированный язык. Или он считает созданные и не освобожденные структуры? В общем надо разбираться.
1. Сборка мусора никак (ни малейшим образом) не связана с объектностью языка.
2. Go может считаться объектно-ориентированным языком (не менее, по крайней мере, чем JS или PHP), но здесь объектность реализуется совсем по-другому, чем в C++ или Java.
Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006, Simple Machines Valid XHTML 1.0! Valid CSS!