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

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

Отправлено opennews , 04-Сен-19 10:23 
Представлен релиз  языка программирования Go 1.13, который развивается компанией  Google при участии сообщества как гибридное решение, сочетающее высокую производительность компилируемых языков с такими достоинствами скриптовых языков, как лёгкость написания кода, быстрота разработки и защищённость от ошибок.  Код проекта распространяется под лицензией BSD...

Подробнее: https://www.opennet.me/opennews/art.shtml?num=51417


Содержание

Сообщения в этом обсуждении
"Релиз языка программирования Go 1.13"
Отправлено Другой Аноним , 04-Сен-19 10:23 
Что-то релизы зачастили

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 10:33 
Это специально чтобы новостей на опеннетике было больше. Серёжка он же сам читает опеннет на русском и пытается порадовать ресурс частыми новостями.

"Релиз языка программирования Go 1.13"
Отправлено Andrey Mitrofanov_N0 , 04-Сен-19 10:37 
> Что-то релизы зачастили

Ищут.


"Релиз языка программирования Go 1.13"
Отправлено neAnonim , 04-Сен-19 15:29 
Кто? Что? Зачем?
Информативность уровня Andrey Mitrofanov_N0.

"Релиз языка программирования Go 1.13"
Отправлено Andrey Mitrofanov_N0 , 04-Сен-19 15:33 
> Кто? Что? Зачем?
> Информативность уровня Andrey Mitrofanov_N0.

Они там наверху.
Когда найдут, чего ищут, обязательно напишут в релиз-нотесах.

Пока -- ищут, говорю же.

Понималка уровня опенета...  знаю-знаю.


"Релиз языка программирования Go 1.13"
Отправлено funny.falcon , 05-Сен-19 08:51 
Вот уже много дет релизы два раза в год. Причём, обычно летний релиз в августе. Так что в этом году они даже припозднились.

"Релиз языка программирования Go 1.13"
Отправлено anonymous , 06-Сен-19 18:28 
Да вроде по плану. У них же плановый цикл: https://github.com/golang/go/wiki/Go-Release-Cycle

"Релиз языка программирования Go 1.13"
Отправлено anonos , 04-Сен-19 10:35 
После питона и котлина синтаксис выглядит кривым, но хотя бы читабельным в отличии от раста

"Релиз языка программирования Go 1.13"
Отправлено proninyaroslav , 04-Сен-19 10:56 
Он не выглядит кривым,просто в нём мало синтаксического сахара, в отличии от того же котлина и питона. Для тех кто всю жизнь писал на си, го это манна небесная.

"Релиз языка программирования Go 1.13"
Отправлено manlee , 04-Сен-19 11:31 
Так же было с java пока туда говна в виде синтаксического "сахара" не напихали

"Релиз языка программирования Go 1.13"
Отправлено proninyaroslav , 04-Сен-19 11:57 
> Так же было с java пока туда говна в виде синтаксического "сахара"
> не напихали

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


"Релиз языка программирования Go 1.13"
Отправлено anonos , 04-Сен-19 12:05 
А чем сахар не угодил? Обязательно язык должен выглядеть как привет из 70х? Без этого нет чувства элитарности? Между Python, Swift, Kotlin можно прыгать почти почти не ощущая дискомфорта. А тут давайте простыни писать. Ну ради простыней можно Obj-C использовать, там при всем желании не получится компактно.

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 13:42 
Тем, что теряется представление о том, что происходит под капотом.

"Релиз языка программирования Go 1.13"
Отправлено Илья , 04-Сен-19 14:05 
Поддерживаю, необходимые абстракции всегда можно написать самим и держать внутри проекта.

"Релиз языка программирования Go 1.13"
Отправлено мое правило , 04-Сен-19 14:22 
В go нельзя.

"Релиз языка программирования Go 1.13"
Отправлено анон , 04-Сен-19 22:06 
можно

"Релиз языка программирования Go 1.13"
Отправлено Григорий Федорович Конин , 05-Сен-19 00:07 
нужно by design

"Релиз языка программирования Go 1.13"
Отправлено funny.falcon , 05-Сен-19 08:53 
Можно. Как работник проекта (коммерческого), бинарь которого приближается к 200MB, заявляю: можно.

"Релиз языка программирования Go 1.13"
Отправлено Anonymoustus , 05-Сен-19 12:52 
> бинарь которого приближается к 200MB

Попробуйте собирать с ключиками  -ldflags -s.


"Релиз языка программирования Go 1.13"
Отправлено Александр , 04-Сен-19 13:28 
Я бы не отказался от синтаксического сахара для BigInt
f = f + 2*d вместо  new(big.Int).Add(f, new(big.Int).Mul(big.NewInt(2), d))

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 15:29 
Всё правильно сделано. Так ты десять раз подумаешь, нужен ли тебе BigInt, прежде чем его использовать, и напишешь на порядок меньше оно-кода.

"Релиз языка программирования Go 1.13"
Отправлено заминированный тапок , 05-Сен-19 10:43 
так можно и до Си дойти, там-то на каждом шаге нужно думать, что делаешь

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


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 17:20 
Ну да, чтобы глядя на f = f + 2*d нельзя было сказать что происходит, складываются ли тут числа, матрицы, векторы или черти в ступе.

"Релиз языка программирования Go 1.13"
Отправлено Урри , 04-Сен-19 21:31 
Эк ты ловко обгадил c++.
А вообще, надо пойти математикам рассказать, как тупо они делают, что для сложения чисел, матриц и векторов используют один и тот же символ.

Люди, что у вас в голове? Вы пишете программный продукт, или занимаетесь автофелляцией?


"Релиз языка программирования Go 1.13"
Отправлено анон , 04-Сен-19 22:08 
одно другому не мешает!

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 22:47 
> Люди, что у вас в голове? Вы пишете программный продукт, или занимаетесь автофелляцией?

Это ты, видимо, пишешь программный продукт (или мечтаешь об этом). А люди ещё и поддерживают кодовую базу на протяжении многих лет.


"Релиз языка программирования Go 1.13"
Отправлено Урри , 05-Сен-19 01:59 
В понятие написания программного продукта входит понятие его поддержки. И именно поэтому намного лучше иметь перегрузку функций по параметру, чем по новой функции для каждого типа аргумента.

Например, openGL вынужден был вводить по двадцать функций glVertex с различными суффиксами (2f, 2d, 2fv, 3f, 3d, 3fv, ...), ибо С и нет перегрузки. И это реально задалбывает, каждый раз самому считать количество и типы аргументов. С++ обертка столько нервов экономит, что диву потом даешься.


"Релиз языка программирования Go 1.13"
Отправлено имя_ , 05-Сен-19 10:40 
программирование - это не (только) математика.

"Релиз языка программирования Go 1.13"
Отправлено заминированный тапок , 05-Сен-19 10:45 
ну да, лучше как в Nim - не***ческая гора операторов вида ^@%$!!~= для каждого типа :D
Или в Go нет перегрузки операторов?

или ты просто модный смузехлёб, а шутки про C/CPP как раз в моде?


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 05-Сен-19 13:35 
> Или в Go нет перегрузки операторов?

Нет.


"Релиз языка программирования Go 1.13"
Отправлено аноним3 , 05-Сен-19 23:46 
вот почему мне так нравится питон. там не надо так обгаживаться каждый раз)) и да я хотел было глянуть раст и го, но как глянул на примеры кода.... желание отпало .  решил вспомнить с и с++. но вы ребята кричите о достоинствах. для меня возможность использовать простую формулу а+в=с всегда лучше чем вырвиглазный код с кучей функций вложенных в скобки. звиняй в питоне тоже есть похожие вещи, но не до такой обдолбанной степени. после этого код си и питона кажется манной небесной.))

"Релиз языка программирования Go 1.13"
Отправлено anonymous , 06-Сен-19 18:19 
> для меня возможность использовать простую формулу а+в=с всегда лучше чем вырвиглазный код с кучей функций вложенных в скобки.

Go как-то более о том, чтобы писать логически правильный код, чем о том, чтобы строчки красиво выглядели. Тут кому что важнее.


"Релиз языка программирования Go 1.13"
Отправлено IRASoldier_registered , 11-Сен-19 15:35 
А найти в коде объявления f и d, конечно же, нельзя, да.

"Релиз языка программирования Go 1.13"
Отправлено ranen , 05-Сен-19 09:14 
Что с тобой не так? Там полно этого сахара!
https://rust-lang-nursery.github.io/rust-cookbook/science/ma...

"Релиз языка программирования Go 1.13"
Отправлено qwerty123 , 04-Сен-19 23:24 
>Для тех кто всю жизнь писал на си, го это манна небесная.

Всю жизнь, это два квартала?

Это не манна небесная, это ж ПП с медным тазом.
Укуренная смесь Кобола и Неведломой Фигни.


"Релиз языка программирования Go 1.13"
Отправлено Анонимусис , 04-Сен-19 23:57 
>Для тех кто всю жизнь писал на си, го это манна небесная.

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


"Релиз языка программирования Go 1.13"
Отправлено funny.falcon , 05-Сен-19 08:59 
Не только. Сишники тоже идут.

PHP, Ruby, Python, JavaScript (NodeJS) программисты идут за скоростью без большой потери простоты.

С-шники идут за простотой без большой потери скорости. (Я из таких)

C++ и Java программеры стараются не идти. Идут только если место новой работы нравятся.


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 05-Сен-19 13:38 
> в гопники идут почему-то исключительно похаписты и джаваскриптеры

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


"Релиз языка программирования Go 1.13"
Отправлено абв , 04-Сен-19 11:43 
Возможно однажды завезут Готлин: транслятор из сахара в го

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 05-Сен-19 06:59 
Готланд тогда уж)

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 05-Сен-19 09:09 
Не знаю чего пыхтеть давно есть flex/bison хотите всякой херни грамматику сделать можно за пять минут при нужном уровне владения инструментом. Вот только надо ли ?

"Релиз языка программирования Go 1.13"
Отправлено SegFAULT , 04-Сен-19 12:13 
есть сомнения, что в rust нормальный синтаксис;
вроде использовать никто не заставляет все возможности rust?
есть сомнения, что самых базовых возможностей rust вполне достаточно, чтобы написать большинство программ

"Релиз языка программирования Go 1.13"
Отправлено имя_ , 04-Сен-19 13:03 
А еще можно не страдать и взять нормальный язык, где не только базовые конструкции не будут вызывать кровь из глаз

"Релиз языка программирования Go 1.13"
Отправлено LateDebug , 04-Сен-19 14:07 
а какой язык нормальный?

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 14:17 
Го это раст здорового человека.

"Релиз языка программирования Go 1.13"
Отправлено IntMax , 04-Сен-19 14:41 
вы серьёзно? а может наоборот?

"Релиз языка программирования Go 1.13"
Отправлено Wilem , 04-Сен-19 17:34 
Круто, а как в го работать без сборщика мусора и при этом руками память не выделять? Я что-то пропустил.

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 18:28 
При помощи встроенного пакета unsafe.

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 19:05 
> как в го работать без сборщика мусора и при этом руками память не выделять?

Пиши так, чтобы использовались только стековые переменные. Про стандартную библиотеку забудь.


"Релиз языка программирования Go 1.13"
Отправлено anonymous , 06-Сен-19 18:22 
Иногда помогает sync.Pool, иногда unsafe, иногда всякие "//go:", но важнее всего: переосмысление кода.

"Релиз языка программирования Go 1.13"
Отправлено НяшМяш , 04-Сен-19 17:44 
Жаль, что на го нельзя системные библиотеки писать (читай - выпилить GC из рантайма)

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 18:30 
Можно его вызывать руками пакет runtime вам в руки.

"Релиз языка программирования Go 1.13"
Отправлено НяшМяш , 05-Сен-19 15:35 
Но выпилить рантайм из бинарника вообще и вручную управлять памятью конкретного объекта всё равно нельзя.

"Релиз языка программирования Go 1.13"
Отправлено funny.falcon , 05-Сен-19 09:01 
Не всем нужно писать «системные библиотеки». Большинству нужно херачить стартапы, чтоб и писать быстро, и работало быстро. Go в среднем удовлетворяет обои потребности.

"Релиз языка программирования Go 1.13"
Отправлено НяшМяш , 05-Сен-19 15:34 
Тогда в чём смысл сравнения Go vs Rust, если Rust как раз про системное программирование? Мы ж не сравниваем трактор и жигули по критериям удобства сидений в салоне?

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 06-Сен-19 12:19 
И что такого системного написано на раст? Только куча хеллоу ворлдов написали и все. Тот же редокс не более чем погремушка.

"Релиз языка программирования Go 1.13"
Отправлено anonymous , 06-Сен-19 18:31 
Системные приложения писать можно (например, в контейнеризации весьма трендово использовать Golang). И писать библиотеки для таких (написанно на Golang) системных приложений можно. Можно ли сказать, что тогда можно писать системные библиотеки?

"Релиз языка программирования Go 1.13"
Отправлено аноним3 , 04-Сен-19 16:34 
если точнее после питона все компилируемые языки выглядят... переусложненными что ли? я все смотрю и нигде не могу найти хотя бы проекта с синтаксисом как питон , но компилируемым. видимо писать компилятор для такого синтаксиса мало кому по зубам. а жаль. хотя вот честно когда изучал чистый Си он мне не показался таким сложным. а вот синтаксис раста... я увидел то , что должно сводить этих программистов с ума))) там реально жутко.

"Релиз языка программирования Go 1.13"
Отправлено Аноним84701 , 04-Сен-19 17:27 
> все смотрю и нигде не могу найти хотя бы проекта с  синтаксисом как питон ,
> но компилируемым.  

Есть cython, Nuitka
или
Nim(rod), если не пугает примесь паскальщины, но там автор слишком уж много напихал всего, если на мой вкус.
И вне винды могут быть проблемки в скорости IO – тыкал я его пару лет назад, хотел найти замену небольшим питоноскриптам.

Ну или конкретизируйте "синтаксис" - там [в python] на самом деле не так уж и много хорошего. Другими словами – "кривоват", что вылезает в самых неожиданных местах:


>>> type( {} ),type( { () } )

(<type 'dict'>, <type 'set'>)
>>> 1, + 2,

(1, 2)
>>> (1,) + (2,)

(1, 2)
>>> (1,) + 2,

Traceback (most recent call last):
  File "<input>", line 1, in <module>
    (1,) + 2

>>> __ = [1,2]; _= range(5);[_ for _ in _ if _ not in __]

[0, 3, 4]
>>> __

[1, 2]


Таких "прикольчиков" достаточно.

> видимо писать компилятор для такого синтаксиса мало кому по зубам.

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


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 18:21 
Что думаете про синтаксис Haskell и OCaml?

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 22:49 
Не пугай пацана, он словей-то таких не слыхивал.

"Релиз языка программирования Go 1.13"
Отправлено funny.falcon , 05-Сен-19 09:03 
Был такой язык Boo под .Net . Почему-то не особо взлетел

"Релиз языка программирования Go 1.13"
Отправлено Wilem , 05-Сен-19 15:13 
Приведи пример нечитаемого раста?

"Релиз языка программирования Go 1.13"
Отправлено аноним3 , 05-Сен-19 23:54 
я не сказал что он нечитаемый. но в нем такие чудеса пишут.... увы пока читаешь до середины уже вылетает из головы , что было вначале. до того код "забойный" порой. нет может кому то нравится, но мне как то не по вкусу. вы можете жевать конечно . это ваш выбор.

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 11:25 
Годно, обновляем.

"Релиз языка программирования Go 1.13"
Отправлено user90 , 04-Сен-19 11:33 
По крайней мере на Go существует некоторое кол-во вменяемых утилит, в отличии от хруста, на котором вообще ничего адекватного не видел (даже некий браузер и то вызывает вопросы).

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 13:22 
https://github.com/jwilm/alacritty

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 13:23 
есть
https://www.reddit.com/r/rust/comments/cysvjh/what_are_some_.../

"Релиз языка программирования Go 1.13"
Отправлено anonismus , 04-Сен-19 13:41 
90% из которых это переписанный coreutils?

Приведи пример проекта хотя бы уровня kubernetes, docker, etcd или prometheus, тогда посмотрим.


"Релиз языка программирования Go 1.13"
Отправлено Andrey Mitrofanov_N0 , 04-Сен-19 13:59 
> 90% из которых это переписанный coreutils?

Напишут компилятор Си -- будут "как GNU".  ""RWU"" !   "скоро в кинотеатрах и опенетах"


"Релиз языка программирования Go 1.13"
Отправлено имя_ , 04-Сен-19 17:17 
Написать и забыть каждый дурак сможет, а вот поддерживать десятки лет - не каждый.

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 05-Сен-19 13:47 
> скоро в кинотеатрах

Давно уже было: https://www.youtube.com/watch?v=qP3wvX55_gQ


"Релиз языка программирования Go 1.13"
Отправлено Andrey Mitrofanov_N0 , 09-Сен-19 09:29 
>>будут "как GNU".  ""RWU"" !
>> скоро в кинотеатрах
> Давно уже было:

Да, отсылка была именно туда.   Но теперь же "пора переписывтьс на ржу"....  или как-то так...  Римейк затмит.



"Релиз языка программирования Go 1.13"
Отправлено ANON , 10-Сен-19 12:28 
https://github.com/firecracker-microvm/firecracker
https://github.com/intel/cloud-hypervisor
https://github.com/Azure/iotedge/tree/master/edgelet

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 11:38 
> Язык достаточно лаконичен, но при этом код легко читается и воспринимается.

Почему здесь "но"?


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 11:57 
Потому что лаконичный код сложно читается и воспринимается.

"Релиз языка программирования Go 1.13"
Отправлено НО , 04-Сен-19 12:29 
потому что perl тоже достаточно лаконичен, но кто бы чё понял и воспринял, кроме бородачей

"Релиз языка программирования Go 1.13"
Отправлено user90 , 04-Сен-19 12:38 
Для этого нужно знать язык, и в данном случае не какой-то вообще (типа петона), а именно Perl.

"Релиз языка программирования Go 1.13"
Отправлено пох. , 04-Сен-19 13:20 
для чтения чужого перлокода- совершенно не нужно.
достаточно знания как устроены и с чем едят regex'ы, но оно не перлоспецифичное.

собственно, для того его таким и делали.


"Релиз языка программирования Go 1.13"
Отправлено anonymoussssss , 04-Сен-19 14:35 
Давайте ещё вспомним однострочники на perl.

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 15:43 
Перлы на перле.

"Релиз языка программирования Go 1.13"
Отправлено аноним3 , 05-Сен-19 23:56 
перлом перлу перламутят))))

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 16:39 
Что проще понять?

i v или integer velocity?


"Релиз языка программирования Go 1.13"
Отправлено абв , 04-Сен-19 11:41 
>Добавлена поддержка новых префиксов цифровых литералов для определения двоичных чисел (например, 0b101), восьмеричных (0o377), мнимых (2.71828i) и шестнадцатеричных с плавающей запятой (0x1p-1021), а также обеспечена возможность использования символа "_" для наглядного разделения цифр в больших числах (1_000_000);

Еее! Даёшь перл!


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 11:58 
Забрать все из перл, а сам перл закрыть.

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 12:41 
>мнимых (2.71828i)

кто-то реально работает с комплексными числами на сабже?


"Релиз языка программирования Go 1.13"
Отправлено Урри , 04-Сен-19 21:34 
Почему перл? Это все было в лиспе еще году, эдак, 86м.

И снова десятое правило Гринспена работает!


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 05-Сен-19 19:54 
$ clisp

[1]> (print 1000000)

1000000
1000000
[2]> (print 1_000_000)

*** - SYSTEM::READ-EVAL-PRINT: variable |1_000_000| has no value

Что-то не работает.


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 12:35 
> Снято ограничение на использование только беззнаковых счётчиков в операциях сдвига, что позволяет избежать лишних преобразований в тип uint перед использованием операторов "‹‹" и "››";

Почему бы им и с операциями сравнения так не сделать? Ну или по крайней мере не впилить автоприведение всех стандартных, возвращающих размеры, функций (len, cap, что там ещё?) к uint?


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 19:11 
Потому что в 99% случаев такое сравнение ошибочно.

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 13:13 
Почему поделки аля раст и го в каждой новости обзывают «основанным на языке Си» если этот вырвиглаз похож лиш фигурными скобками?

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 17:37 
Они компилируемые, а не интерпретируемые и не используют никаких виртуальных машин. Этого достаточно.

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 22:30 
В Go сборщик мусора.

"Релиз языка программирования Go 1.13"
Отправлено qwerty123 , 04-Сен-19 23:28 
>В Go сборщик мусора.

Точно мусора? Что-то гошники не самовыпиливаются.


"Релиз языка программирования Go 1.13"
Отправлено qwerty123 , 05-Сен-19 06:55 
>>В Go сборщик мусора.
>Точно мусора? Что-то гошники не самовыпиливаются.

Ой, да ладно то обижаться.

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

Основная идея "нам сложно и дорого разрабатывать-сопровождать с++ код, эти умные хипстеры нас задолбали, опять хотят прибавку и бонусы"

Нашли группу идеалистических старперов, те за 5 лет избрели C без указателей.
И синтаксисом от форта. И якобы без malloc.

И все, кто не хипстеры с большой зарплатой, сказали
"Слався корпорация Бобра! Ты возмешь всех нас на работу? Правда? Правда-правда?"

Правда указатели разработчики быстро вернули, но вколотили в компилятор массу
"чувак, ты тупой, тут должно быть КАПСЛОКОМ, без КАПСЛОКА не соберем"


"Релиз языка программирования Go 1.13"
Отправлено funny.falcon , 05-Сен-19 10:14 
s/стартаперов/старпёров/

s/старпёров/известных своим значительным вкладом в развитие всего компьютерного личностей/


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 22:25 
Заманивают сишников.

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 05-Сен-19 09:13 
Не выдет пока не дадут управлять потоками и процессами самостоятельно. Люди привыкшие к власти над ресурсами так просто ее не отдадут =)

"Релиз языка программирования Go 1.13"
Отправлено Ordu , 05-Сен-19 22:33 
Ну может быть правильнее сказать, что основанные на синтаксисе Algol'а? Там правда вместо фигурных скобок begin/end, но это мелочь а не отличие. Они настолько похожи, что можно программно конвертировать C->Pascal и Pascal->C. Что студентота постоянно и проделывала, у студентов постоянно чесались руки написать транслятор.

Сравни Algol с Haskell, OCaml, Python, Lisp, и ты поймёшь, что значит _другой_ синтаксис.


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 06-Сен-19 18:47 
> Они настолько похожи, что можно программно конвертировать C->Pascal и Pascal->C. Что студентота постоянно и проделывала, у студентов постоянно чесались руки написать транслятор.

Ничего, что у паскаля LL грамматика, а у С - LR?


"Релиз языка программирования Go 1.13"
Отправлено Ordu , 06-Сен-19 18:59 
>> Они настолько похожи, что можно программно конвертировать C->Pascal и Pascal->C. Что студентота постоянно и проделывала, у студентов постоянно чесались руки написать транслятор.
> Ничего, что у паскаля LL грамматика, а у С - LR?

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


"Релиз языка программирования Go 1.13"
Отправлено ddjfvcs , 04-Сен-19 13:33 
>позволяет добиться производительности, сопоставимой с программами на языке Си

Не позволяет. С Си может тягаться C++ или Rust, но никак не Go.
https://benchmarksgame-team.pages.debian.net/benchmarksgame/...


"Релиз языка программирования Go 1.13"
Отправлено anonismus , 04-Сен-19 13:49 
> Не позволяет.

Позволяет.
Оверхед у оптимизированного софта на Go ~10-15% по сравнению с Си (в зависимости от профиля нагрузки).

Если так любите синтетику, вот, кушайте:
https://www.techempower.com/benchmarks/#section=data-r18&hw=...

А еще есть научная работа по написанию сетевого драйвера на Go:
https://www.net.in.tum.de/fileadmin/bibtex/publications/thes...
Раздел "Benchmarks" вполне подтверждает тезис "добиться производительности, сопоставимой с программами на язике Си".

Ссылки на benchmarksgame это моветон.


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 15:26 
> Оверхед у оптимизированного софта на Go ~10-15% по сравнению с Си (в
> зависимости от профиля нагрузки).

Разница в скорости скомпилированного с различными ключами С может запросто быть более 20% (при том что -Os внезапно обгонит -O2). Так что подумаете, что откуда в тех измерениях такая "точность".


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 15:42 
Кто синтетику делает тот её и подгоняет. В одной ссылке подогнано под го, а в другой нет.

"Релиз языка программирования Go 1.13"
Отправлено anonismus , 04-Сен-19 21:13 
Это мои личные наблюдения на прикладной задаче (UDP сервер).
Не претендую на точность, разница может быть и в два раза.

Вот в benchmarkgames в одном примере разница с растом в несколько раз, а там unsafe через unsafe интрисинками погоняет, когда гошная версия не использует ни того, ни другого.

В приведенной мной статье тоже больше 15% оверхеда, но вполне сопоставимо.


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 05-Сен-19 15:40 
> Это мои личные наблюдения на прикладной задаче (UDP сервер).

То есть основная работа происходит в ядре ОС. Может так оказаться, что интерпретируемый Erlang покажет те же 15% оверхеда.


"Релиз языка программирования Go 1.13"
Отправлено ddjfvcs , 04-Сен-19 16:28 
Оперативку ест.

"Релиз языка программирования Go 1.13"
Отправлено proninyaroslav , 04-Сен-19 21:10 
Как язык со сборкой мусора можно сравнивать с языком без сборки мусора в плане производительности?

"Релиз языка программирования Go 1.13"
Отправлено anonismus , 04-Сен-19 21:14 
Напрямую берут и сравнивают, в чем проблема то? И получают вполне сопоставимые результаты.

"Релиз языка программирования Go 1.13"
Отправлено proninyaroslav , 04-Сен-19 21:24 
> Напрямую берут и сравнивают, в чем проблема то? И получают вполне сопоставимые
> результаты.

А то что есть накладные расходы это никак никого не волнует? Или же "спецы бенчмарков" пишут такой код, который не использует динамическую память (и соотвественно сборку мусора), гоняя переменные по стеку?


"Релиз языка программирования Go 1.13"
Отправлено Урри , 04-Сен-19 21:48 
При правильной организации сборщика мусора (и стратегии выделения памяти) - накладные расходы стремятся к одному проценту.

Например, для целого класса диалектов лиспа (я просто в курсе кода) выделение нового объекта делается так: { new_object = ptr; ptr+=size; }, что в ассемблере выливается в одну единственную команду; точно так же, как и выделение объектов _на_стеке_ в языках без СМ.

Далее, при непосредственно сборке мусора дерево объектов разворачивается (линеаризируется), при этом установкой одного бита отмечаются используемые объекты; далее сворачивается назад (с автоматической очисткой бита) и элементарнейшим образом компактифицируется. И пусть это звучит страшно, на деле занимает 10 строк С кода. Ну 15, ладно.

Зато "магическим" образом неиспользуемые объекты никак вообще не затрагиваются, и просто исчезают.

А теперь сравниваем это с выделением объектов на куче в С, например. И, главное, с освождением оных (и процессом объединения "пустих" зон, с кучей трюков как бы этот алгоритм ускорить и т.д. и т.п.)

Отсюда выводы: пусть даже такие языки и проигрывают в скорости непосредственно исполняемого алгоритма, но во многих классах задач выигрывают очень хорошо.
Например, парсинг и обработка текста. Чисто на реаллокациях строк с++ влегкую проигрывает у того же коммон лиспа. Плата - объемы используемой памяти.


"Релиз языка программирования Go 1.13"
Отправлено Урри , 05-Сен-19 02:01 
Ах да, забыл дописать - реализация маллок содержит более 5000 (пяти тысяч) строк кода. С комментариями, конечно же, но!
Это никак не сравнить с 20 строками кода сборщика мусора.

"Релиз языка программирования Go 1.13"
Отправлено Anonnn , 06-Сен-19 08:20 
Что за дичь. Покажи мне в пхп, го, джаве или лбом другом сборщик мусора на 20 строк.

"Релиз языка программирования Go 1.13"
Отправлено Урри , 08-Сен-19 10:12 
Образовывайся, неуч.
https://gitlab.com/owl-lisp/owl/blob/develop/c/ovm.c#L285

Развелось макак, понимаешь.


"Релиз языка программирования Go 1.13"
Отправлено qwerty123 , 05-Сен-19 06:39 
>При правильной организации сборщика мусора (и стратегии выделения памяти)

Угу.

И в конечном итоге будет использоваться аналог malloc()/free() и деревья/таблицы/списки выделения памяти "для правильной организации сборщика мусора" =)

Второе десятилетие вижу идеалистов из школы. Некоторые знатно велосипедят.


"Релиз языка программирования Go 1.13"
Отправлено anonymous , 06-Сен-19 18:33 
Вещи, которые сильно бьют по GC, можно выгрузить в sync.Pool или переосмыслить (переделать так, чтобы не били по GC), а другие вещи -- и хрен с ним. В результате околоручное управление памятью производится в 5% кода, а GC жрёт лишь 1% CPU.

"Релиз языка программирования Go 1.13"
Отправлено proninyaroslav , 05-Сен-19 13:10 
Ну хорошо, в лиспе, а как это к Го относится и к другим языкам? Никто же из них не реализовал подобную модель сборки мусора.

"Релиз языка программирования Go 1.13"
Отправлено Урри , 08-Сен-19 10:15 
Ну я, как бы, не утверждал что они реализовали.
Я просто указал, что в некоторых задачах сборщик мусора может быть существенно эффективнее.

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 05-Сен-19 19:48 
> И пусть это звучит страшно, на деле занимает 10 строк С кода. Ну 15, ладно.

А дотнетчики не догадались, что можно за 15 строк сделать...
https://raw.githubusercontent.com/dotnet/coreclr/master/src/...


"Релиз языка программирования Go 1.13"
Отправлено Урри , 08-Сен-19 10:15 
Это вопросы к МС. Они, помнится, и ОС умудрились на 15 гигов раздуть.

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 16:35 
Оно бы все неплохо, но вот за такие ошибки "var1 declared and not used" с дальнейшей остановкой компиляции хочется руки на разработчиков наложить. :D Это мешает отладке настолько, что порой проще на Python прототип написать, а потом уже готовое переложить на Go. Поэтому про "легкость написания" разработчики малость загнули.

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 17:36 
Не правильно ты дядя Федор программы отлаживаешь. А так это спасает от говнокода. Да и чтение документации и конкретно про символ "_" сильно помогает.

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 18:51 
Я знаю про символ нижнего подчеркивания. И актуален он только тогда, когда объявляется две или больше переменных. А одну можно просто закомментировать, символ нижнего подчеркивания в этом случае не нужен.
Проблема возникает тогда, когда в уже написанной функции выявляется ошибка. И порой проще отыскать ее закомментировав какой-то кусок кода. И вот тут начинаются сюрпризы с переменными объявленными выше. Надо лазить по коду, комментировать их или нижнеподчеркивать. Не исключено, что по нескольку раз.

Чтобы убрать неиспользуемые переменные, хватило бы обыкновенных предупреждений. И таким образом от говнокода это спасает только в том случае, если программист предупреждения игнорирует. То есть очевидно, что в гугле как раз такие программисты, коль скоро потребовались такие меры.

Кстати, в том-же Python, в Emacs, эти самые неиспользуемые переменные легко высвечивает flycheck. И они совершенно элементарно удаляются, когда на самом деле не нужны.


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 19:14 
> в уже написанной функции выявляется ошибка. И порой проще отыскать ее закомментировав какой-то кусок кода.

Научись пользоваться отладчиком.


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 19:31 
>Научись пользоваться отладчиком.

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


"Релиз языка программирования Go 1.13"
Отправлено Sokoloff , 04-Сен-19 20:15 
> проще отыскать ее закомментировав какой-то кусок кода

Ты не совсем понял предыдущего анонима. Была функция:

func some() {
    a := 0

    fmt.Print(a)
}

Если закомментировать печать, то получим ошибку неиспользуемой переменной. Но есть финт ушами:
func some() {
    a := 0

    _ = a
    //fmt.Print(a)
}

Но в целом, я с твоими претензиями согласен - можно было бы и помягче. Варнинги, не гошный путь, слишком демократично. Но можно было выводить варнинги в "go run", и ошибку при "go build".


"Релиз языка программирования Go 1.13"
Отправлено Ogmy , 04-Сен-19 17:37 
Очень интересно читать людей которые не осилили даже "An introduction to programming in Go".
Вы хоть понимаете какой вы бред несете с точки зрения Golang разработчика ?

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 18:54 
>Очень интересно читать людей которые не осилили даже "An introduction to programming in Go".

Очень неинтересно читать людей, которые осилили только "An introduction to programming in Go".


"Релиз языка программирования Go 1.13"
Отправлено Урри , 04-Сен-19 21:51 
Особенно если ты уже 30 лет говнокодишь и не писал разве что на брейнфаке. Хотя стоп, и на брейнфаке ты тоже писал..

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 22:55 
И что, прям очень мешает, что на го нельзя, как на брейнфаке? Беда…
Хотя погоди! Вакансию брейнфак-кодера поискать не пробовал?

"Релиз языка программирования Go 1.13"
Отправлено Урри , 05-Сен-19 02:03 
Не как на брейнфаке, а так же легко как на С, например. Ну или каком-нибудь питоне, на крайняк.

"Релиз языка программирования Go 1.13"
Отправлено Илья , 04-Сен-19 19:23 
> Оно бы все неплохо, но вот за такие ошибки "var1 declared and not used"

И что, таки, не настраивается?


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 19:24 
>И что, таки, не настраивается?

Если знаете как, то подскажите? Я такой возможности не нашел.


"Релиз языка программирования Go 1.13"
Отправлено Илья , 04-Сен-19 19:28 
Полистал стаковерфлоу. Я вас обрадовать ничем не могу.

"Релиз языка программирования Go 1.13"
Отправлено Sokoloff , 04-Сен-19 20:23 
> И что, таки, не настраивается?

Нет, это go-way. Есть только один путь, или привыкай, или отваливай.


"Релиз языка программирования Go 1.13"
Отправлено Илья , 05-Сен-19 19:19 
Звучит очень отталкивающе. Надеюсь, вы это не от себя

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 20:22 
Хорошо бы опцию компилятору добавить, чтоб не ругался.

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 21:06 
А что, исходников нет?

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 05-Сен-19 15:58 
> А что, исходников нет?

Так исходники, небось, на Го? :)


"Релиз языка программирования Go 1.13"
Отправлено Float128 , 04-Сен-19 21:45 
go нужен...был в 1980х, но сейчас уже есть современный C++, в C++ уже давно есть умные указатели, и эти умные указатели решают проблемы с памятью и с многопоточностью

"Релиз языка программирования Go 1.13"
Отправлено Урри , 04-Сен-19 21:53 
Но есть одна проблема. Макаке с++ дать нельзя - она просто не сможет на нем писать. А содержать большой штат умных программистов гуглу дороговато. Вот они и решили лучше потратить часть денежек на простое подмножество с++ (завернув его в простую понятную обертку) и загнав "программиста" в жесточайшие рамки с расстрелом за любой шаг влево или вправо.
Зато теперь можно нанимать тысячу макак по цене одного программиста.

"Релиз языка программирования Go 1.13"
Отправлено Zircon , 04-Сен-19 22:22 
и это при том, что сам же гугл разрабатывает fuchsia os на c++, вроде на c++17

"Релиз языка программирования Go 1.13"
Отправлено Wilem , 05-Сен-19 15:28 
Ага, при этом разработчик фуксии просит автора растовских крейтов уменьшить размер бинарей, а то в фуксию не влезают.

"Релиз языка программирования Go 1.13"
Отправлено Anonnn , 06-Сен-19 03:06 
Откуда столько злобы? Уволили за профнепригодность из го?

"Релиз языка программирования Go 1.13"
Отправлено Урри , 12-Сен-19 11:14 
У макаки всегда - если критика, то либо завидуют, либо просто злятся.

Обычная констатация факта, гражданин. Не более и не менее.


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 04-Сен-19 22:41 
C++ просто чудовищно раздут, даже Страуструп уже перестал писать свою книгу потому что просто невозможно уже всё описать в одном томе. А комитет не собирается останавливаться, скоро C++20.

"Релиз языка программирования Go 1.13"
Отправлено Anonymoustus , 04-Сен-19 22:50 
> C++ просто чудовищно раздут, даже Страуструп уже перестал писать свою книгу потому
> что просто невозможно уже всё описать в одном томе. А комитет
> не собирается останавливаться, скоро C++20.

Поэтому лучше начинать использовать Игого. Сомнительно, что ГУЛАГель допустит разбухания языка в ближайшие годы, пока есть кому заниматься.


"Релиз языка программирования Go 1.13"
Отправлено qwerty123 , 05-Сен-19 06:25 
>C++ просто чудовищно раздут
>всё описать в одном томе

Да ну нафик. Много пафоса.

https://en.cppreference.com/w/
http://www.cplusplus.com/

Там описания базовых классов и шаблонов.
vector, map, set, queue, list, array, iostream, tuple, regex, chrono, shared_ptr.

Все это же самое велосипедят в golang, только через опу и расово верно.

Смотрим go проекты. В более-менее сложном проекте один хрен
10500 модулей, насосаных из гитхаба, и все одно черт ногу сломит где и что.

Смотришь на это великолепие, манной кашей по стенам тонким слоем,
и думаешь: "лучше бы они это на С со структурами написали"

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


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 07-Сен-19 10:12 
> Там описания базовых классов и шаблонов.

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


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 05-Сен-19 03:43 
А что лучше, Go или Rust? Думаю, чтобы новое по-изучать.

"Релиз языка программирования Go 1.13"
Отправлено index0h , 05-Сен-19 03:52 
> А что лучше, Go или Rust?

Что лучше, помидор, или карандаш? Сравнивать имеет смысл только в контексте решаемых задач.


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 05-Сен-19 09:19 
> Что лучше, помидор, или карандаш?

Помидор.


"Релиз языка программирования Go 1.13"
Отправлено Аноним , 05-Сен-19 19:31 
Ух ты, неуместные сравнения в треде! Я в деле. Как вам такое: "Раст это как соплянка, а ГО - как пижамка"?

"Релиз языка программирования Go 1.13"
Отправлено leap42 , 05-Сен-19 05:38 
Ну если вы сейчас на C++ пишите, то Rust. А если нет - Go. Так и польза будет и работа.

"Релиз языка программирования Go 1.13"
Отправлено Wilem , 05-Сен-19 15:58 
Раст конечно. На нём можно сделать что угодно, от эмбеддед до десктопного гуя. Го - уже круг задач, из-за сборщика мусора. Ну плюс го очень ограниченный, для мазохистов.

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 06-Сен-19 12:21 
Делать может и можно, но на расте не сделано ничего. Нет ни одного готового к применению продукта написанного на расте. Даже редокс не юзабелен. Можно написать еще один хеллоу ворлд и успокоится.

"Релиз языка программирования Go 1.13"
Отправлено Аноним , 08-Сен-19 23:04 
По минимальным версиям операционок очень проблемно.

Это тогда не язык для серьёзного софта. Кроме бизнес сирвисочков на годик и выкинуть через полтора.


"Релиз языка программирования Go 1.13"
Отправлено Anonymoustus , 09-Сен-19 02:15 
> По минимальным версиям операционок очень проблемно.
> Это тогда не язык для серьёзного софта. Кроме бизнес сирвисочков на годик
> и выкинуть через полтора.

Верно. Из-за такого подхода Игого не представляет интереса в долгосрочной перспективе.