LINUX.ORG.RU

Go 1.6

 ,


0

2

Выпущена версия 1.6 языка программирования Go. Основные изменения в новой версии касаются компилятора и библиотек, сам язык не изменился и продолжает выполнять обязательство совместимости Go 1. Разработчики не ожидают изменений в работоспособности уже существующих программ на Go.

Новое в версии 1.6:

  • Поддержка платформ linux/mips64, linux/mips64le и android/386.
  • Более жёсткие правила работы с указателями Go в коде на C.
  • Автоматическая поддержка HTTP/2.
  • Улучшенный механизм повторного использования шаблонов в модуле text/template.

>>> Подробности



Проверено: beastie ()
Последнее исправление: beastie (всего исправлений: 1)

А еще из новшеств, это увлечение времени компиляций программ, в 5-10 раз.

anonymous
()
Ответ на: комментарий от anon3

Уже запилили. Набегай.

Интерфейсы? Они даже с натяжкой не являются дженериками. Поэтому в топку этот язык! Джаба и С# под виндоуз — наше фсйо.

anonymous
()

Internally, the most significant change is that the parser is now hand-written instead of generated from yacc.

ох, и не лень им было :)

Deleted
()

ненужно

anonymous
()

Сколько зондов в нём уже нашли?

otasan
()
Ответ на: комментарий от feofan

Но то что компилить стало медленне, чем было в версии 1.0 — факт. Там вообще чуть ли не моментально компилило. Сейчас это не так. И на фоне этого уже как-то тухло выглядят отмазы, что генерики видите ли замедлят компиляцию.

Bad_ptr ★★★★★
()
Ответ на: комментарий от Bad_ptr

Было значительное замедление компеляции при переходе 1.4 -> 1.5, так как компилятор переписали с си на го при помощи, в основном, автоматической трансляции. Соответственно получилась куча неидеоматичного кода и огромный простор для будущих оптимизаций. Что изменилось в этом аспекте в данном релизе - не знаю, статистики не видел.

И на фоне этого уже как-то тухло выглядят отмазы, что генерики видите ли замедлят компиляцию.

Хочешь скорость компиляции как в плюсах?

feofan ★★★★★
()

Я слышал go он как c++ по скорости и возможностям, только проще и компетентных девелоперов найти легче и быстрее. Поясните, так ли это?

unt1tled ★★★★
()
Ответ на: комментарий от unt1tled

слышал go он как c++ по скорости и возможностям

Тоньше надо.

anonymous
()
Ответ на: комментарий от unt1tled

Я слышал go он как c++ по скорости и возможностям

Короткий ответ - нет.

feofan ★★★★★
()
Ответ на: комментарий от feofan

Было значительное замедление компеляции при переходе 1.4 -> 1.5, так как компилятор переписали с си на го при помощи, в основном, автоматической трансляции.

Вот-вот. Неужели в 1.6 стало ещё медленнее чем в 1.5?

Соответственно получилась куча неидеоматичного кода и огромный простор для будущих оптимизаций.

Вот у меня вопрос, когда у них это будущее наступит? Я считал, что к 1.6. Но обманулся.

gag ★★★★★
()
Ответ на: комментарий от gag

Неужели в 1.6 стало ещё медленнее чем в 1.5?

У меня нет информации по этому поводу. А стало? Пруфы есть?

feofan ★★★★★
()

Более жёсткие правила работы с указателями Go в коде на C.

Объясните для Ъ, пожалуйста, что тут имеется в виду?

sT331h0rs3 ★★★★★
()

Более жёсткие правила работы с указателями Go в коде на C.

Это привело к поломке кучи проектов. Теперь даже если указатель передаётся просто как opaque, всё равно - нельзя, а нужно засовывать в map, и передавать «указатель» на указатель. А если не opaque, то не знаю, есть ли универсальное решение.

А ещё нужно добавить, что скорость общения через cgo упала ещё больше. И исправлять они (это) больше не планируют, что меня разочаровало.

gag ★★★★★
()
Ответ на: комментарий от sT331h0rs3

Написали правила как передавать указатели между си и го, а если их не соблюдать получишь по рукам программа повалится с паникой.

feofan ★★★★★
()

Несмотря на громкое имя фирмы-разработчика и вливание бабла, этот язык обречён. Зачем гугля его вообще пилит? Чтоб быть «не хуже микрософт»? Этого мало, есть ещё целое поле боя в виде легаси С/С++, инструментов, платформ и т.п. Гугл запилил язык сам себе, да и то ещё вопрос, пользуется ли им кто-то внутри.

matumba ★★★★★
()
Ответ на: комментарий от sT331h0rs3

Нельзя передавать рекурсивные указатели (указатель на массив других указателей — ошибка). Вернее, внутри нельзя рекурсивно ссылаться на память, выделенную GO-шным GC.

И нельзя в C-шном коде сохранять указатель «на потом», гарантия, что его никто не испортит уже после завершенного вызова.

Проверки в рантайме, прога просто упадет, если что не так.

anonymous
()

А какие немаргинальные альтернативы Java для задач построения распределенных нагруженных систем под онтопик есть в 2016 году кроме Go?

На самом деле, Go тоже не альтернатива, т.к. без дженериков для него так никогда и не появится даже нормальных библиотек алгоритмов.

anonymous
()
Ответ на: комментарий от matumba

К сожалению им пользуются. И походу пиар/лоббизм корпорации зла позволяет разрабам языка плевать на мнение погромистов.

Bad_ptr ★★★★★
()
Ответ на: комментарий от anonymous

А какие немаргинальные альтернативы Java для задач построения распределенных нагруженных систем под онтопик есть в 2016 году кроме Go?

другие языки под жвм :-)

Debasher ★★★★★
()
Ответ на: комментарий от Debasher

Какие например, кстати говоря? Я посматриваю в их сторону, но среди них такое разнообразие, что оно отпугивает.

anonymous
()
Ответ на: комментарий от anonymous

https://github.com/Frege/frege

Я бы посоветовал свой любимый Clojure, но из-за динамической типизации у него довольно узкая специализация.

Ну, Scala же :-)

Debasher ★★★★★
()
Последнее исправление: Debasher (всего исправлений: 1)
Ответ на: комментарий от Debasher

Судя по коду на Scala, который я видел, это современный Perl в плане удобства чтения чужого кода.

anonymous
()
Ответ на: комментарий от Debasher

Не «Scala же», а две библиотеки. Akka, акторы, для долго работающих систем, и Spark, для анализа данных на куче серверов, причем для последнего есть биндинги на более адекватные языки, тот же питон. Больше историй успеха про Scala нет.

anonymous
()

какой то совсем минорный релиз

umren ★★★★★
()
Ответ на: комментарий от anonymous

Nim же, ну. Такой-то современный взгляд на модулы/обероны. Он уже сейчас оч вкусный, а дальше нас ждет слепящий вин тысячелетия.

kremator666
()
Ответ на: комментарий от ritsufag

А что в ноде под распределенку есть? Она же однотредно-коллбэчная, чем из всех нод кластер собирать?

anonymous
()
Ответ на: комментарий от matumba

Несмотря на громкое имя фирмы-разработчика и вливание бабла, этот язык обречён.

Аргументы?

Зачем гугля его вообще пилит?

Потому что им нужен простой и безопасный язык для написания серверов.

Чтоб быть «не хуже микрософт»?

Таких целей никто вообще никогда не ставит.

Этого мало, есть ещё целое поле боя в виде легаси С/С++, инструментов, платформ и т.п.

Я не думаю, что создатели го планируют биться с легаси С++.

Гугл запилил язык сам себе

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

да и то ещё вопрос, пользуется ли им кто-то внутри.

Вопроса нет, пользуются. Основной язык в гугле это C++, но и Go используется.

Legioner ★★★★★
()
Ответ на: комментарий от matumba

громкое имя фирмы-разработчика и вливание бабла, этот язык обречён. Зачем гугля его вообще пилит?

Его не Гугл пилит. И язык уже взлетел.

KRoN73 ★★★★★
()
Ответ на: комментарий от anonymous

TypeScript на Node.js.

Уж лучше Dart. В последнем проекте у нас весь фронтэнд на Дарте. По сравнению с JS, Dart просто сказка.

abc
()
Ответ на: комментарий от unt1tled

ради интереса ходил на Go meetup посвященый именно релизу 1.6

процентов 90 прешедших хистеры-студенты, разговоры типа у нас была тонна говнокода на пхп переписали на го наступило счастье, а вот в го появилась фича Х это аналог фичи Х с рубей. Так что ровнять го на нормальные языки програмирования не стоит. Половина прешеджих наверно даже незнает кто такие кериган и ритчи.

увы комюнити языка ужасно но оно будет существовать, вангую что через пять лет к Goвнарям будут относится так же как сейчас пхпшникам

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.