URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 96396
[ Назад ]

Исходное сообщение
"Увидел свет язык программирования Go 1.3"

Отправлено opennews , 19-Июн-14 13:08 
После полугода разработки компания Google представила (http://blog.golang.org/go1.3) релиз  языка программирования Go 1.3 (http://golang.org), который позиционируется как гибридное решение, сочетающее высокую производительность компилируемых языков с такими достоинствами скриптовых языков, как лёгкость написания кода, быстрота разработки и защищённость от ошибок.  Код проекта распространяется под лицензией BSD.

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

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

Основные новшества (http://golang.org/doc/go1.3), представленные в выпуске Go 1.3:


-  Добавлена поддержка платформ DragonFly BSD, Solaris (illumos и Solaris 11) и Plan 9. Повышены минимальные требования к версиям FreeBSD (FreeBSD 8+ c COMPAT_FREEBSD32 для x86 и FreeBSD 10 для ARM), NetBSD (6.0+) и OpenBSD (5.5+). Прекращена поддержка ОС Windows 2000, выпуск обновлений для которой был прекращён Microsoft в 2010 году.

-  В инструментарий gc добавлена поддержка (https://code.google.com/p/go-wiki/wiki/NativeClient) генерации исполняемых файлов для окружения Native Client (http://www.opennet.me/opennews/art.shtml?num=29671) (NaCl), что позволяет организовать выполнение не заслуживающего доверия кода в sandbox-окружении, изолированном от остальной системы. Пока поддерживается только генерация платформозависимых файлов для 32- и 64-разрядных процессоров Intel, поддержка Portable Native Client (http://www.opennet.me/opennews/art.shtml?num=36962) (PNaCl) отсутствует;

-  В сервер документации Godoc (http://godoc.org/code.google.com/p/go.tools/cmd/godoc) добавлены средства для статического атализа кода при запуске с флагом "-analysis". Результаты анализа отображаются как в представлении исходных текстов, так и в документации к пакету, что упрощает навигацию по коду и разбор логики его работы;

-  Проведена оптимизация runtime-компонентов, что в сочетании с улучшенным сборщиком мусора, новой непрерывной стратегией работы со стеком для подпрограмм (ранее использовалась сегментированная модель), улучшением движка регулярных выражений и более быстрым детектором состояний гонки  (race detector (http://golang.org/doc/articles/race_detector.html)) положительно отразилось на производительности выполнения исполняемых файлов;
-  Проведён рефакторинг системы динамического связывания и компилятора. Стадия выбора инструкций перемещена из компилятора в линковщик, что позволило ускорить повторные сборки больших проектов;


-  Обеспечен режим точного контроля типов при работе сборщика мусора со стеком, что позволило исключить ошибочную трактовку переменных как укзателей. Задействован новый алгоритм вычищения, отличающийся параллелизацией выполнения операций и манипуляцией страницами памяти большего размера. Суммарный эффект от нового алгоритма оценивается в 50-70% снижении времени на сборку мусора.

URL: http://blog.golang.org/go1.3
Новость: http://www.opennet.me/opennews/art.shtml?num=40035


Содержание

Сообщения в этом обсуждении
"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 19-Июн-14 13:08 
Полезно разве что как замена феерически кривого кошмара под названием питон. Как замена C++ годится только Rust.

"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 19-Июн-14 13:18 
Ну вот когда Rust допишут хотябы до какого-то стабильного состояния, тогда и будет заменой

"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 19-Июн-14 13:23 
Это да.

"Увидел свет язык программирования Go 1.3"
Отправлено XoRe , 19-Июн-14 14:19 
> Полезно разве что как замена феерически кривого кошмара под названием питон.

Программист на питон?


"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 19-Июн-14 16:21 
Чем оно лучше православного питона?

"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 19-Июн-14 18:00 
Ну как минимум нормальным синтакисом, многопоточностью и полноценной компиляцией.

"Увидел свет язык программирования Go 1.3"
Отправлено rob pike , 19-Июн-14 18:35 
Это и есть такой питон, только для сишников.

"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 19-Июн-14 22:00 
Тем что синтаксис не для постановки гопов в стойло и скорость работы человеческая.

"Увидел свет язык программирования Go 1.3"
Отправлено rob pike , 19-Июн-14 18:36 
И D годится, и Rust, и OCaml тоже сгодится.
Только никто С++ на них менять не бежит. И не побежит.

"Увидел свет язык программирования Go 1.3"
Отправлено анон , 19-Июн-14 20:09 
фейсбук вон публиковал отчёт по поводу выгодности перехода на D с C++

уже бегут, игнорируйте дальше


"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 19-Июн-14 20:23 
сейчас Роб напишет, что Александреску - некомпетентный хипстер и вообще продался корпорастам :)

"Увидел свет язык программирования Go 1.3"
Отправлено rob pike , 19-Июн-14 20:32 
Компетентный всё же, не отнять, но таки хипстер.

А вот Bartosz уже осознал свою детскую болезнь D-визны и исправляется http://bartoszmilewski.com/2014/06/09/the-functional-revolut.../


"Увидел свет язык программирования Go 1.3"
Отправлено rob pike , 19-Июн-14 20:28 
Только Фэйсбук пока и бежит одиноко.
Да и то - основная часть так и будет на PHP, и Саймон уже остро отточенной лямбдой в D тычет.
А остальные уже все на Go.

"Увидел свет язык программирования Go 1.3"
Отправлено й , 20-Июн-14 12:38 
Go -- отличный язык, но играющий несколько в других нишах, чем C++, D, Ocaml, да и чем PHP.

Что у нас нынче флагманский веб-фреймворк под Go? Rivet?


"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 20-Июн-14 18:21 
В отличие от всех перечисленных Go всего 3 года. От идеи до Go1.3 ...
Это ответ на вопрос "а что на нём написано", и про нищи.
За три года прогресс вполне впечатляющий. Как оно дальше пойдёт - будем посмотреть :)

"Увидел свет язык программирования Go 1.3"
Отправлено анон , 20-Июн-14 18:47 
1. три года -- не от "идеи", а от r56
2. и всё-таки, какой флагманский веб-фреймворк? мартини? ривет? оба не впечатлили

"Увидел свет язык программирования Go 1.3"
Отправлено й , 20-Июн-14 18:52 
Тьфу, не ривет, а ревел.

"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 21-Июн-14 03:33 
>1. три года -- не от "идеи", а от r56

Хоботов - это мелко!(С)
r56 была первой публичной, до этого над ней трудились 3 гика. Правда уровня каких у нас нет :) но всё-же ...

>2. и всё-таки, какой флагманский веб-фреймворк? мартини? ривет? оба не впечатлили

У тебя есть шанс изменить мир :) Ну ты понел ?


"Увидел свет язык программирования Go 1.3"
Отправлено анон , 21-Июн-14 14:11 
> r56 была первой публичной

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

>>2. и всё-таки, какой флагманский веб-фреймворк?
> У тебя есть шанс изменить мир :)

так и запишем: поциент не в теме.


"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 19-Июн-14 22:02 
> уже бегут, игнорируйте дальше

За кадром слышен конский топот си++'ников которые побежали менять шило на мыло. А что, много например игр уже на D перешли с C++? А то игроделы например повально на полюсах пишут. Потому что больше не на чем. GC и прочие медвежьи услуги им только мешают, им надо скорость но чтобы достаточно сложный код достаточно быстро можно было воротить. Вот и используют плюсы. Потому что все остальные альтернативы - не такие уж и альтернативные.


"Увидел свет язык программирования Go 1.3"
Отправлено rob pike , 20-Июн-14 08:42 
Всё несколько сложнее, но в целом - да.

http://c0de517e.blogspot.ru/2014/06/where-is-my-c-replacemen...


"Увидел свет язык программирования Go 1.3"
Отправлено arisu , 20-Июн-14 14:33 
вот ведь… а почему ты ребятам из Circular Studios не сказал, что ничего у них не выйдет? если бы только они вовремя узнали… а теперь уже поздно, код уже написан и работает.

"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 21-Июн-14 03:39 
> вот ведь… а почему ты ребятам из Circular Studios не сказал, что ничего у них не выйдет?

А у них вышло? Dash game - к успеху пришли пацаны чего там :)

> а теперь уже поздно, код уже написан и работает.

Да это хня - у меня шахматы на sed'е есть! Так что рулит sed и точка!


"Увидел свет язык программирования Go 1.3"
Отправлено arisu , 21-Июн-14 19:20 
дальше сам продолжай, это слишком неинтересно. «а-а-а, нельзя ничего написать!» «ну вот, написано.» «а-а-а, не заработали на этом миллиарды — значит, ерунда!» (про то, что «нельзя написать», ненавязчиво забываем). и так далее. дальше веди этот увлекательный диалог с кем-нибудь другим.

"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 20-Июн-14 00:01 
с каких пор лицокнига стала мерилом и образцом? Что-то не наблюдаю ни одного opengl или какого-нибудь реляционного проекта, испуганно бегущего в сторону Go :)

"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 19-Июн-14 20:13 
только это следствие не преимуществ C++, а того что даже относительно приемлемо работающий код вообще редко меняют. C++ - это Windows от языков программирования. Ёжики плачут, колются, но... Будь OpenSSL написан на Rust с его жестким контролем памяти, никакого хертблида бы не было.

"Увидел свет язык программирования Go 1.3"
Отправлено rob pike , 19-Июн-14 20:34 
А если бы на ATS с формальной верификацией - тогда вообще б коммунизм уже наступил.

Вот только в реальности 90% таких "если" просто не были написаны.


"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 19-Июн-14 21:06 
> Будь OpenSSL написан на Rust с его жестким контролем памяти, никакого хертблида бы не было.

:) Надежды вьюношу питают ... Чтобы не было хеартблидов надо проггеров догл юить^W учить а на чём они пишут - дело где то 18-ое :)


"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 19-Июн-14 22:14 
Для начала надо прибить оверинженернутый протокол который без багов не получится реализовать вообще ни на какому ЯП. И сделать заново. В 20 раз проще. Без легаси и костылей. Тогда на любом ЯП станет реально реализовать без багов или с минимальным количеством таковых.

Эталонный пример: протокол CurveCP. Все лучшее что вообще можно ожидать от криптографического протокола подобного типа. И в десятки раз меньше кода чем в любой SSLнутой либе...


"Увидел свет язык программирования Go 1.3"
Отправлено arisu , 20-Июн-14 14:55 
> Эталонный пример: протокол CurveCP.

ага. эталон. послать пакет без данных можно, а ACKнуть его нельзя.


"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 19-Июн-14 22:05 
> Будь OpenSSL написан на Rust с его жестким контролем памяти,
> никакого хертблида бы не было.

Если б у бабушки... ! С жестким контролем памяти оно во первых тупило бы раза в три во всей криптографии, за счет лишних проверок, продув первому же конкуренту на си. Потому что жаба всех удавит ставить в 3 раза больше серверов. Кроме того, писали бы это еще более стремные кидизы, дорвавшиеся до модно-стильно-молодежного ЯП. И в результате там было бы еще в 5 раз больше багов. А криптография баги не прощает. И отнюдь не только чтение лишней памяти.


"Увидел свет язык программирования Go 1.3"
Отправлено rob pike , 20-Июн-14 03:35 
> С жестким контролем памяти оно во первых тупило бы раза в три во всей криптографии, за счет лишних проверок

Вы что же это, серьезно считаете что проверка типов - она в рантайме происходит?


"Увидел свет язык программирования Go 1.3"
Отправлено Mural , 20-Июн-14 06:18 
В GO схватить ошибку типа по райнтам - нефиг делать.

"Увидел свет язык программирования Go 1.3"
Отправлено rob pike , 20-Июн-14 07:19 
Ну так если таким вот макаром углы-то срезать

> Because interface{} can refer to any value, it's a limited way to escape the restrictions of static typing, like void* in C but with additional run-time type checks

чего ж тут ожидать хорошего


"Увидел свет язык программирования Go 1.3"
Отправлено Аминамус , 19-Июн-14 18:45 
Что-ты, биллет, канкстр какой-то, а? Канкстр?

"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 19-Июн-14 20:55 
Не - ну раз такой мощщщный Ыгспёрд сказал ... всё пацаны, расходимся.

А если по делу - это то на чём надо писать всё что не ядро. Я ещё более Ыгсперд - да :)


"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 19-Июн-14 20:57 
Ну ты и неосилятор :) У меня сервера крутят Пистон лет 7 уже 24*7 :))))) Я понимаю, когда чел не осилил Хаскель,но когда Пистон... может пора освободить дорогу другим? А самому, скажем, за баранку? :)

"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 19-Июн-14 21:09 
> Ну ты и неосилятор :) У меня сервера крутят Пистон лет 7 уже 24*7 :)))))

А у меня - код целевой задачи :) Но ты крути пистон дальше, я не против :)

> Пистон... может пора освободить дорогу другим? А самому, скажем, за баранку?

До чего же хорошо сказано, бро! :)



"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 19-Июн-14 22:08 
> Пистон... может пора освободить дорогу другим?

Интересно. То-есть, если ты не хочешь "джамшутить" в IT, используя ЯП для быдлoкодеров - единственное что приходит в голову "джамшутеру от IT" - посоветовать джамшутинг в другой сфере :). Ну да, ваш ответ лишний раз подтверждает тезис о том кто пользуеся бидоном...


"Увидел свет язык программирования Go 1.3"
Отправлено Darkman , 20-Июн-14 07:23 
Ну хз, я уже практически все стал писать на Go. PHP, Python, Java уже с год ничего не писал. Так еще для винды использую Delphi.

"Увидел свет язык программирования Go 1.3"
Отправлено ILYA INDIGO , 20-Июн-14 10:52 
А как насчёт D?

"Увидел свет язык программирования Go 1.3"
Отправлено rob pike , 20-Июн-14 11:49 
Остался на обочине истории.

"Увидел свет язык программирования Go 1.3"
Отправлено arisu , 20-Июн-14 14:57 
> Остался на обочине истории.

а пацаны-то до сих пор не в курсе…


"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 20-Июн-14 19:02 
>> Остался на обочине истории.
> а пацаны-то до сих пор не в курсе…

Ну правильно, так всегда и бывает :)


"Увидел свет язык программирования Go 1.3"
Отправлено arisu , 20-Июн-14 14:11 
> Как замена C++ годится только Rust.

Уолтер Брайт и Андей Александреску обнялись и плачут: столько лет, столько усилий — и всё зря…


"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 20-Июн-14 19:04 
>> Как замена C++ годится только Rust.
> Уолтер Брайт и Андей Александреску обнялись и плачут: столько лет, столько усилий — и всё зря…

Да брось. D - уже не взлетел, Rust - только готовится не взлететь :)
Правда она как топор бро :)


"Увидел свет язык программирования Go 1.3"
Отправлено arisu , 20-Июн-14 19:17 
> Да брось. D - уже не взлетел

чётко расписал. я повержен, мне нечего противопоставить такой мощной аргументации.


"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 19-Июн-14 13:33 
свет в конце тоннеля?

"Увидел свет язык программирования Go 1.3"
Отправлено anonymous , 19-Июн-14 13:53 
Тьма вначале пути

"Увидел свет язык программирования Go 1.3"
Отправлено freedom4live , 19-Июн-14 14:01 
А мне нравится... Гоурутины и каналы очень удобная штука...

"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 19-Июн-14 20:58 
> А мне нравится... Гоурутины и каналы очень удобная штука...

Они есть еще в десятке языков и либ


"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 19-Июн-14 22:50 
Akka для JVM появилась примерно в одно время с Go, то же самое с async/await в C#, Erlang - язык не для людей, в C++ нет GC, остальные типа Lua очень мало распространены. Вот и получается, что Go оказался в нужное время в нужном месте.

"Увидел свет язык программирования Go 1.3"
Отправлено .htaccess , 20-Июн-14 15:27 
В нормальном языке GC и не нужен, только если вы сами не в состоянии контролировать то, что выделяете.

"Увидел свет язык программирования Go 1.3"
Отправлено arisu , 20-Июн-14 15:53 
> В нормальном языке GC и не нужен, только если вы сами не
> в состоянии контролировать то, что выделяете.

тебе часто говорят, что ты идиот? думаю, да: это слишком очевидное наблюдение.


"Увидел свет язык программирования Go 1.3"
Отправлено .htaccess , 20-Июн-14 19:30 
Тебе сказать честно или подыграть, чтобы не обиделся на то, что тебя одного называют идиотом ? Эта самокритика меня просто убивает и да, это слишком очевидное наблюдение.

"Увидел свет язык программирования Go 1.3"
Отправлено arisu , 21-Июн-14 19:16 
то есть, постоянно. ок.

"Увидел свет язык программирования Go 1.3"
Отправлено Seyko , 19-Июн-14 16:22 
Сегментированная модель стека для гороутин -- это было самым тёмным местом в понимании (для меня). В документации на ранний Go ничего внятного не нашёл. Теперь вот, при замене на общеиспользуемую модель стека наконкц-то объяснили, как это работало...

"Увидел свет язык программирования Go 1.3"
Отправлено Аноним , 19-Июн-14 22:10 
"Опыт - это такая странная фигня, которая появляется у вас сразу после того как он был очень нужен".

"Увидел свет язык программирования Go 1.3"
Отправлено SpiritOfStallman , 19-Июн-14 20:57 
Юзаем. Своё место имеет. Устраивает.