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

Исходное сообщение
"Выпуск языка программирования Go 1.22"

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

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


Содержание

Сообщения в этом обсуждении
"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:25 
Посмотрел на синтаксис Go, и что-то я не заметил каких-то схожестей с Си

Что именно там "Синтаксис Go основан на привычных элементах языка Си"?


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:27 
Синтаксис Go - это кошмарная солянка синтаксисов кучи языков.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:39 
А у раста?

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:52 
Rust самобытный и не Си-подобный от слова ни разу и не заявлялся таким. На него с Си-подобных языков не перепрыгнешь так просто. Зато он реально нормально работает.
У Go же в свю очередь вакханалия такая, что прикладные структуры данных реализованы на уровне языка и между списками и массивами синтаксис неадекватно плавает. Это дикость. Как это вообще имеет право на существование!?
От случая к случаю у него синтаксис то от С/Java, то от Delphi/Pascal, то от JS, то от Python, как будто его придумали обдолбаные наркоманы. Я понимаю когда язык существует не одно десятилетие и обрастает "обоснованным" синтаксическим сахаром. А тут как будто из других языков нахватали на старте, и существует это лишь благодаря хорошему компилятору и библиотекам с других языков.

"Выпуск языка программирования Go 1.22"
Отправлено Alexey , 07-Фев-24 12:17 
По моему опыту на rust после С очень легко писать.

"Выпуск языка программирования Go 1.22"
Отправлено Проходил мимо , 07-Фев-24 12:28 
Угу, то первого серьезного втыкалова с владением и разного рода временами жизни так оно и есть. А потом приходит понимание, что слово Rust и слова "Легко писать" не совсем соответствуют действительности.

"Выпуск языка программирования Go 1.22"
Отправлено ZVVZ , 08-Фев-24 12:21 
Опять, еще один не удосужился при написании кода запомнить что же за код он пишет. Ну иди на JS пиши, если человек  не осилил на пару правил на расте  выучить то и на  С++ такому индивиду тем более делать нечего, а человеку лучше на пенсию пойти отдыхать, его же работу чатгпт отдать, все надежней будет. И человек счастлив и не обременен и компания не получит кучу багов.

"Выпуск языка программирования Go 1.22"
Отправлено Проходил мимо , 09-Фев-24 07:39 
> Опять, еще один не удосужился при написании кода запомнить что же за
> код он пишет. Ну иди на JS пиши, если человек  
> не осилил на пару правил на расте  выучить то и
> на  С++ такому индивиду тем более делать нечего, а человеку лучше
> на пенсию пойти отдыхать, его же работу чатгпт отдать, все надежней
> будет. И человек счастлив и не обременен и компания не получит
> кучу багов.

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


"Выпуск языка программирования Go 1.22"
Отправлено dullish , 07-Фев-24 12:30 
По моему опыту, после С на чём угодно легко писать. Но зачем?

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 13:31 
Экономия времени и денег?

"Выпуск языка программирования Go 1.22"
Отправлено пух , 07-Фев-24 14:38 
Это чьих?

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 11:48 
Наших!

"Выпуск языка программирования Go 1.22"
Отправлено 12yoexpert , 08-Фев-24 06:50 
Про деньги можно было бы заикаться, если бы на нём были вакансии, а так он даже в топ-30 емнип не входит

"Выпуск языка программирования Go 1.22"
Отправлено alle , 07-Фев-24 14:01 
>Зато он реально нормально работает.

Да, но его ниша примерно нигде. где-то заменит си и то хорошо


"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 07-Фев-24 16:07 
> ... библиотекам с других языков.

Гон. Там все свое, от компилятора и кончая библиотеками


"Выпуск языка программирования Go 1.22"
Отправлено Пряник , 07-Фев-24 12:14 
А у раста сразу несколько синтаксисов: 2015, 2018, 2021.

"Выпуск языка программирования Go 1.22"
Отправлено Проходил мимо , 07-Фев-24 12:30 
В чем принципиальная разница между синтаксисом 2018 и 2021?

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 13:30 
В том что 2 сорта и кто-то в этом даже разбирается.

"Выпуск языка программирования Go 1.22"
Отправлено НяшМяш , 07-Фев-24 14:34 
Вот тут есть список изменений https://doc.rust-lang.org/edition-guide/introduction.html

"Выпуск языка программирования Go 1.22"
Отправлено Пряник , 07-Фев-24 15:27 
Не знаю, я начал с 2021. На сайте написано всё https://doc.rust-lang.org/stable/edition-guide/

"Выпуск языка программирования Go 1.22"
Отправлено Хухрымухры , 07-Фев-24 10:53 
Рекомендую глянуть доклад: Почему Golang такой странный / Филипп Кулин

"Выпуск языка программирования Go 1.22"
Отправлено anonymous , 07-Фев-24 12:23 
Веселый доклад.

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

"Вам не завидно, Балаганов? Мне завидно"


"Выпуск языка программирования Go 1.22"
Отправлено Хухрымухры , 09-Фев-24 07:13 
> всю жизнь занимались херней

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

В то время только только перестали использовать перфокарты.


"Выпуск языка программирования Go 1.22"
Отправлено anonymous , 09-Фев-24 12:30 
Вы доклад-то смотрели ? Посмотрите, он интересный.

Примеры на языке alef весьма понравились, вот так и надо было, но потом кого-то похоже покусал паскалист, а гуглу еще и понадобилось облегчить переучивание питономаKак, в результате получилось  какое-то франкенштейново чудовище.


"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 07-Фев-24 16:14 
> Синтаксис Go - это кошмарная солянка синтаксисов кучи языков.

Сдается мне, что вы не понимаете разницы между синтаксисом и семантикой.
Большинство языков, - с синтаксисом С


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 05:51 
Я не упоминал семантику, если ещё ещё затронуть это вообще ******.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:41 
на структуры там много чего завязано, надо ее обьявить, а дальше использовать, со стандартными типами переменных работать тяжело, конвертить строки в массив байтов и обратно укантрапупишься, да и вообще половина кода это приведение типов

"Выпуск языка программирования Go 1.22"
Отправлено name , 07-Фев-24 11:17 
А вторая половина - проверки err на nil.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 20:47 
> конвертить строки в массив байтов

Дали сишнику строки, а он их в массив сконвертировал, за пределы вышел и нулевой указатель разыменовал.


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:47 
- фигурные скобки для блоков
- * и & для работы с указателями
- Структуры и само слово struct
- Условие цикла for из трёх частей

Конечно, такое есть и в других языках, и это как раз и есть c-likе элементы, подсмотренные у Си.

В общем же это извиняющийся кивок про схожесть с Си уже давно пора выбросить; сейчас не 2009 год, чтобы описывая новый на тот момент язык Го, смягчать подачу робким "а вот на Си похоже-с, да…". Язык и экосистема уже взрослые и могут кое-где уже и дверь ногой открывать не стесняясь.


"Выпуск языка программирования Go 1.22"
Отправлено Ананий , 07-Фев-24 11:18 
:=
необязательная ;

заменили скобками begin end, writeln на println, шоб уж совсем на паскаль не походить

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


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 11:23 
>Посмотрел на синтаксис Go, и что-то я не заметил каких-то схожестей с Си

Ну как же? Всё, где блоки кода скобочками "{ }", теперь считается основанным на привычных элементах языка Си.


"Выпуск языка программирования Go 1.22"
Отправлено flrdv , 07-Фев-24 12:20 
возврат ошибок.

"Выпуск языка программирования Go 1.22"
Отправлено anonymous , 07-Фев-24 17:46 
В учебнике авторы говорят, что база - С, но очень много элементов: от модулей и ООП - взято из языков Вирта.

"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 07-Фев-24 17:55 
> В учебнике авторы говорят, что база - С, но очень много элементов: от модулей и ООП - взято из языков Вирта.

В Го завезли ООП? Вы уверены что книжка от авторов?

  


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 20:48 
Ещё один, думающий, что ООП — это «как в джаве» или «как в крестах».

"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 07-Фев-24 21:49 
> Ещё один, думающий, что ООП — это «как в джаве» или «как в крестах».

Ещё один, думающий, что знает что я думаю... одни блин телепаты :)

ООП, именно в том виде как у крестов и джавы, в Го - нет. Нет классов. Нет кострукторов.
Но есть возможность самому делать ООП через структуры, а это значит, что язык, сам по себе не предоставляет классических элементов ООП как часть языка


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 10-Фев-24 00:55 
конструктор это просто функция

"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 10-Фев-24 21:57 
> конструктор это просто функция

Не просто функция, а функция которая вызывается только раз при инициализации класса, а классов в Го языке как language construct - нет (И я очень этому даже рад, чем меньше абстракций, тем ближе к сущности). Единственный "констуктор" в Го - это функция "init".
Но в тоже время возможности языка вполне себе позволяют реализовывать собсвенный "ООП" если надо через структуры (что вообщем-то точно так же и делается во "взрослых" ООП)


"Выпуск языка программирования Go 1.22"
Отправлено tty0 , 07-Фев-24 20:59 
От ранних, в рассказе ООП было вначале столько же, сколько и последующих С

"Выпуск языка программирования Go 1.22"
Отправлено Аноньимъ , 08-Фев-24 11:23 
> Что именно там "Синтаксис Go основан на привычных элементах языка Си"?

Это стандартный базворд, так же как джава и сишарп "имеют привычный похожий на си синтаксис".
Менеджерам нужно, иначе они не примут ЯП в прод никогда, ну и реклама дыркошлёпам, типо чувак тут то-же только лучше...


"Выпуск языка программирования Go 1.22"
Отправлено Neon , 08-Фев-24 19:28 
Во, во, из какого пальца высосали похожесть Go на С неизвестно.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:26 
А если какой-нибудь индус забросит проект , от которого зависят другие проекты . То мой хелоуворд не соберется ?

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:28 
Go - это как недопитон, только со статической типизацией.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:35 
Go - это как Google !

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 14:21 
Google go со своим Go! И подальше, если можно.

"Выпуск языка программирования Go 1.22"
Отправлено Бывалый смузихлёб , 08-Фев-24 12:01 
Go - это как
>>> Go on home British Soldiers Go on home
>>> Have you got no fucking homes of your own
>>> For 800 years we've fought you without fear
>>> And we will fight you for 800 more
>>> ...

"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 07-Фев-24 18:24 
> А если какой-нибудь индус забросит проект , от которого зависят другие проекты . То мой хелоуворд не соберется ?

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


"Выпуск языка программирования Go 1.22"
Отправлено кек , 10-Фев-24 11:39 
Соберется, пока проект не выпилили
А если выпилили или нашли cve 15/10 в мертвом проекте - будь бобр искать форк или сам форкать, да. Но это всегда так и было, на самом то деле

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:26 
До сих пор базовые проблемы фиксят. Этот язык ещё на стадии альфы или уже релиз?

"Выпуск языка программирования Go 1.22"
Отправлено Хухрымухры , 07-Фев-24 10:56 
Это было сделано специально в угоду скорости. На практике оказалось что это создаёт больше проблем.

"Выпуск языка программирования Go 1.22"
Отправлено другой аноним , 07-Фев-24 19:59 
Вот да, достало, когда это изменение называют "фиксом", да ещё и "фиксом ошибки". Создатели языка прекрасно понимали достоинства и недостатки обоих вариантов, и сознательно выбрали один из них. Ну... оказалось, что большинство программистов в XXI веке уже ожидают как умолчание другой (в XX было ещё не так). Потом долго думали, стоит ли менять поведение с учётом обещаний совместимости в ветке 1.x. Ну... решили, что стоит. Решение не моё, оценивать не берусь. Но называть это "фиксом ошибки", тем самым провоцируя неверное понимание, что вот, дескать, в коде компилятора ошиблись, неправильно реализовали -- не стоит, по-моему.

Для сравнения, как это было в Джулии. Там аналогичный сдвиг семантики произошёл в версии 0.сколько-то (забыл подробности). В версии 1.0 уже было по-современному, и так и остаётся. Но оказалось, что некоторым всё-таки нужна старая семантика (Джулия -- это в том числе и про скорость, а старая быстрее), и пришлось добавить возможность опционально вернуться на старое. Оно, конечно, не совсем ключевое слово outer, которое иногда ключевое, а иногда и нет -- сомнительное решение, но, опять же, не мне судить. К совместимости после выхода версии 1.0 обе команды относятся серьёзно, молодцы, респект и уважуха... Но, если всё-таки НАДО сломать -- ну, выкручиваются, как могут.

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


"Выпуск языка программирования Go 1.22"
Отправлено 12yoexpert , 08-Фев-24 06:53 
Вряд ли что-то в этом недоязыке было сделано в угоду скорости, достаточно взглянуть на docker и kubernetes

"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 08-Фев-24 18:50 
> Вряд ли что-то в этом недоязыке было сделано в угоду скорости, достаточно
> взглянуть на docker и kubernetes

11 Bravo


"Выпуск языка программирования Go 1.22"
Отправлено Хухрымухры , 09-Фев-24 07:07 
Дружище. Ты напиши сначала аналог kubernetes или docker на твоём любимом языке, а там посмотрим.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:26 
> Решена давняя проблема с циклами "for", приводившая при вызове сопрограмм (goroutine) к совместному использованию переменных цикла в разных итерациях.

Открыли ящик Пандоры по изменению ошибок допущенных при проектирование языка. Это, конкретно, я поддерживаю, но интересно, что будет следующим.


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:29 
Язык всё больше и больше мне кажется мертворождённым.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:38 
икспертиза опеннет

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:48 
Так-то он прав, но у гулага бесконечные деньги (в частности, на рекламу) и живо оно будет до тех пор пока надо гулагу.

"Выпуск языка программирования Go 1.22"
Отправлено Всем Анонимам Аноним , 07-Фев-24 16:29 
или специально для забавы вставляет, чтобы реакцией наслаждаться

"Выпуск языка программирования Go 1.22"
Отправлено Андрей , 07-Фев-24 17:22 
Вы на нём пишете или как те из стаи "активистов" по жалобам которых отменяют концерты? :-D

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 05:55 
Я пытался писать на нём. Но лучше любой другой язык, чем этот винегрет из пельменей с ананасами.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 11:17 
Не понятно только для кого это было проблемой.
Вполне логичное поведение в подобной среде

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 15:27 
Ящик Пандоры они открыли, зафорсив стиль скобок K&R с левыми объяснениями "потому что гладиолус и транслятор быстроходный, и точки с запятой автоматом, чо пристали". У Вирта все языки с быстрыми трансляторами, но им побоку в строчку идет BEGIN или с новой строки.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:26 
Чтобы собрать хелоуворд , сколько гигабайт надо ?

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:29 
Так-же как на джаве, может даже немного экономнее.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:32 
У меня однажды на сервере пропала директория с джава . С тех пор я не могу его использовать .

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:34 
0.058

"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 07-Фев-24 18:40 
> Чтобы собрать хелоуворд , сколько гигабайт надо ?

Для это не гигабайты нужны (можно даже на STM32 со 128кб), для это мозги нужны


"Выпуск языка программирования Go 1.22"
Отправлено 12yoexpert , 08-Фев-24 06:55 
Go означает go buy another HDD

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:29 
> позволяет добиться производительности, сопоставимой с программами на языке Си

В рекламных роликах не принято сравнивать достоинства товара A и товара B другой фирмы .


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:31 
> позволяет добиться производительности, сопоставимой с программами на языке Си

**при вызове библиотек, написанных на Си
XD


"Выпуск языка программирования Go 1.22"
Отправлено Маня , 07-Фев-24 10:41 
почему код:
values := []string{"a", "b", "c"}
      for _, v := range values {
           go func() {
               fmt.Println(v)
              done <- true
           }()
      }
будет выводить abc а не cba? нет же гарантий порядка выполнения горутин. просто теперь не будет повторений.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 11:02 
> values := []string{"a", "b", "c"}

Такое сложно читать человеку , он устает . Зачем пустые скобки ? Чтобы показать что это массив ? Человеку это зачем знать ? Зачем кавычки ? Непонятно , что a b c это не цифры , а текст ?
> go func() {

Это изобретения велосипедов .
Человек должен понять программу , просто прочитав ее . Вы же читаете этот текст .
Просто очень сложно такое читать
values := []string{"a", "b", "c"} for _, v := range values {go func() {fmt.Println(v) done <- true}()}


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 11:24 
> Зачем кавычки ? Непонятно , что a b c это не цифры , а текст ?

Чтобы понять что это текст, а не другие переменные.

Но в целом синтаксис ИМХО омерзителен. Конечно и на других языках можно писать стольже отвратительно выглядящий код но там надо стараться, а тут это судя по всему норма.


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 11:33 
Да, в GoLang этот синтаксис = норма.

"Выпуск языка программирования Go 1.22"
Отправлено Ананий , 07-Фев-24 11:26 
>Непонятно , что a b c это не цифры , а текст ?

а если текст совпадет с зарезевированным словом? изобретать костыли?
а какое-нибудь а b c 0xFF d это что?

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


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 15:10 
Пробелы вместо скобок в Питоне, это интересный замысел. Не вижу в этом никакого извращения. Не хами.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 14:55 
>Такое сложно читать человеку , он устает

Ну так пишите на перле, там будет просто map { print $_, "\n" } qw/a b c/

>Человек должен понять программу , просто прочитав ее . Вы же читаете этот текст

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


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 23:29 
На перле будет
say for qw/a b c/;

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 13:30 
say работает по дефолту хоть в какой-нибудь версии перла?
И у вас не запускается рутина, как в гошном варианте. map с блоком ближе к этой логике.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 20:52 
> Просто очень сложно такое читать

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


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 13:33 
Я знаю пять или шесть и для меня пихон (99% кодов) и голанг (от 99% программистов на голанге, начинавших с курсов пихона) по-прежнему нечитаемы.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 11:13 
Кому как. Я устаю гадать во всех этих недомолвках питанорубижабаскрипта. А тут -- всё понятно.

"Выпуск языка программирования Go 1.22"
Отправлено noc101 , 07-Фев-24 17:56 
Порядок выполнения не гарантируется. Одна горутина может быть завершена быстрей другой, даже если была запущена позже.
Но порядок запуска определенный.
В твоем примере будет АБС выводится в любом случае, так как порядок запуска и порядок выполнения тут совпадет.

"Выпуск языка программирования Go 1.22"
Отправлено derfenix , 08-Фев-24 16:18 
Порядок запуска тоже не определён. Горутины сначала в одну из очередей попадают, прежде чем запуститься, и какая когда запустится не знает никто, кроме планировщика.

"Выпуск языка программирования Go 1.22"
Отправлено noc101 , 09-Фев-24 12:19 
Не знал. Тогда не прав

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 20:57 
Всё правильно, порядок выполнения горутин не гарантируется. Однако, у тебя настолько примитивный код, что пока цикл дойдёт до запуска следующей горутины, предыдущая успевает отработать. Если бы там делалось что-то кроме вызова print на локалхосте, порядок вывода менялся бы между запусками.

"Выпуск языка программирования Go 1.22"
Отправлено Маня , 07-Фев-24 22:27 
это не у меня а в статье, которая вводит в заблуждение

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 00:44 
Кто такой Горутин? Много раз эту фамилию уже видел, но так и не понял что это за мужик. Причём иногда о нем пишут как о женщине - Горутина.

"Выпуск языка программирования Go 1.22"
Отправлено anonymous , 07-Ноя-24 09:18 
Эту штуку под именем корутина Никлаус Вирт в языке Modula-2 придумал.

"Выпуск языка программирования Go 1.22"
Отправлено _ , 07-Фев-24 23:29 
>почему код:
>[...]
>будет выводить abc а не cba? нет же гарантий порядка выполнения горутин. просто теперь не будет повторений.

потому что местные IT-ЫгспЁрды посчитали неважной для __точного__ перевода фразу:
"the following code will print “a”, “b”, and “c” in some order"
оне жи в английском тоже ЫгспЁрды! :)


"Выпуск языка программирования Go 1.22"
Отправлено derfenix , 08-Фев-24 16:20 
Суть изменения тут в том, что выведутся все 3 символа, а не три раза "с", как было до 1.22. Только в этом отличие. А порядок выведенных символов всё так же практически рандомный.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:44 
> для перебора значений с 0 до 9 теперь можно использовать цикл "for i := range 10 {...}".

Удобный синтаксис для off by 1 ошибок.


"Выпуск языка программирования Go 1.22"
Отправлено нона , 15-Фев-24 01:53 
А как должно быть?

for i := 0 .. 9? Это гораздо более прямой путь к off by 1.


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 10:48 
Такой ощущение, что синтаксис for стараются сделать максимально непохожим ни на что другое и получается настолько криво, насколько это вообще возможно.

"Выпуск языка программирования Go 1.22"
Отправлено wWolf , 07-Фев-24 14:55 
Цикл for в Go это просто сборная солянка всех возможных конструкций циклов.
Он может быть и сишным (start; cond; end) и while'ом, и loop'ом (безусловным), и ренжом аля питоновский.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 14:55 
Похоже на итераторы луашные

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 16:56 
Мне тоже сразу на ум пришло: в lua это 30 лет назад уже было

"Выпуск языка программирования Go 1.22"
Отправлено Карлос Сношайтилис , 07-Фев-24 11:28 
Язык го как тестовая площадка для экспериментов с конструкциями оператора for

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 11:35 
На Go после появления дженериков вполне можно писать, т.к. это убрало самые вопиющие моменты копипасты. Когда обработку ошибок сделают хотя бы в стиле Swift, тогда вообще будет норм. После джавы с ее annotation-driven development код на Go дебажить одинаково комфортно что у себя в проекте, что в кишках гошных фреймворков - он что там, что там формата "палка-веревка".

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 12:19 
Кому как. Жители бангладешских деревень, которые не умеют читать и считают только используя пальцы рук и ног, плохо дженерики понимают. Понимают плохо, но используют охотно. В результате ПО на языках, в которых есть свои варианты шаблонов/обобщений, типично превращаются в обезьяну с гранатой.
Поэтому, на мой взгляд, добавление обобщений в Го было крайне спорным решением.

"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 07-Фев-24 16:33 
> Кому как. Жители бангладешских деревень, которые не умеют читать и считают только используя пальцы рук и ног

Почему же тогда они везде?! В Оракле, Гугле и конечно же в Майкрософте! И живут почему-то не в деревнях, а в Issaquah, Mountain View, Redwood... и получают четверть миллиона в год зеленью

Где Вы, о великий "белий каста" ? Где ваш гениальный код?!

Мир ждет вас!!!


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 19:02 
Ты удивишься, но в деревнях тоже. В огромных количествах. Мой гениальный код где надо, но даже я дженериков побаиваюсь. Они -- нет. Поэтому, лучше, когда дженериков нет вообще. Натыкать проверок типа того, что кладёшь и что берёшь в/из коллекции, из снипетов куда проще и сюрпризов меньше.

"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 07-Фев-24 19:15 
> Мой гениальный код где надо

Я почему-то даже не сомневался :)))


"Выпуск языка программирования Go 1.22"
Отправлено 12yoexpert , 07-Фев-24 13:38 
на языках, в которых шаблоны называют дженериками, в принципе невозможно писать

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


"Выпуск языка программирования Go 1.22"
Отправлено anonymous , 07-Фев-24 14:36 
Понятно, что ты тролль, но для тех, кто случайно прочитает твой комментарий, я напишу, что шаблоны - это compile-time фича, а дженерики - рантайм.

"Выпуск языка программирования Go 1.22"
Отправлено xer , 07-Фев-24 22:08 
а какая мне разница?

"Выпуск языка программирования Go 1.22"
Отправлено 12yoexpert , 08-Фев-24 06:57 
Пруф? В nim дженерики - compile-time. Эксперты опеннета такие эксперты

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 11:06 
Что за ним такой? Очередной овнокотлин, только теперь для шарпа?

"Выпуск языка программирования Go 1.22"
Отправлено zog , 13-Фев-24 14:43 
> но для тех, кто случайно прочитает твой комментарий, я напишу, что шаблоны - это compile-time фича, а дженерики - рантайм.

На самом деле ровно наоборот. Именно поэтому дженерики в Java сделаны с type erasure и в рантайме узнать конкретный дженерик невозможно. Фактически джавовские дженерики - это синтаксический сахар, заменяющий явное преобразование типов. Дженерики - это недоделанные шаблоны и это действительно плохо.


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 18:59 
Ну потому что это не шаблоны, а именно обобщения. С цпп шаблон в кучу классов превращается, а той же Жабе или Го -- нет. Там это просто сахар для проверки типобезопасности коллекций и всё. Причём такой сахар с овнецом немного.

"Выпуск языка программирования Go 1.22"
Отправлено penetrator , 08-Фев-24 04:10 
тогда C# сильно тебя удивит ))

там это тоже типа Generic, но работает как обычный шаблон (по твоей терминологии)

и в нем и Generic и Template это около и рядом одного и того же


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 11:03 
Чем меня это должно удивить? В Жабе и Шарпе обобщений не было. Жаба, чтобы сохранить обратную совместимость, обобщения реализовала только на уровне компиляции, а МС на обратную совместимость забили и сделали через привычные шаблоны. Как в Го не знаю. Присобачивать обобщения к языку, который обобщений до этого не имел, всегда процесс не безболезненный.

"Выпуск языка программирования Go 1.22"
Отправлено penetrator , 08-Фев-24 13:05 
> Чем меня это должно удивить? В Жабе и Шарпе обобщений не было.
> Жаба, чтобы сохранить обратную совместимость, обобщения реализовала только на уровне компиляции,
> а МС на обратную совместимость забили и сделали через привычные шаблоны.
> Как в Го не знаю. Присобачивать обобщения к языку, который обобщений
> до этого не имел, всегда процесс не безболезненный.

я не знаю что ты называешь обобщениями, но шарпе шаблоны называются генериками / Generic

про это и было мной написано


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 13:55 
Офигеть, чудик, а автобус называется бас, а рыба -- фиш. Нефига себе, открытие. Generic это Обобщение. В данном случае Обобщение типа. Ну хочешь называть то, что ты не понимаешь, тем, что ты не понимаешь -- кто ж тебе запретит. Хотя, напишу жалобу в минобр -- может, запретят в конце концов.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 11:08 
Ну вот твой шарп. В нём шаблоны названы дженериками. Чтоб по-модному. А в моде тогда была Жаба. В Жабе -- дженерики. Уровня компиляции.

"Выпуск языка программирования Go 1.22"
Отправлено penetrator , 08-Фев-24 13:08 
> Ну вот твой шарп. В нём шаблоны названы дженериками. Чтоб по-модному. А
> в моде тогда была Жаба. В Жабе -- дженерики. Уровня компиляции.

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

просто такое название для одного и того синтаксического сахара, детали реализации уже вторичны


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 14:03 
Ну фиг знает. Эти самые Дженерики в Жабе именно, что сахар уровня написания кода. Машина о них ничего не знает, в байткоде их нет. В Жабе какой-нибудь вызов new Shit<String> в коде не сделает тебе новый класс Shit<String>, а потом его экземпляр, а просто сделает очередной экземпляр Shit. В Шарпе же, насколько я понимаю, вызов Обобщения (т.е. когда ты его уже типизуешь) плодит настоящий новый класс на стадии компиляции, ну т.е. это такой классический Шаблон.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 14:07 
Ну как не было, меня уже к 2005 от смузи мутило, а хлебать их начала не раньше 2002 точно.

"Выпуск языка программирования Go 1.22"
Отправлено cheburnator9000 , 07-Фев-24 11:43 
Язык где вместо решения фундаментальных проблем в виде race condition вам предлагают race detector ... фу.

C#/.NET лучше, хоть и кушает для своей работы больше ОЗУ и ЦПУ в рантайме, но это дело поправимо, сейчас улучшают Ahead of Time компиляцию в нативный код, правда проблемы с рефлексией в этом деле еще не решили, но все будет.


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 14:17 
Да-да, жава тоже уже скоро хорошей станет, с минуты на минуту.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 15:49 
Вообще я бы посомневался что есть уровень Си. Временами и жава код быстрее.
И вроде бы все круто, но похоже западные языки будут обосабливаться в своем маня-мирке. Они уже давно европу миром зовут, так что ждать омталось недолго.
А вот жабокод уже заворачивают и отечественным проектам денег не дают.
Кто их знает что там очередной гомосек решит как пондасрать.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 11:42 
А как обстоят дела с посконно-православными языками?

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 19:48 
Для большинства приблуд даже .NET FW достаточно за глаза, остальное решается распараллеливанием. Если уж что и продвигать, то C# - последний вменяемый язык, да и тот после 8.0 уродуют.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 11:10 
В шарпе есть произвольные анонимные классы?

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 11:10 
А что в Го нет каких-нибудь механизмов явной сериализации исполнения? Ну там синхры какие-нибудь или что-то в этом духе?

"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 08-Фев-24 19:46 
> А что в Го нет каких-нибудь механизмов явной сериализации исполнения? Ну там
> синхры какие-нибудь или что-то в этом духе?

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


"Выпуск языка программирования Go 1.22"
Отправлено cheburnator9000 , 08-Фев-24 22:40 
> А что в Го нет каких-нибудь механизмов явной сериализации исполнения? Ну там
> синхры какие-нибудь или что-то в этом духе?

конечно есть, но язык же позиционируется как пишешь go myFuncName() и все чики пуки из коробки, люди так и делают, а в итоге все не так просто.


"Выпуск языка программирования Go 1.22"
Отправлено _ , 09-Фев-24 18:43 
Ты конечно же дашь линк на https://go.dev/чего-то-там  где о так "позиционируется"? Ты же не жалкий сосунишка сосок?

>люди так и делают, а в итоге все не так просто.

Не волнуйся всех этих ^^^^^ у нас уже AI-шкой меняют. Она уже на их уровне, в период 5-10 лет станет лучше их.


"Выпуск языка программирования Go 1.22"
Отправлено Имя1 , 08-Фев-24 16:54 
Так то в java Excelsior JET уже давно AOT с рефлексией запилили, без каких либо ограничений. Вот нынешний GraalVM без полноценной рефлексии какая-то несерьезная игрушка, печально что и C# все так же

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 12:04 
Как вообще кому-то могла прийти мысль импортировать библиотеки прямо из интернета? Каждый import github.com/... - это дополнительная точка отказа.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 13:22 
Точка отказа у тебя в голове все зависимости должны быть в папке vendor.

"Выпуск языка программирования Go 1.22"
Отправлено похнапоха. , 07-Фев-24 13:38 
Он просто не знает, как работает импорт в Гоу, что такое модули и тд. Бесполезно спорить с ИКСпертом на оупеннет, лет 15 тут еще водились адекватные, которые владели знаниями в обсуждаемых темах. Теперь смузихлебы, которые знают 5+ ЯП и 15+ фреймворков, но толком ни в одном не разобравшиеся, поучают всех остальных. АйТи, которое мы заслужили.

"Выпуск языка программирования Go 1.22"
Отправлено 12yoexpert , 07-Фев-24 13:59 
один ты умный в белом пальто стоишь красивый. спасибо, что ты есть

"Выпуск языка программирования Go 1.22"
Отправлено Placeholder , 07-Фев-24 14:06 
Да это даже не смузихлебы, это на 80% просто тролли сидят. У них и гит не нужен, и винда - самая лучшая ОС. В основном тупо копипастят одну и ту же фигню чтобы развести флейм.

"Выпуск языка программирования Go 1.22"
Отправлено Анонист , 07-Фев-24 16:09 
Судя по тому что ты написал, троллем тут являешься именно ты. А гит действительно не нужен и винда стоит на 99% компов (те что не маки), в отличии от ляликса с его 0.01%.

"Выпуск языка программирования Go 1.22"
Отправлено Билли Г. , 08-Фев-24 01:44 
Миллионы мух не могут ошибаться.

Ваш Билли


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 17:17 
Не чуди. Пункт 3 известен всем: https://www.toptal.com/go/4-go-language-criticisms
А еще репозиторий может закрыться.

"Выпуск языка программирования Go 1.22"
Отправлено похнапоха. , 07-Фев-24 18:52 
При чем тут третьесторонний репозиторий к функционалу ипорта модулей? Для этого в Гоу есть средства, как решить эту проблему. И это касется любого ЯП, когда используются третьесторонний зависимости.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 11:58 
Я, конечно, тоже go не люблю, но ты смотрел ваще на что именно линк кидаешь? Там какое-то небинарное оно с розовыми волосами с очень плохим английским и которое работало только в вебе.

"Выпуск языка программирования Go 1.22"
Отправлено Анонист , 07-Фев-24 16:07 
Потому что в нынешнем айти засилье гуманитариев, которые даже слов таких не знают, как "точки отказа". Из-за этого и браузеры стали жрать как топовые игры AAA. Инженеров нет. Вернее есть, но в военке и прочей робототехнике с AI теперь тусуются.

"Выпуск языка программирования Go 1.22"
Отправлено Лосилий Васейник , 09-Фев-24 13:56 
Пришёл однажды скрам мастер к нам в айти отдел на завод. Мы айтишники люди современные — всё понимали, но вот мужики из цеха невзлюбили его. Одевался странно, голосок писклявый, много слов иностранных. Стояли как-то в очереди за обедом в столовой — так он подслушал мужиков и начал прямо там обучать их скраму. Петрович весь покраснел, усами зашевелил — как сейчас помню. Мы от греха подальше старались сделать вид что он не с нами. Все обошлось, но было не по себе что Петрович глаз с него не сводил весь обед. На утро следующего дня пролетаю проходную в аккурат 7:57 чтобы не оштрафовали. Захожу в комнату, а скрам мастера нашего нет. Думаю вот же не повезло, придётся писать объяснительную за опоздание и штраф этот вычтут из получки. Его всё нет и нет, думали заболел серьёзно. Но в таких ситуациях принято ставить начальника в известность. Прошло около месяца и только тогда мы узнали что он получил травму головы когда с работы шёл. Настолько тяжёлую что начал бредить скрамом. Каждому врачу предлагал работать по скраму и получать сертификаты какие-то. А мы говорили ему не ходить в кроссовках зимой. Скользко ведь, гололёд. Не знаю его дальнейшей судьбы. Просто вспомнилось что-то.

"Выпуск языка программирования Go 1.22"
Отправлено _ , 09-Фев-24 18:47 
Человек ЫЗкуЗствффа - шёл бы ты на сайты где про розовых поней или "отнаскрывают!" ... ну вот нахрена твоя дристня на техническом [когда то] сайте?

"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 07-Фев-24 17:09 
> Каждый import github.com/... - это дополнительная точка отказа.

О-о-о! Есть еще богатыри, пишущие абсолютно все с нуля и не использующие никакие библиотеки...

Майкрософт с Гуглом скоро падут от такой мощи


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 17:19 
Одно дело, когда это хранилище, из которого пакет не пропадет (например, pip, nuget). И другое - чей-то личный репозиторий, который автор завтра решит закрыть.

"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 07-Фев-24 17:48 
> Одно дело, когда это хранилище, из которого пакет не пропадет (например, pip,
> nuget). И другое - чей-то личный репозиторий, который автор завтра решит
> закрыть.

Господа как обычно, догадки выдают за правду...

go мod vendor

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


"Выпуск языка программирования Go 1.22"
Отправлено noc101 , 07-Фев-24 18:02 
Верно, но вставлю замечание.
В случае переезда разработчика на новый ПК, сервер сборки и тп. При закрытом гите, проект уже не соберется. Поэтому, лучше скачивать с гита архив, чтобы был резерв.

"Выпуск языка программирования Go 1.22"
Отправлено похнапоха. , 07-Фев-24 18:59 
Проект соберется, для этого достаточно знать азы работы с зависомстями и произвести replace:
go mod edit -replace github.com/репозиторий/мой-потерянный-подуль=/home/user/project/мой-потерянный-подуль

Поэтому ИКСперты продолжайте критиковать скобочки в синтаксисе ЯП


"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 07-Фев-24 19:07 
> Поэтому, лучше скачивать с гита архив, чтобы был резерв.

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



"Выпуск языка программирования Go 1.22"
Отправлено noc101 , 07-Фев-24 18:01 
О боже гуманитарий, не позорься.
Никто не писал про всё писать с нуля. тут пишут, что в проекте импортить с гитхаба модули, это возможные будущие проблемы.
Умные ребята, которая не пьют смузи как ты, качают модули в папку вендор и уже оттуда импортят и по надобности обновляют.
Плюс в том, что нет минусов. Даже если гитхаб закроется, твой проект не умрет.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 18:35 
Ну хорошо, ты скачал пакет себе. Опубликовал свой код. Посторонний разработчик решил сделать форк или просто собрать на своей машине, а пакета в инете уже нет. Как с этим решать? Публиковать также код всех пакетов?

"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 07-Фев-24 19:00 
> Посторонний разработчик решил сделать форк или просто собрать на своей машине, а пакета в
> инете уже нет. Как с этим решать?

В Го такого не получится, даже если овнер исчез, пакет останется закэшированным/сохраненным в Го прокси репозитарии

> Публиковать также код всех пакетов?

Вы про форк слышали?



"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 19:06 
Форк, конечно, спасает, но при использовании тех же pip и nuget разработчику не нужно форкать пакеты) Их соранность гарантируется самим хранилищем.

"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 07-Фев-24 19:19 
> Форк, конечно, спасает, но при использовании тех же pip и nuget разработчику
> не нужно форкать пакеты) Их соранность гарантируется самим хранилищем.

Вы через слово читаете??? Аналог ваших питонов и дотнетов - это ГоПрокси


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 20:02 
Ну не вполне же. Даже из самого названия (прокси) следует, что он кеширует пакеты просто на время, скорее для удобства доступа и безо всяких гарантий. На их сайте написано: "Why did a previously available module become unavailable in the mirror? - proxy.golang.org does not save all modules forever".
Хотя это уже лучше, чем ничего.

"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 07-Фев-24 22:00 
>  кеширует пакеты просто на время, скорее для удобства доступа и безо всяких гарантий.

Вы чуть, чуть - не дочитали.

> There are a number of reasons for this, but one reason is if proxy.golang.org is not able to **detect a suitable license**.

Просто следует закону. Не хочет хозяин шарить, - это его право, иначе - хранит


"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 07-Фев-24 18:54 
> О боже гуманитарий, не позорься.
> Никто не писал про всё писать с нуля. тут пишут, что в
> проекте импортить с гитхаба модули, это возможные будущие проблемы.

О гений телепатический, в Го пакеты качаются не с гитхаба, а по умолчанию с прокси Го репозитория, чтоб пакеты "не изчезали" и не были инфицированны

> Умные ребята, которая не пьют смузи как ты,

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

> качают модули в папку вендор и уже оттуда импортят и по надобности обновляют.

Блястнул уровнем не-знаий, "молодец", "Умные ребята..." :)
Про go mod vendor не слышал, вручную качаешь?

> Плюс в том, что нет минусов. Даже если гитхаб закроется, твой проект не умрет.

Все верно, для этого и есть: go mod vendor

и еще есть репозитарий Го, который хранит все копии пакетов с гитхаба, как раз на случай "диверсий" :)



"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 19:15 
> Все верно, для этого и есть: go mod vendor
> и еще есть репозитарий Го, который хранит все копии пакетов с гитхаба, как раз на случай "диверсий" :)

Хз, выглядит ненадежно. Слишком много непонятных зависимостей.


"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 07-Фев-24 19:23 
> Хз, выглядит ненадежно.

Что именно - не надежно ? Все без проблем может работать как в оффлайне, так и со свежаком

> Слишком много непонятных зависимостей.

Для это документация есть, чтоб избавиться он непонятностей и зависимостей



"Выпуск языка программирования Go 1.22"
Отправлено noc101 , 09-Фев-24 15:53 
>> качают модули в папку вендор и уже оттуда импортят и по надобности обновляют.
> Блястнул уровнем не-знаий, "молодец", "Умные ребята..." :)
> Про go mod vendor не слышал, вручную качаешь?

го мод вендор качает в своей локальный "репозитарий"
Я же вручную качаю в свой "репозитарий", который лежит там где мне удобно.

>> Плюс в том, что нет минусов. Даже если гитхаб закроется, твой проект не умрет.
> Все верно, для этого и есть: go mod vendor

И возращаемся к первокомментарию. Чел говорит что указывать гитхаб в импортах это лищняя точка отказа.
В чем он не прав?
Получается прав.


> и еще есть репозитарий Го, который хранит все копии пакетов с гитхаба,
> как раз на случай "диверсий" :)

И?


"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 09-Фев-24 19:09 
> В чем он не прав?

В том, что так же как и Вы - не в теме. Но усиленно продолжаете спорить...


"Выпуск языка программирования Go 1.22"
Отправлено noc101 , 09-Фев-24 23:48 
То есть аргументов нет. Что и ожидалось от нуба

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 19:45 
Абсолютно солидарен. Но если тебе 20, ты работаешь в гугле и с тебя просят "инновации", вот такие вот идеи и приходят в голову! :)) Инженерное позорище, согласен. Как и nuget в мире .NET

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 13:21 
Про то что си подобный пишут, а про то что нельзя выйти за границы буфера не пишут.

"Выпуск языка программирования Go 1.22"
Отправлено 12yoexpert , 07-Фев-24 13:40 
это же не раст

"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 07-Фев-24 17:20 
мимо. cm: CVE-2021-31162

"Выпуск языка программирования Go 1.22"
Отправлено НяшМяш , 07-Фев-24 14:36 
Потому что можно https://github.com/advisories/GHSA-ppp9-7jff-5vj2

"Выпуск языка программирования Go 1.22"
Отправлено OpenEcho , 07-Фев-24 17:18 
> Потому что можно https://github.com/advisories/GHSA-ppp9-7jff-5vj2

То ли дело в раст: std::fs::remove_dir_all
и бум, в гонщики: CVE-2022-21658

Или  Vec::from_iter, - дважды освободил и в CVE-2021-31162


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 02:42 
Справедливости ради, TOCTOU уязвимости - это гонка процессов, а не тредов. Ну в том смысле, что Rust может и защитит от ошибок кривого наваливания данных в shared коллекции из разных потоков, но вот что у него кривая реализация в std::fs - это логическая ошибка (некорректная работа с системными вызовами), от которых этот язык не защищает никак. Вся его задача - перенос "лучших практик" из C++ по работе с памятью в компайл-тайм, чтобы минимизировать человеческий фактор. В остальном просто нескучный синтаксис.

"Выпуск языка программирования Go 1.22"
Отправлено Alexey , 07-Фев-24 13:47 
Google компания делает дела. когда-то про нее много писали что "корпорация зла". но нет, она делает добрые дела. полезные. вот язык обновила.

так что, не надо ее ругать.

кто там главный в компании? Брин и еще второй. они делают полезное дело. обновляют язык.


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 19:43 
Брин, перелогинься и не позорься! :)))) "делает дела"... ты в 3 классе что ли? Выражаешься как косноязычный троечник. Это уже не говоря о смысле твоих похвал недоязыку от недокомпании.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 14:07 
Жаль gomobile забросили

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 14:18 
Было слишком мало скобочек, но это исправляют.

"Выпуск языка программирования Go 1.22"
Отправлено Golangdev , 07-Фев-24 17:24 
Отличная новость!

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 07-Фев-24 17:25 
> Решена давняя проблема с циклами "for"

Выглядит так как будто язык всё ещё переживает детские болезни.


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 13:23 
Ага, а языку уже 15 лет при этом.

"Выпуск языка программирования Go 1.22"
Отправлено Вы забыли заполнить поле Name , 07-Фев-24 22:10 
С обработкой ошибок по прежнему беда?

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 13:23 
Их концептуально не хотят завозить.

"Выпуск языка программирования Go 1.22"
Отправлено ВоваВолшебник , 08-Фев-24 08:32 
Пользовался языком пару лет. Неплохой инструмент для написания маленьких сетевых программ. Но в какой то момент прозрел и нафиг послал этот язык со своими идиотскими правилами синтаксиса. Мол, ему не нравится что есть неиспользованная переменная. Ну сейчас в данный момент не используется, надо будет, потом удалим, сейчас голова забита другим. Это конечно хорошо, что типа для оптимизации. Но в активной фазе разработки как же эта фигня ставит палки в колеса. Я вообще молчу про фигурные скобки. Это вообще чья то субьективщина стала частью языка.

"Выпуск языка программирования Go 1.22"
Отправлено Хухрымухры , 09-Фев-24 07:11 
> Мол, ему не нравится что есть неиспользованная переменная.

_ = some

https://go.dev/play/p/OZLj1Xa_Zxp?v=


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 11-Фев-24 02:00 
>сейчас в данный момент не используется, надо будет, потом удалим, сейчас голова забита другим. Это конечно хорошо

Пример хода мысли, приводящего к появлению и постоянному увеличению количества го-кода в проекте. Нет, это не ускоряет разработку. Вы делаете работу по три-четыре раза в результате.


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 11:04 
Любой статический язык без ADT - игрушка для хеловордов.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 11:19 
Ну вот у меня ровно обратное мнение. ADT слишком сложно для уверенного понимания. А без понимания его применение приводит к опасным ошибкам. Лучше многословно, но предельно понятно на каждом шаге даже дэбилу.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 11:37 
ADT ? Может, AST ?

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 12:47 
Ну я о проблемах с пониманием и адекватным применением именно ADT, т.е. абстрактных типов и шаблонов построения типов.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 10-Фев-24 15:55 
А им и надо, чтобы язык был такой черной магией, чтобы не программу писать, а что угодно подводящее к ее написанию, но никогда не приводящее. Подмена деятельности ее имитацией.

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 11:46 
Ты про Абстрактный Тип Данных? Чо ниасилил сортировку?

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 13:51 
Возможно имелось в виду Алгебраические типы данных?

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 08-Фев-24 14:38 
ADT - это прошлый век, сейчас любой язык без TRJ - игрушка для хеллоувротов. А на подходе еще BKFHW - еще круче будет

"Выпуск языка программирования Go 1.22"
Отправлено Neon , 08-Фев-24 19:28 
Ничего привычного из С даже близко нет в Go. Откуда это глупость постоянно берется ?!

"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 09-Фев-24 07:56 
https://go.dev/doc/faq#ancestors

"Go is mostly in the C family (basic syntax), with significant input from the Pascal/Modula/Oberon family (declarations, packages)"


"Выпуск языка программирования Go 1.22"
Отправлено Аноним , 10-Фев-24 15:53 
Тупизация, структуры, указатели, блоки кода фигурными скобками, видимость внутри блока. Все это очень даже сишное.