The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Доступен язык программирования Go 1.5

19.08.2015 22:03

После девяти месяцев разработки компания Google представила релиз языка программирования Go 1.5, который позиционируется как гибридное решение, сочетающее высокую производительность компилируемых языков с такими достоинствами скриптовых языков, как лёгкость написания кода, быстрота разработки и защищённость от ошибок. Код проекта распространяется под лицензией BSD.

Синтаксис Go базируется на привычных элементах языка Си с отдельными заимствованиями из языка Python. Язык достаточно лаконичен, но при этом код легко читается и воспринимается. Код на языке Go компилируется в обособленные бинарные исполняемые файлы, выполняемые нативно без использования виртуальной машины (модули профилирования, отладки и другие подсистемы выявления проблем на этапе выполнения интегрируются в виде runtime-компонентов), что позволяет добиться производительности, сопоставимой с программами на языке Си.

Проект изначально разрабатывается с оглядкой на многопоточное программирование и эффективную работу на многоядерных системах, в том числе предоставляя реализованные на уровне операторов средства для организации параллельных вычислений и взаимодействия между параллельно выполняемыми методами. Язык также предоставляет встроенные средства защиты от выхода за допустимые области выделенных блоков памяти и обеспечивает возможность использования сборщика мусора.

Основные новшества, представленные в выпуске Go 1.5:

  • Компилятор и runtime-компоненты переписаны на языке Go. Инструментарий языка Go теперь полностью избавлен от кода на языке Си и не требует для сборки наличие Си-компилятора;
  • Сборщик мусора полностью переработан и переведён на работу с распараллеливанием операций, что позволило существенно снизить задержки во время работы приложения;
  • По умолчанию Go-приложения теперь запускаются с установкой лимита на максимальное число одновременно работающих goroutines (GOMAXPROCS) в значение равное числу ядер CPU (ранее GOMAXPROCS был установлен в 1);
  • Обеспечена возможность поставки пакетов для языка Go в форме разделяемых библиотек, связываемых с программами на языке Go или Си;
  • Поддержка внутренних пакетов (internal) предоставлена для всех репозиториев, а не только для Go core;
  • Экспериментальная поддержка внешних зависимостей, привязанных к определённому поставщику;
  • В утилиту go добавлена новая команда "tool trace" для наглядной трассировки выполнения программы;
  • В утилиту go добавлена новая команда "doc", предоставляющая средства для просмотра документации из командной строки;
  • Добавлены порты для архитектур linux/arm64, darwin/arm и darwin/arm64 (Apple iPhone и iPad). Реализована экспериментальная поддержка ppc64 и ppc64le (IBM PowerPC, big и little endian);
  • Порт darwin/arm64 и средства связывания внешних зависимостей созданы в рамках проекта Go mobile, нацеленного на развитие возможностей для создания на языке Go мобильных приложений для Android и iOS;
  • Расширены функции стандартной библиотки. В пакет math/big добавлен новый тип Float для чисел с плавающей запятой с произвольной точностью. Переработан код резолвинга хостов в DNS (избавлен от привязки к cgo), используемый на платформах Linux и BSD. В состав стандартной библиотеки включены пакеты go/types, go/constant и go/importer. В пакет reflect добавлены функции ArrayOf и FuncOf.


  1. Главная ссылка к новости (https://blog.golang.org/go1.5...)
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/42822-golang
Ключевые слова: golang
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (19) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.5, Аноним (-), 08:51, 20/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Интересно как оно в продакшене в хайлоаде? Кто нибудь уже использует?
     
     
  • 2.6, Аноним (-), 09:00, 20/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Google. Dropbox. Uber. Достаточно "хайлоад" для вас?
     
     
  • 3.7, Аноним (-), 09:02, 20/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Огласите весь список пожалуйста

    https://github.com/golang/go/wiki/GoUsers


     
  • 3.9, Аноним (-), 09:12, 20/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Google.

    У гугла dl.google.com переписан на Go
    http://talks.golang.org/2013/oscon-dl.slide#20

     
     
  • 4.45, herova (?), 11:12, 21/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    автор Brad Fitzpatrick, херачит ещё курилка.
     
  • 2.8, Аноним (-), 09:06, 20/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >pool.ntp.org

    Переписали сервер на Go

    http://news.ntppool.org/2012/10/new-dns-server.html
    DNS server in Go - Big NTP Pool upgrade

    https://github.com/abh/geodns/
    GeoDNS in Go
    This is the DNS server powering the NTP Pool system and other similar services. It supersedes the pgeodns server. Build Status

     
     
  • 3.37, Аноним (-), 06:46, 21/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > Переписали сервер на Go

    Странно что не на питоне. BIND 10 уже переписывали вон, на бидоне. До состояния когда без десятка железных серверов для деплоя этого макаронного монстра к нему лучше не подходить. ЧСХ, на лишний десяток серверов все дружно удавились жабой и BIND 10 оказался нафигнужным. Им наверное только сам ISC и пользуется в результате. Если пользуется.

     
  • 2.10, Аноним (-), 09:20, 20/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    http://twitch.tv переписали beckend чата на go c питона. Kappa.


     
  • 2.18, LittleBuster (ok), 15:56, 20/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Yandex больше года в продакшене использует, переписывает питоновский код на Go
     
     
  • 3.36, Аноним (-), 06:41, 21/08/2015 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Yandex больше года в продакшене использует, переписывает питоновский код на Go

    Так питон не тормозит. Просто рожденный ползать - летать не может.

     
  • 2.22, Аноним (-), 16:49, 20/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    знаю конторку одну в районе павелецкого, написали бизнес-логику на го. Хотят уйти на с++, насколько я понял.
     

  • 1.11, Аноним (-), 09:27, 20/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Сборщик мусора до и после обновления на Go v1.5
    https://pbs.twimg.com/media/CM0CupAW8AAWXxV.png:large
     
  • 1.16, Аноним (-), 15:39, 20/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +6 +/
    >> что позволяет добиться производительности, сопоставимой с программами на языке Си.

    Чушь, Go(1.5) в 3 раза медленее C и памяти использует почти в два раза больше:
    http://benchmarksgame.alioth.debian.org/u32q/compare.php?lang=go&lang2=gcc

     
  • 1.21, Аноним (-), 16:46, 20/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > Язык достаточно лаконичен

    Удивительная история

     
     
  • 2.60, csdoc (ok), 23:26, 24/08/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> Язык достаточно лаконичен
    > Удивительная история

    Один из авторов языка - Кен Томпсон, тот самый,
    который когда-то создал операционную систему UNIX.

    "Rust and Scala drown you in complexity. Go drowns you in simplicity"
    - https://twitter.com/extempore2/status/615907314189479937

    https://www.youtube.com/watch?v=cGXorQkw3JE
    - 2015.08.19 Антон Архипов – Go!

     

  • 1.53, Бабушка (?), 19:11, 21/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Комментарии к любой новости про любой язык программирования рано или поздно скатываются в нытьё людей, готовых с пеной у рта доказывать, что они на C напишут что угодно как угодно быстро. Некоторые из них иногда действительно разбираются в своей узкой нише, в которой зачастую C — единственный разумный выбор; но решительно каждый из них не видит дальше своего наморщенного носа. То, что в мире может быть востребовано несколько разных языков до горлопанов не доходит из-за ригидности мышления, неспособности принять два простых факта: IT-индустрия не ограничивается их маленькой нишей и не существует универсального инструмента, решающего задачу с учётом технических и нетехнических требований. То, что на любом Тьюринг-полном языке можно написать вообще всё, что физических возможно, не означает, что это стоит делать.
     
     
  • 2.55, Аноним (-), 20:01, 21/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    > в нытьё людей, готовых с пеной у рта доказывать, что они
    > на C напишут что угодно как угодно быстро.

    Это еще бабушка надвое сказала, т.к. стабильно ноют уже не один десяток лет, но ЧСХ - что в бубунте, что в гентушном портаже питон так и не выпиляли :)
      

     

  • 1.61, Аноним (-), 21:51, 25/08/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сделали shared libraries и динамическую линковку, или нет?
    Вроде в версии 1.5 обещали.

    Если сделали, то почему в новости нет?

     
     
  • 2.62, Andrey Mitrofanov (?), 09:45, 26/08/2015 [^] [^^] [^^^] [ответить]  
  • +/
    >shared libraries и динамическую линковку, или нет?
    >обещали.
    > Если сделали, то почему в новости нет?

    Гдаза разуй:

    [CODE]-  Обеспечена возможность поставки пакетов для языке Go в форме
    разделяемых библиотек, связываемых с программами на языке Go или Си;[/CODE]

     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру