Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

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



"Выпуск языка программирования Go 1.27"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск языка программирования Go 1.27"  +/
Сообщение от opennews (??), 20-Авг-26, 01:47 
После шести месяцев разработки представлен релиз  языка программирования Go 1.27, развиваемого компанией  Google при участии сообщества. Язык сочетает высокую производительность, свойственную компилируемым языкам, с такими достоинствами скриптовых языков, как простота написания кода, высокая скорость разработки и защита от ошибок.   Код проекта распространяется под лицензией BSD...

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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по ответам | RSS]

2. Сообщение от Аноним (2), 20-Авг-26, 02:01   +36 +/
Один из лучших языков с самостоятельными бинарниками, которые можно перекидывать между системами и не париться за зависимости.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #11, #24, #60, #72, #111

3. Сообщение от zionist (ok), 20-Авг-26, 02:21   +2 +/
Всё по делу. Long live Go!
Ответить | Правка | Наверх | Cообщить модератору

4. Сообщение от Вася Пупкин (?), 20-Авг-26, 05:16   –6 +/
Чё стало с временем компиляции после добавления дженерик-функций?
Второй пример как вообще читать? Без контекста в структуре Gopher как понять где Habitat? А если есть ещё другое поле с другим вложенным Habitat? Или тут опечатка?
Пысы: хватит вводить в заблуждение, называя синтаксис лаконичным пока не починят бойлерплейт из if err != nil...
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #6, #7, #8, #14, #21, #51

5. Сообщение от zionist (ok), 20-Авг-26, 05:34   +5 +/
> Второй пример как вообще читать? Без контекста в структуре Gopher как понять где Habitat?

Ты в двух соснах потерялся. В том примере Habitat - это структура и скорее всего ты хотел спросить про поле этой структуры, когда её вложили в Gopher. В этом случае у внешней структуры появляется поле с таким же именем, как название вложеной структуры, и уже внутри этого поля находится содержимое вложеной структуры. Если нет конфликта имён можно обращаться к полям вложеной структуры напрямую, как будто это поля внешней структуры. Так было и раньше, а сейчас это правило просто расширили для инициализации.

> А если есть ещё другое поле с другим вложенным Habitat? Или тут опечатка?

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #67

6. Сообщение от zionist (ok), 20-Авг-26, 05:36   +/
Ответил ниже
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

7. Сообщение от Аноним (7), 20-Авг-26, 05:37   +/
_ викчто err, если нет желания разбираться с ошибками.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4

8. Сообщение от Мистер Макадамияemail (?), 20-Авг-26, 05:56   +1 +/
Лол.
Хотел начать объяснять про память: кучу и стек, а перечитав ваш коммент, попробуйте сами это сделать, и там же есть информация, зачем и для чего проверять на ошибки. ;)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #68

9. Сообщение от Sm0ke85 (ok), 20-Авг-26, 07:38   –4 +/
> Код проекта распространяется под лицензией BSD

Что намекает, что в перспективе это будет googo - полностью проприетарный продукт, где сообщество уже не особо нужно, т.к. "трудиться за спасибо" уже не особо надо, а с монетизацией гугл и сам справится))))

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #22

10. Сообщение от Аноним (10), 20-Авг-26, 08:11   –1 +/
uuid давно же есть
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #15

11. Сообщение от Аноним (11), 20-Авг-26, 08:16    Скрыто ботом-модератором+1 +/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2

12. Сообщение от Аноним (11), 20-Авг-26, 08:19    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #13, #28

13. Сообщение от фывыфв (?), 20-Авг-26, 09:17   +2 +/
Вообще разные инструменты. Как сравнивать микроскоп и ЧПУ.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #18

14. Сообщение от анм (?), 20-Авг-26, 09:23   +3 +/
> называя синтаксис лаконичным пока не починят бойлерплейт из if err != nil...

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #62

15. Сообщение от анм (?), 20-Авг-26, 09:24   +2 +/
Он внешний был, типа. А теперь видимо в базу добавили
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #10 Ответы: #19

18. Сообщение от Аноним (40), 20-Авг-26, 10:05   –2 +/
Там TinyGo лучше во всём чем Rust
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #13

19. Сообщение от Аноним (40), 20-Авг-26, 10:23   +/
а там дефолтный UUIDv7 или кто?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #15 Ответы: #23

20. Сообщение от limafresh (ok), 20-Авг-26, 10:28   +1 +/
Один из лучших языков стал ещё лучше. Один из самых простых компилируемых языков (почти скриптовая логика), быстро собирается, в том числе и на слабых ПК (привет, Rust, который сильно нагружает ПК при сборке), строгая типизация, встроенный форматтер с няшными табами вместо богомерзких пробелов для отсутствия разногласий в стиле, отсутствие репозиториев типа NPM куда надо публиковать пакеты из своей учётки (достаточно go get ссылка). Что ещё надо?!
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #35

21. Сообщение от Брат Анон (ok), 20-Авг-26, 10:37   +2 +/
Время компиляции в модульных языках -- молниеносное. Откройте для себя волшебный мир модульных языков: Go, Modula-2, Oberon-2, Oberon-7, Component Pascal. А поскольку в жертву приносится глубокая оптимизация, при компиляции добавляется сбор профилей во время исполнения, что и компенсирует указанный недостаток.
Уже давно пора забыть про if err!=nil... Уже как несколько лет можно писать Result[T] и Option[T]. А с последним нововведением -- теперь ещё и FluidAPI подвезли. Везде есть ,но в Go такое нечитаемо? Двойные стандарты детектед.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #25, #63, #64, #73

22. Сообщение от Брат Анон (ok), 20-Авг-26, 10:40   +3 +/
Нет. Инструменты распространяются под максимально свободными лицензиями. И если даже изначально была пермиссивная -- в итоге всё-равно приходят к откровенно либеральной. Так было с питоном, так было со свифтом, так сейчас и с моджо (смотри соседнюю новость). А как известно из школьного курса физики -- фарш невозможно провернуть назад. Отличные примеры Редис, МонгоДБ и ещё десяток если хорошо подумать.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #9 Ответы: #32, #89

23. Сообщение от Брат Анон (ok), 20-Авг-26, 10:41   +2 +/
Там начиная от v4 до v7. Ту самую либу добавили как дефолт в stdlib.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #19 Ответы: #31

24. Сообщение от Прохожий (??), 20-Авг-26, 10:41   +/
Ужасный язык на самом деле, если хоть немного разбираться в языках. Ниже по ссылкам можно ознакомиться с его проблемами.

https://simpleobservability.com/blog/go-portable-until-isnt

https://blog.habets.se/2025/07/Go-is-still-not-good.html

https://avittig.medium.com/golangs-big-miss-on-memory-arenas...

https://fasterthanli.me/articles/lies-we-tell-ourselves-to-k...

https://corrode.dev/learn/migration-guides/go-to-rust/

https://www.ralfj.de/blog/2025/07/24/memory-safety.html

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #26, #52, #107, #116

25. Сообщение от Прохожий (??), 20-Авг-26, 10:44   +/
Rust - модульный язык. А все почему-то жалуются постоянно на время его компиляции
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #37

26. Сообщение от Кроссдрессер (?), 20-Авг-26, 10:44   +4 +/
Могу в 10 раз больше ссылок накидать, почему гошечка - самое лучшее, что существует из языков на сегодня.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24 Ответы: #30

28. Сообщение от Брат Анон (ok), 20-Авг-26, 10:46   +2 +/
Нет, не лучше во всём. Нельзя делать частичную реализацию трейтов (интерфейс имеет ко всему прочему накладные расходы), нет нормальных алгебраических типов, нет паттерн матчинга (а местами очень не хватает). Из Нима я бы ещё подтащил систему эффектов (в Расте такого нет), свободный синтаксис вызова процедур, чистые функции, исполнение на этапе компиляции, темплейты и подумал бы над макросами (в Ним они сделаны исчерпывающе, в отличии от Раста, но инструмент всё же опасный). Хоть вместо make давно существует task (который написан на Go), но в плане гибкости Nim-script как часть компилятора и скриптовый движок расширения бинарей всё же более интегрирован в экосистемы Nim. Очень важная вещь, которой не хватает в Go -- изоляты. В Dart они сделаны тяжеловато (на перемещении, нет семантики перемещения). В Rust аннотация времени жизни -- вынос мозга. Опять же, в Nim изоляты сделаны красиво и понятно (+семантика перемещения в 5 раз проще, чем в Rust). Я уже не говорю про то, что рантайм не позволяет контролировать момент уничтожения объектов (да-да -- тот самый сборщик мусора в отличии от автоматической расстановки вызова деструкторов в Rust или Nim). Реалтайм на Go возможен, но это дополнительные приседания. Возможно, дженерики в обновлённом виде позволят как раз решить эту проблему (ORM/ARC из Nim, да и ARC из Rust как показывает практика -- тот же сборщик с ручным управлением по требованию -- работает офигенно).
Go многое решает иначе, но много пока не хватает.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #12 Ответы: #34, #38

30. Сообщение от Прохожий (??), 20-Авг-26, 10:49   +3 +/
Восторженные возгласы пришедших в программирование вчера не особо показательны, да и не особо интересны.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #26 Ответы: #40, #88

31. Сообщение от Аноним (40), 20-Авг-26, 10:53   +/
Так а по дефолту кто? v4?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #23 Ответы: #39

32. Сообщение от Sm0ke85 (ok), 20-Авг-26, 10:53   –1 +/
>Нет. Инструменты распространяются под максимально свободными лицензиями. И если даже изначально была пермиссивная -- в итоге всё-равно приходят к откровенно либеральной. Так было с питоном, так было со свифтом, так сейчас и с моджо (смотри соседнюю новость). А как известно из школьного курса физики -- фарш невозможно провернуть назад. Отличные примеры Редис, МонгоДБ и ещё десяток если хорошо подумать.

Мне кажется наивно полагать, что код может быть "свободным"... Нет "Хозяина" только у ненужных вещей, а также если ты не "видишь хозяина", то это не значит что он не объявится... И что "новому хозяину" помешает присвоить себе результат труда...? Вера в понятие "свободный код"...?

ЗЫ оглянись, за окном Капитализм...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22 Ответы: #41

34. Сообщение от Прохожий (??), 20-Авг-26, 10:54   +/
>подумал бы над макросами (в Ним они сделаны исчерпывающе, в отличии от Раста, но инструмент всё же опасный)

Это как, исчерпывающе? В Rust вы фактически с AST работаете. Куда уж более исчерпывающе?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #42

35. Сообщение от Брат Анон (ok), 20-Авг-26, 10:56   +4 +/
> Один из лучших языков стал ещё лучше. .... Что ещё надо?!

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


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #20 Ответы: #91

37. Сообщение от Брат Анон (ok), 20-Авг-26, 11:02   +3 +/
> Rust - модульный язык. А все почему-то жалуются постоянно на время его
> компиляции

Садись, два! Модульный язык, это такой язык, где единицей компиляции и компоновки является модуль. Rust если изменить один файл в глубине иерархии -- будет пересобирать весь код. Потому что у него сквозная компиляция, направленная на тотальную оптимизации. Чтобы ты понимал: время сборки 40 сек -- это не норм. Программа на Go, Modula-2, Oberon-2/7 и даже FreePascal собирается за 0.5...1.5 сек. Плата: та самая глубокая оптимизация, которой нет. Поэтому и потребовался механизм профилирования при исполнении.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #25 Ответы: #56, #69, #123

38. Сообщение от Аноним (40), 20-Авг-26, 11:04   +2 +/
чего-то там (лень перечислять) нет в других ЯП потому что оно им нужно чтобы что? Реалтайм в контексте современных ОС звучит вообще как насмешка - нет его у вас.
В Golang многого пока не хватает. fzf, gdu, rclone, xq/fx/yq, kubectl, hugo и ещё вагончик тулов используемых ежедневно и массово... как нам их не хватает
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #28 Ответы: #43

39. Сообщение от Брат Анон (ok), 20-Авг-26, 11:04   +4 +/
> Так а по дефолту кто? v4?

Там нет понятия дефолт. NewV4() и NewV7()

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #31

40. Сообщение от Аноним (40), 20-Авг-26, 11:08   +2 +/
ну так кто те виноват что ты так поздно пришёл
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30 Ответы: #121

41. Сообщение от Брат Анон (ok), 20-Авг-26, 11:10   +/
Ты не понимаешь смысл капитализма.

У Солнца кто хозяин? Кто хозяин у Вселенной?
Понятие "свободный" относится к личному владению. Фактически хозяин есть -- общество. Давно пора бы усвоить, что в английском языке "свободный" не значит "бесплатный". "Свободный" означает, что "не подлежащий продаже". Но "свободный" софт можно прекрасно распространять за деньги и за деньги поддерживать. И самое главное, чего ты не понял: свободный софт нельзя приватизировать. Поэтому Go, строго говоря не подпадает под определение GPL (который запрещает приватизацию), но при этом ,если ты что-то сделал сам на подаренном тебе инструменте (какое-то усовершенствование) -- лицензия Go не запрещает тебе сохранять это ноухау лично. Правда, ты станешь отщепенцем и вреда от такого положения будет больше, чем пользы.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #32 Ответы: #53

42. Сообщение от Брат Анон (ok), 20-Авг-26, 11:14   +2 +/
>>подумал бы над макросами (в Ним они сделаны исчерпывающе, в отличии от Раста, но инструмент всё же опасный)
> Это как, исчерпывающе? В Rust вы фактически с AST работаете. Куда уж
> более исчерпывающе?

Нет, в Раст это калечно сделано. Посмотрите как это сделано в Lisp или Nim. В Rust на это без слёз смотреть нельзя.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #34

43. Сообщение от Брат Анон (ok), 20-Авг-26, 11:14   +2 +/
> чего-то там (лень перечислять) нет в других ЯП потому что оно им
> нужно чтобы что? Реалтайм в контексте современных ОС звучит вообще как
> насмешка - нет его у вас.
> В Golang многого пока не хватает. fzf, gdu, rclone, xq/fx/yq, kubectl, hugo
> и ещё вагончик тулов используемых ежедневно и массово... как нам их
> не хватает

Расскажите это CachyOS, где по дефолту в комплекте поставляется RT-ядро.
Все перечисленные вещи нужны, ровно потому, что они увеличивают надёжность систем, решают проблему гонок данных, упрощают сборку приложений, позволяют строить DSL. Преимущества эти для вас не являются необходимыми ,потому что вы с этим никогда не сталкивались и кругозор у вас по сравнению с моим явно поуже.

Тулзы перечисленные выше классные. Но они не часть языка, не часть комплекта компилятора. И это создаёт проблему. UUID наконец-то затащили и ура. А вот JSON/v2 не решает проблему до конца: в тех же Rust и Nim все сериализаторы, десериализаторы JSON автоматически строятся на этапе компиляции. В Go приходится использовать фактически ручную кодогенерацию. И это не есть гуд.
Опять же, упомянутая система эффектов Nim -- такого даже в Rust нет. А бывает ой как не хватает в коде на Go таких вещей.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #38

50. Сообщение от Аноним (40), 20-Авг-26, 11:58   –3 +/
как на этом сайте ответить в уже запоротую ботом-мордератором но всё ещё присутствующую ветку? Перепищите уже этого бота на расте чтобы не мешал.
> CachyOS

Эта офигительная реалтаймка сейчас здесь? С нами? В одной комнате? Полтора мазохиста-бетатестера тестирующих концепт - это, конечно, отличная ниша для хипстеров, но IRL люди этим не пользуются.
Куб и прочие тулы, конечно, не часть языка. Как и CachyOS не часть языка. Просто кубу и прочим тулам ваши выдуманные недостатки ЯП не мешают делать восхитительные штуки успешно и давно и, самое сложное - не закидывать проект потому что вайб сменился

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #54, #58, #59

51. Сообщение от MaxT (?), 20-Авг-26, 11:59   +/
Так называемый "бойлерплейт" из if err != nil читается гораздо легче чем эксепшены, которые фиг знает где и как обрабатываются.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #4 Ответы: #65

52. Сообщение от Аноним (52), 20-Авг-26, 12:14   +3 +/
даже одного момента, когда интерфейсу присвоен nil, а после проверка на nil может показать, что он не nil, уже достаточно чтобы считать этот язык дурным и непригодным
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

53. Сообщение от Sm0ke85 (ok), 20-Авг-26, 12:23   –2 +/
>Ты не понимаешь смысл капитализма.
>У Солнца кто хозяин? Кто хозяин у Вселенной?

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

>Понятие "свободный" относится к личному владению. Фактически хозяин есть -- общество

Вот в GPL это явно указано, а в остальных "свободных" лицензиях получается что "Код свободен" - а это явный бред сивой кобылы...

> "Свободный" означает, что "не подлежащий продаже"

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

>И самое главное, чего ты не понял: свободный софт нельзя приватизировать

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

>Поэтому Go, строго говоря не подпадает под определение GPL (который запрещает приватизацию)

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

>ты что-то сделал сам на подаренном тебе инструменте (какое-то усовершенствование) -- лицензия Go не запрещает тебе сохранять это ноухау лично

Да ладно...? А продавать разрешает или запрещает...? А как так получилось, то код же свободный был, а тут вдруг "Лично" появилось - откуда личности...?

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

И кто "отщеплять" будет...? Вон Раст внедряют и многие против - в итоге отщепляют тех самых "многих"))))) Все чуть сложнее, чем тебе представляется...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #41

54. Сообщение от Аноним (54), 20-Авг-26, 12:24   +2 +/
RT-ядро в Линуксе присутствует уже лет 20 как минимум. Не позорься, ононим.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

56. Сообщение от Аноним (56), 20-Авг-26, 12:51   –4 +/
В Инете видел адептов Компонентного Паскаля и Оберона, которые тащатся от модулей. Бедняги умственно застряли в 1980-х гг. Модуль - это кусок бинарный компонент который во время компиляции линкуется с основным бинарников. В 2026 году такое почти у всех ЯП есть.

Проснись же наконец и оглянись вокруг. Ты умственно застрял в прошлом.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37

57. Сообщение от Аноним (57), 20-Авг-26, 12:55   +/
Как там с телеметрией?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #84

58. Сообщение от Аноним (40), 20-Авг-26, 13:20   –2 +/
RT-ядро в линуксе никаким боком к хрусту 20 лет
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50

59. Сообщение от Аноним (40), 20-Авг-26, 13:20   –2 +/
да и не гарантировало RT-ядро настоящий realtime. Так только, "мы постарались"
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #50 Ответы: #92

60. Сообщение от localhostadmin (ok), 20-Авг-26, 13:36   –2 +/
К слову о перекидывании между системами. Пару месяцев назад я решил перекинуть бинарь, собранный на старой версии опенка, на более новую. Он у меня не запустился из-за версий libc
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #78

62. Сообщение от Вася Пупкин (?), 20-Авг-26, 14:18   +1 +/
согласен, что эксепшны еще большее зло, которые еще и затрудняют понимание потока исполнения(читай как потомок goto). промисы, фьючи, таски, корутины - суть все похожее, в некоторых задачах они действительно могут упростить код, но важно понимать как они устроены. а вот чего бы не засахарить компилятором конкретно эту проверку на nil как в например расте в один символ - для меня по-прежнему загадка. код базы бы нехило так похудели, ревью было бы быстрее, разработка ускорилась.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #14

63. Сообщение от Вася Пупкин (?), 20-Авг-26, 14:27   +/
оппа, вот это новость про монады.. а насколько часто их в проектах и библиотеках используют? (вопрос без подковырки - на го не разрабатываю, со стороны поглядываю). и что за fluidapi? рассахаривание как вопросик в расте?

>Уже давно пора забыть про if err!=nil

такими темпами и эргономика появится..

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #79

64. Сообщение от Вася Пупкин (?), 20-Авг-26, 14:30   +/
хм. правильно понимаю, что дженерики мономорфизируются только внутри своего модуля? на стыке публичное апи как резолвится?
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21 Ответы: #80

65. Сообщение от Вася Пупкин (?), 20-Авг-26, 14:32   +/
эскобарщина. наброс был с оглядкой на вопросик из раста. вот уж что действительно легче читается.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #51 Ответы: #70

67. Сообщение от Вася Пупкин (?), 20-Авг-26, 14:37   +1 +/
>Если нет конфликта имён можно обращаться к полям вложеной структуры напрямую, как будто это поля внешней структуры

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

>В этом случае сокращённой записью пользоваться нельзя.

еще и следить потом за этим, и выпиливать если где-то новое поле добавилось

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #5 Ответы: #83

68. Сообщение от Вася Пупкин (?), 20-Авг-26, 14:41   +1 +/
спасибо, про память можете не объяснять. и то что надо проверять ошибки. только лучше сами поизучайте как удобно это можно делать в других языках, например в расте.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #8 Ответы: #120

69. Сообщение от Аноним (69), 20-Авг-26, 14:49   +2 +/
>Rust если изменить один файл в глубине иерархии -- будет пересобирать весь код.

Поправлю: будет пересобираться код только данного модуля (то есть крейта. в Rust'е модули крейтами называются). А другие модули не будут пересобираться.
(Разработчики Rust'а вводят в заблуждение ключевым словом mod, так вот это не обозначение модуля,  а пространства имён. как namespace в C++ )

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37

70. Сообщение от Аноним (69), 20-Авг-26, 14:57   +1 +/
>легче читается

но плохо понимается. А в Go не приходится ломать голову что значит unwrap, unwrap_or_else, expect, unwrap_or, unwrap_or_default

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #65 Ответы: #74

72. Сообщение от Аноним (72), 20-Авг-26, 16:15   +/
>Один из лучших языков

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

Какой величайший экспертный уровень. Да будет известно экспертам, что с современными технологиями, этим свойством обладает практически любой компилируемый язык, будь то OCaml, Rust, небезызвестный си, и не менее знаменитый C#.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #82

73. Сообщение от Аноним (72), 20-Авг-26, 16:24   –3 +/
>Откройте для себя волшебный мир модульных языков: Go, Modula-2, Oberon-2, Oberon-7, Component Pascal

Сейчас, в 2026 году, рассуждать о Паскале. К счастью, мир уже понял ошибочность Паскаля, и закопал его. И да, приводите в пример хорошие языки, вроде OCaml-а.
>Уже давно пора забыть про if err!=nil... Уже как несколько лет можно писать Result[T] и Option[T].

Ну и зачем тогда этот ваш голанг нужен, если можно взять тот же OCaml, где всё это изначально сделано по-человечески?
>Везде есть ,но в Go такое нечитаемо? Двойные стандарты детектед.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #21

74. Сообщение от Аноним (72), 20-Авг-26, 16:25   +2 +/
>А в Go не приходится ломать голову что значит unwrap, unwrap_or_else, expect, unwrap_or, unwrap_or_default

Эта проблема решается за 15 минут, раз и навсегда.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #70 Ответы: #90

75. Сообщение от Аноним (72), 20-Авг-26, 16:29   +/
>Реализована поддержка обобщённых (generic) методов

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

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #93

78. Сообщение от OpenEcho (?), 20-Авг-26, 17:14   –1 +/
Значит бинарь был скомилирован с CGO и поэтому получилась динамическая линковка
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #60 Ответы: #143

79. Сообщение от Брат Анон (ok), 20-Авг-26, 17:18   +2 +/
> оппа, вот это новость про монады.. а насколько часто их в проектах
> и библиотеках используют? (вопрос без подковырки - на го не разрабатываю,
> со стороны поглядываю). и что за fluidapi? рассахаривание как вопросик в
> расте?

Ну, я не готов отвечать за других, а я так только ими и пользуюсь. Монады уже года два в обойме доступны. Даже свою либу написал. Для примера:
https://gitp78su.ipnodns.ru/svi/kern/src/v4/v4/lev0/result/r...

FluidAPI/FLuentAPI (кто как пишет). Это когда строится цепочка вызовов как в функциональном программировании. Крайне удобно структурировать код в рамках многослойной архитектуры (LTI/LBI/LSI). Без дженериков в методах приходилось разрывать цепочку вызовов в три отдельных вызова с присвоением результата в конкретную типизированную переменную. Теперь всё гораздо проще (и свой фреймворк буду переделывать под это дело).

>>Уже давно пора забыть про if err!=nil
> такими темпами и эргономика появится..

Ну, строго говоря она и была. Код на Го кратно легче читается, чем на том же Расте. А чувство стиля, оно нарабатывается. На любом языке.


Ответить | Правка | Наверх | Cообщить модератору
Родитель: #63

80. Сообщение от Брат Анон (ok), 20-Авг-26, 17:20   +1 +/
> хм. правильно понимаю, что дженерики мономорфизируются только внутри своего модуля? на
> стыке публичное апи как резолвится?

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #64

82. Сообщение от MaxT (?), 20-Авг-26, 17:24   –1 +/
>этим свойством обладает практически любой компилируемый язык, будь то OCaml, Rust, небезызвестный си, и не менее знаменитый C#.

никто из перечисленных не обладает свойством сделать так-же:

go get модуль_из_гитхаба
GOOS=darwin GOARCH=arm64 go build .
...готово...

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #72 Ответы: #86, #87

83. Сообщение от zionist (ok), 20-Авг-26, 17:25   +/
> спасибо, теперь понятно. нахера тока такие ребусы неявные. они ж читаемость ухудшают..

Синтаксический сахар, как раз таки для упрощения читаемости.

> еще и следить потом за этим, и выпиливать если где-то новое поле
> добавилось

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #67

84. Сообщение от zionist (ok), 20-Авг-26, 17:30   +1 +/
> Как там с телеметрией?

$ go telemetry
off

$ cat .config/go/telemetry/mode
off 2025-12-11

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #57

86. Сообщение от GenkaOk (ok), 20-Авг-26, 18:47   +/
Хоть и пользуюсь Go на регулярной основе, но к сожалению все не так здорово.

Бинарники под Keenetic нужно собирать 1.20 версией, но в принципе это только для старых платформ. Например Windows XP и т.д., на остальные можно спокойно лить последнюю версию Go

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82

87. Сообщение от Аноним (72), 20-Авг-26, 19:35   +/
>никто из перечисленных не обладает свойством сделать так-же:

Ваша ошибка заключается в том, что вы до сих пор не объяснили, что именно вы подразумеваете под "сделать так-же"
>go get модуль_из_гитхаба

Важное уточнение - данный подход работает только для родного кода на go. Если будет хотя-бы малейшее вкрапление си, или чего-то другого, то это поломается.
>GOOS=darwin GOARCH=arm64 go build .

Кросс-компиляция - изобретена.
>...готово...

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #82 Ответы: #98

88. Сообщение от _ (??), 20-Авг-26, 20:15   +/
Так то Пайк программировать начал "раньше чем твоя папка родился"(С) Ж-)))
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #30

89. Сообщение от Аноним (72), 20-Авг-26, 20:22   –1 +/
>Инструменты распространяются под максимально свободными лицензиями.

Максимально свободные - дающие четыре свободы. Не дающие четыре свободы - разрешительные.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #22

90. Сообщение от _ (??), 20-Авг-26, 20:41   +3 +/
Ну вот - а в Go - её вообще нет :) 0 минут и так же - навсегда :)
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #74 Ответы: #102

91. Сообщение от _ (??), 20-Авг-26, 20:52   +/
>> Один из лучших языков стал ещё лучше. .... Что ещё надо?!
> Алгебраические типы, тайп матчинг, линейные типы, система эффектов, исполнение на этапе компиляции и ARC вместо сборщика мусора. Вот тогда точно заживём.

Ботва!(С)
Это всё есть где то там - в других языках. Но ты их не пользуешь.
В Go если это всё принести - это будет уже не Go => за борт всю эту бодягу. Берите Haskell и идите мимо уже :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #35 Ответы: #94

92. Сообщение от _ (??), 20-Авг-26, 20:54   +/
HRT vs SRT ... На HRT под линуком никто и не замахивался.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #59

93. Сообщение от _ (??), 20-Авг-26, 20:59   +/
У которых есть _свои_ непреодолимые недостатки :)

Всё нормально, в наше богатое время уж найти ЯП по-душе вообще не проблема!
А так как это всё стремительно уходит из профессиональной области в область хобби - то ЯП по душе только и надо пользовать!

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #75 Ответы: #97

94. Сообщение от Аноним (72), 20-Авг-26, 21:13   +/
>Это всё есть где то там - в других языках.

Вопрос стоит не в том, где это есть, и где этого нет. Вопрос в том, что индустрия ОПЯТЬ выбрала один из самых плохих вариантов. А потом, когда ошибочность выбора стала очевидна, в голанг стали костылями прикручивать полезные фичи из других языков, но конечно-же получилось ужасно.
>Но ты их не пользуешь.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #91 Ответы: #104, #118

95. Сообщение от Аноним (95), 20-Авг-26, 23:46   +2 +/
Как-то "лучший C" превращается в "худший С++". Где-то они не туда завернули.
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #125

96. Сообщение от Аноним (95), 20-Авг-26, 23:58   +/
Для меня Го - золотая середина, которой пользоваться невозможно. Для системного он слишком тяжёлый, на сях проще. Для вебв там нет ничего, даже по сравнению с питоном. И зачем он мне?
Ответить | Правка | Наверх | Cообщить модератору
Ответы: #119

97. Сообщение от нах. (?), 21-Авг-26, 00:13   +/
К сожалению, llm все еще отвратительно программируют на forth.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #93 Ответы: #105

98. Сообщение от нах. (?), 21-Авг-26, 00:35   –1 +/
> Важное уточнение - данный подход работает только для родного кода на go.

которого и есть процентов 90 в окружающей нас реальности. Потому что мало, мало извращенцев писать на го прослойки к чужому коду.

> Кросс-компиляция - изобретена.

только не работает (в сишечке во всяком случае) вне пределов хеловротов. go изрядно расширил представления о том что хеловротом является.

> Получить аналогичный бинарник можно и на других языках.

как ты думаешь, почему при этом те же дебианоиды собираются в эмуляторе ? Т.е. вот ВСЕ реально используемые дистрибутивы линукса не под x86 - промышленно собираются в кривой тормозной эмулируемой прослойке?

(как оно там у редхатоидов не выяснял за невозможностью их поставить на не-x86-64, только недавно появившиеся корявые сборки под единственную альтернативу интереса пока не представляют)

Я тут как раз надысь пытался выяснить, как это у них так криво получается-то. А вот так, оказываетсо.

Ведро кросс-компиляцией собрать еще кое-как можно (но лучше и этого не делать) а /bin/ls - уже не совсем.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #87 Ответы: #100, #101

100. Сообщение от laindono (ok), 21-Авг-26, 02:49   –2 +/
В расте работает. Чуточку длиннее, надо заранее одной командой доустановить кросскомпилятор, если не. Кстати малоизвестная фича - можно запустить прогу под wine сразу и прозрачно. Мелочь, а приятно.

Скорее всего примерно так же будет в любом новом (по сравнению с сишечкой) компилируемом языке. Почти уверен, что в каких-нибудь D, V, Swift, Nim, Zig и многих других будет так же.

А в сишечке с крестами да, не работает. Там надо вилкой чистить, читать какие-то кривые доки, качать левые тулзы, а возможно и код фиксить. Ибо поддержка может быть и заявлена, да никто не проверял лет 10. И куча компиляторов, которые совместимы только в теории.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #98 Ответы: #117

101. Сообщение от Аноним (72), 21-Авг-26, 03:50   +/
>которого и есть процентов 90 в окружающей нас реальности.

Зато остальные 10 вас неприятно удивят.
>Потому что мало, мало извращенцев писать на го прослойки к чужому коду.

Сразу же удачи вам слинковать с условным sqlite, tree-sitter или что там ещё понадобится.
>только не работает (в сишечке во всяком случае) вне пределов хеловротов

Чините руки. Как минимум есть https://wiki.nixos.org/wiki/Cross_compiling
>как ты думаешь, почему при этом те же дебианоиды собираются в эмуляторе ?

Потому, что дебиан. В нём нет нормального пакетного менеджера.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #98 Ответы: #115

102. Сообщение от Аноним (72), 21-Авг-26, 03:55   +1 +/
>Ну вот - а в Go - её вообще нет

Есть. Как только код выходит за рамки
if err != nil {
  return err
}
То сразу же возникает куча вопросов. Например, какого типа эта самая err. Это не говоря уже о том, что тратить целых три строки, вместо >>= - расточительство.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #90 Ответы: #110

104. Сообщение от _ (??), 21-Авг-26, 06:04   +/
> Вопрос в том, что индустрия ОПЯТЬ выбрала один из самых плохих вариантов.

А вот и нет! Это редкий случай когда выбрали правильно! Я сказал!(С) :-)

> Это легко можно сделать в своих хобби проектах, и практически невозможно - в коммерческих.

Ну и вывод то какой? :)
Впрочем не важно, скоро это болеть у всех уже перестанет :)

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #94

105. Сообщение от _ (??), 21-Авг-26, 06:12   +/
Ээыыооуу... Уел так уел! (С) :)

Но ты должен был бороться со злом, а не возглавить его! (С) :)

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #97

107. Сообщение от Аноним (107), 21-Авг-26, 07:44   +/
Как известно, существует два вида языков программирования - те, у которых есть куча проблем, за которые их не любят, но используют, и те, которые никто не использует.

Go сейчас в первой категории.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

110. Сообщение от MaxT (?), 21-Авг-26, 13:32   +/
>какого типа эта самая err.

Зачем тебе здесь тип err если ты его не обрабатываешь?

>тратить целых три строки

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #102 Ответы: #112

111. Сообщение от Аноним (111), 21-Авг-26, 16:53   +/
А в С/С++ самостоятельный бинарник сделать нельзя? Через -static при компиляции? Любопытно.

The PrimeTime
https://www.youtube.com/watch?v=WqSWZuGS9pc

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #2 Ответы: #114

112. Сообщение от Аноним (72), 21-Авг-26, 17:38   +/
>Зачем тебе здесь тип err если ты его не обрабатываешь?

С чего вы это взяли? Я говорю про то, что подход голанга совершенно никак не помогает обрабатывать ошибку. Если взять монаду Result, исключения в сигнатурах как в Java, типизированные алгебраические эффекты, то любой из этих вариантов будет лучше. Информация о исключении не потеряется, как в голанге, где всё превращается в безликий Err.
>у тебя так-же останется 3 строки

Нет. 3 строки на каждый вызов. Если сделать однократно вложенный вызов, то будет не 3, а 6. Двукратно - 9. Голанг заставляет дублировать строки даже если они не нужны.
>в отличие от раста или хаскеля где нужно начать приседать в противоположном направлении

В каком противоположном? Сразу видно, что у вас нет опыта работы ни с java, ни с haskell.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #110

114. Сообщение от ы (?), 21-Авг-26, 18:31   +/
тсс, не порть зрелище
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #111

115. Сообщение от нах. (?), 21-Авг-26, 21:36   +/
> Чините руки. Как минимум есть https://wiki.nixos.org/wiki/Cross_compiling

то есть ушлепанская ос ЦЕЛИКОМ состоящая из костылей и подпорок чтобы сишечка могла как-то (я не стану тратить клик и читать не буду эту чушь, поверю на слово) что-то криво-косо скросскомпилить.
Используется полутора больными фанатиками, неспособными пяти минут помолчать о своем фетише.

Отличный пример как (и почему) не надо этого делать.

> Потому, что дебиан. В нём нет нормального пакетного менеджера.

в нем есть. Потому что он как раз - на каждом первом арм-линукс.
А не у полутора фриков в виртуалочке под вендой.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #101 Ответы: #127, #144

116. Сообщение от анонец (?), 21-Авг-26, 21:38   +/
> https://simpleobservability.com/blog/go-portable-until-isnt

довольно странно видеть эту статью в качестве претензии к go как языку, учитывая что проблема в непереносимости glibc при использовании cgo. Rust имеет те же проблемы, С имеет те же проблемы, python имеет проблемы еще больше, если задействовать С. Потому что это проблемы С и libc, а не языка, который линкуется со сторонней библиотекой.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #24

117. Сообщение от нах. (?), 21-Авг-26, 21:43   +/
> Скорее всего примерно так же будет в любом новом (по сравнению с сишечкой) компилируемом
> языке.

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

> А в сишечке с крестами да, не работает.

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

Поэтому у нас есть, к примеру, пяток вери-сейф хрустоssl'ей но все большие проекты почему-то собираются с openssl.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #100 Ответы: #122

118. Сообщение от Аноним (118), 21-Авг-26, 21:50   +/
>индустрия ОПЯТЬ выбрала один из самых плохих вариантов.

Кто-то ей в этом очень помогал .

>когда ошибочность выбора стала очевидна, в голанг стали костылями

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #94

119. Сообщение от Аноним (118), 21-Авг-26, 21:55   –1 +/
Для автоматизации. Относитесь к Go как к сценарному языку со статической типизацией. Надёжная замена Питону.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #96 Ответы: #126, #128

120. Сообщение от ДядяПетя (?), 21-Авг-26, 22:12   +/
Go защити нас от ошибок
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #68

121. Сообщение от Прохожий (??), 22-Авг-26, 01:48    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #40

122. Сообщение от Прохожий (??), 22-Авг-26, 01:58   +1 +/
>зато можно пользоваться трудом программистов живших за пару поколений до тебя

Как будто это какое-то преимущество.

>И оно - работает

До первого сегфолта, ага.

>А не требует переписания с нуля

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


>но все большие проекты почему-то собираются с openssl

Придёт время, и это г-но мамонта заменят

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #117

123. Сообщение от Прохожий (??), 22-Авг-26, 02:05   –1 +/
>Садись, два! Модульный язык, это такой язык, где единицей компиляции и компоновки является модуль.

Садись, два! На ходу терминологию выдумыаешь? Ну-ну.

Система модулей в Rust:
Крейты
Модули
Видимость
Импорт

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #37 Ответы: #129

124. Сообщение от Прохожий (??), 22-Авг-26, 02:20   +/
Брат Антон пишет про макросы: "Нет, в Раст это калечно сделано. Посмотрите как это сделано в Lisp или Nim. В Rust на это без слёз смотреть нельзя."

Мы о синтаксисе говорим или о фунциональной полноте? Ещё раз. Макросы в Rust работают с AST. Чем это принципиально отличается от макросов в Lisp, Nim?

Ответить | Правка | Наверх | Cообщить модератору

125. Сообщение от Прохожий (??), 22-Авг-26, 02:21   +/
Почему "превращается"? Он с рождения такой кривой.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #95

126. Сообщение от Прохожий (??), 22-Авг-26, 02:24   +/
>Надёжная замена Питону

Кроме статической типизации предложить на замену Питону как будто больше и нечего. Ну и зачем тогда менять шило на мыло?

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #119 Ответы: #133

127. Сообщение от Аноним (72), 22-Авг-26, 02:57   +/
>ос ЦЕЛИКОМ состоящая из костылей и подпорок

Не вам, не0силят0ру, это говорить, да.
>Отличный пример как (и почему) не надо этого делать.

Только вот когда мне нужен переносимый бинарник, я беру nix, и пишу с использованием того языка и тех библиотек, которые нужны мне, ни в чём себя не ограничивая.
>Потому что он как раз - на каждом первом арм-линукс.

Я не виноват, что у людей нет чувства вкуса.
>А не у полутора фриков в виртуалочке под вендой.

В отличии от некоторых, у меня GNU/Linux - хостовая ОС.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #115

128. Сообщение от Аноним (72), 22-Авг-26, 03:01   +/
>Относитесь к Go как к сценарному языку со статической типизацией.

Для сценарного языка в нём слишком много указателей, и слишком мало абстракций. if err != nil не дадут соврать.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #119

129. Сообщение от Брат Анон (ok), 22-Авг-26, 07:07   +1 +/
Понятие модуль придумала дедушка Вирт в 1980 г, когда тебя ещё в проекте не было.  И модуль -- это вообще не то, что в Расте или даже в Го (хотя Го -- испорченный Оберон).
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #123 Ответы: #134

130. Сообщение от разрабemail (?), 22-Авг-26, 07:29   +/
Реализована поддержка <...> методов
<...>
func(!) ! методы но функция))
для сравнения код F#
type Add (x) = class
     let add = fun y -> y + x
     member it.Add y = add y
     end;;
type Add =
  new: x: int -> Add
  member Add: y: int -> int

> Add(2).Add 2;;

val it: int = 4

Ответить | Правка | Наверх | Cообщить модератору

131. Сообщение от Aller2TeaM (ok), 22-Авг-26, 09:47   +/
Особенно рад за arch/simd, пользуюсь ещё с релиз кандидата. Получилось Minimax-ом во Freebuff-е подновить img и imaging с инструкциями avx2. Как результат - с 0.9~1.1 сек на изображение упало до 0.09~0.13 сек. В общем, нуждавшимся в arch/simd - мои поздравления. Да, пусть пакет и новый, но ещё разрастётся.
Ответить | Правка | Наверх | Cообщить модератору

132. Сообщение от AlexM (??), 22-Авг-26, 11:35   +/
Имеея за плечами почти 30 лет программирования и хорошего знания таких языков как Си/C++, Object-Pascal, C#, Java, JS и Dart, за себя могу сказать, что если чисто  для бэкенда, то Go язык очень даже не плохой.

Порадовало переосмысление указания типов на паскалевский манер. Это сильно упрощает читабельность в отличии от Си.
Так же подкупает общая простота без существенной потери эффективности конечного кода и на фоне меньшей возможности выстрелить себе в ногу в отличии от Си/C++.

Отсутствие классов и наследования с одной стороны удивляет для нового языка, но с другой стороны избавляет от кучи абстракций и ускорят конечный код (нет таблиц виртуальных функций и прочего).

Многопоточность решена очень эффективно на уровне как языка так и библиотеки.

Из того, что не понравилось - это разве что defer вместо привычного try-finally.

В целом получился годный, безопасный и главное очень эффективный бэкенд.
Но только IMHO ни для чего более чем бэкенд и микросервисы этот язык пока не годен.

Ответить | Правка | Наверх | Cообщить модератору
Ответы: #136

133. Сообщение от AlexM (??), 22-Авг-26, 12:13   +/
Убогий во всех смыслах питонный скрипт по факту работает в десятки и даже сотни раз медленнее чем Go и кроме того фактически не имеет никакой многопоточности из-за GIL.

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

Некоторые юные горе программисты, ничего после школы кроме Питона не знающие, чтобы обойти GIL ограничения запускают потом десятки инстансов Питона в контейнерах.
Всё это жутко не эффективно и крайне медленно.

Учите лучше Go.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #126 Ответы: #135

134. Сообщение от Прохожий (??), 22-Авг-26, 12:41   +/
>Понятие модуль придумала дедушка Вирт в 1980 г, когда тебя ещё в проекте не было.  И модуль -- это вообще не то, что в Расте или даже в Го (хотя Го -- испорченный Оберон).

Во-первых, хорошо бы давать ссылки на определения модульности. А? Или "эксперт" на знает о таком способе ведения дискуссии?
Во-вторых, мне уже шестой десяток лет идёт. И здесь "эксперт" попал пальцем в небо.
В-третьих, мир не стоит на месте, а развивается. Поэтому некоторые понятия вполне законно приобретают дополнительные смысловые оттенки.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #129

135. Сообщение от Прохожий (??), 22-Авг-26, 12:55   +/
>Убогий во всех смыслах питонный скрипт

Вкусовщина

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

А что ты там такое автоматизируешь, что тебе скорость выполнения скрипта важна?

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

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

Не только. Он хорош и для автоматизации всякой рутины. Про Ansible слышал, небось? Или Pyinfra?

>Некоторые юные горе программисты

Мне шестой десяток идёт. И я знаю Ассемблер, Си, Раст, Питон, Паскаль, Перл, Шелл и может ещё чего. Питон для моих задач - вполне себе годный язык программирования. Го считаю уродством, недотыкомкой, сделанной на скорую руку Гуглом для своих юных программистов, которые что-то более сложное, но при этом и более адекватное освоить не смогли. Ссылки вверху накидал, в начале обсуждения.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #133 Ответы: #137, #138

136. Сообщение от Прохожий (??), 22-Авг-26, 13:03   +/
>то Go язык очень даже не плохой

Отвратительный, на самом деле. Ссылки вверху есть.

>Многопоточность решена очень эффективно на уровне как языка так и библиотеки.

Нет, зеленые потоки довольно тяжеловесны. Это не об эффективности, это о простоте использования, чтобы юные программисты особо не напрягались.

>и главное очень эффективный бэкенд

Сборщик мусора - это тоже не про эффективность. Не помню уже название, но какая-то крупная компания из-за него в своё время мигрировала с Го на Раст.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #132 Ответы: #139

137. Сообщение от AlexM (??), 22-Авг-26, 14:19   +/
У меня тоже весьма богатый опыт за плечами и много языков освоено на проф. уровне.

Вы можете топить за это питонное скриптовое убожество, но только что по синтетическим, что по нашим практическим тестам Go уделывает Питон в десятки, а с учётом мультизадачности буквально в сотню раз.
Даже бэкенд на Dart и то в разы быстрее, к тому же там и язык в разы приятнее и тоже строго типизирован (пусть это и на вкусовщина)
Наш старый бэкенд на Lazarus и то почти в сотню раз быстрее чем питонное убожество.
К тому же в моём случае ещё и много математики по обработке сигналов на бэкенде, а там питонное убожество и рядом не стояло.
А вот Go считает даже чуть быстрее Лазаря, чуть ближе к Си.
Ну и всё это с в разы меньшем потреблении памяти, и без какой-либо среды.
Ну а с учётом мультипотоковости на сервере Питон вообще похож на реальное убожество.

Так что дело ваше, но Пютолько по конечном результату и  общей эффективности что Go,что Lazarus, что C# стоят пока очень выше питонного скриптового дерьмеца.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #135 Ответы: #142

138. Сообщение от AlexM (??), 22-Авг-26, 14:20   +/
У меня тоже весьма богатый опыт за плечами и много языков освоено на проф. уровне.

Вы можете топить за это питонное скриптовое убожество, но только что по синтетическим, что по нашим практическим тестам Go уделывает Питон в десятки, а с учётом мультизадачности буквально в сотню раз.
Даже бэкенд на Dart и то в разы быстрее, к тому же там и язык в разы приятнее и тоже строго типизирован (пусть это и на вкусовщина)
Наш старый бэкенд на Lazarus и то почти в сотню раз быстрее чем питонное убожество.
К тому же в моём случае ещё и много математики по обработке сигналов на бэкенде, а там питонное убожество и рядом не стояло.
А вот Go считает даже чуть быстрее Лазаря, чуть ближе к Си.
Ну и всё это с в разы меньшем потреблении памяти, и без какой-либо среды.
Ну а с учётом мультипотоковости на сервере Питон вообще похож на реальное убожество.

Так что дело ваше, но Пютолько по конечном результату и  общей эффективности что Go,что Lazarus, что C# стоят пока очень выше питонного скриптового убожества.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #135

139. Сообщение от AlexM (??), 22-Авг-26, 14:35   +/
> Нет, зеленые потоки довольно тяжеловесны.

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

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

Сборщик мусора это тоже хорошо на бэкенде.
К тому же он там крайне эффективный. По моим экспериментам получше чем в .net.
Затыков нет даже на большой нагрузке.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #136 Ответы: #140, #141

140. Сообщение от Прохожий (??), 22-Авг-26, 16:18   +/
>Там пул потоков

Это только подтверждает то, что я уже сказал. Пул не нужен, если потоки легковесны.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #139

141. Сообщение от Прохожий (??), 22-Авг-26, 16:20   +/
>Сборщик мусора это тоже хорошо на бэкенде.

Если можно обойтись без него, то лучше обходиться без него. Я ведь не зря вспомнил про миграцию с Го на Раст. Люди там обожглись на подобных размышлениях.

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #139

142. Сообщение от Прохожий (??), 22-Авг-26, 16:29   +/
>Вы можете топить за это питонное скриптовое убожество, но только что по синтетическим, что по нашим практическим тестам Go уделывает Питон в десятки, а с учётом мультизадачности буквально в сотню раз.

Ещё раз. Ибо не похоже, что вы сколь-либо внимательно читаете, прежде чем отвечать. Что вы там такое автоматизируете, что вам нужна скорость? Скрипты (любые) - это не про скорость, это про удобство (вот как с зелёными потоками в Го, которые сами по себе медленные, но зато простые в использовании).

>К тому же в моём случае ещё и много математики по обработке сигналов на бэкенде

Где я хоть слово сказал про бекенд? Я про автоматизацию рутины всё это время говорил.

А про вычисления - в Питоне есть numpy, sympy и прочее, в том числе для обработки сигналов что-то было. И это всё написано на Си. Где там Го угнаться за Си.

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

Ответить | Правка | Наверх | Cообщить модератору
Родитель: #137

143. Сообщение от user (??), 22-Авг-26, 19:43    Скрыто ботом-модератором+/
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #78

144. Сообщение от Anonimous (?), 22-Авг-26, 19:44   +/
То есть чего не видел, того нет! И мнение ценное сие преподнести не жалко, н змий вам поклон за щедрость. Неосилятором вас называть не стоит - ещё неизвестна вся глубина травмы, приведшая к таким причудливым убеждениям, так что не мне судить.
Только вот какое дело, как по вашему собираются все те тонны кода, что обретаются на всяких встроенных устройствах, тоже в симуляторах? Или не совсем на встроенных, а вполне себе жирненьких платах с целыми дистрибутивами вроде Yocto?
Прислушайтесь к Гамлетовской банальности о том, что есть многое на свете, что и не снилось мудрецам, а уж тем более вам.
Ответить | Правка | Наверх | Cообщить модератору
Родитель: #115


Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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