Не прошло и… всего восьми лет, как proposal про
const решили отклонить: https://github.com/golang/go/issues/27975#issuecomment-4000712203 Мир изменился, мы изменились, уже даже автор не считает предложение таким уж нужным – и только команда Go верна себе. 😁GitHub
proposal: spec: immutable type qualifier · Issue #27975 · golang/go
This issue describes a language feature proposal to Immutable Types. It targets the current Go 1.x (> 1.11) language specification and doesn't violate the Go 1 compatibility promise. It also...
👍5😢3
Поддержку генерации UUID уже скоро завезут в стандартную библиотеку. В полном соответствии с законом тривиальности Паркинсона (a.k.a. bike-shedding), сейчас там полыхает драма. 😁
GitHub
uuid: add API to generate and parse UUID · Issue #62026 · golang/go
I would like to suggest the addition to the standard library of a package to generate and parse UUID identifiers, specifically versions 3, 4 and 5. The main reason I see to include it is that the m...
🤣6👍1
How to Go wrong
Оказывается, 11 дней полыхала драма, и одно крошечное, но могучее изменение откатят в 1.26.1: https://github.com/golang/go/issues/77653
В 1.26.1 откатили это, но отладка кода с race detector’ом осталось сломанной. Ждём 1.26.2: https://github.com/golang/go/issues/77597
GitHub
runtime: segmentation violation when debug and using race detector · Issue #77597 · golang/go
Go version go version go1.26.0 linux/amd64 Output of go env in your module/workspace: AR='ar' CC='gcc' CGO_CFLAGS='-O2 -g' CGO_CPPFLAGS='' CGO_CXXFLAGS='-O2 -g&#...
🤣9👍2
Весь свой выходной день делаю одну штуку, связанную со сравнением значений разными способами (почти как 4 года назад), перечитываю спеку языка раз за разом. И вдруг заметил такое бревно в глазу языке, что теперь не могу развидеть.
В спеке есть понятия comparable и strictly comparable: «The equality operators == and != apply to operands of comparable types. The ordering operators <, <=, >, and >= apply to operands of ordered types». Ordered операторы применяются к ordered типам – всё нормально. А вот equality операторы применяются к comparable типам – используется другое слово, как-то немного странно, но сойдёт.
Но дальше хуже. Есть в стандартной библиотеке пакет
Пошёл смотреть почему же нет
Какая же мораль? Как обычно, NaN всё портит. Go – не такой простой язык, как кажется (никакой язык не такой простой, как кажется, но мы же тут про Go), но английский – ещё сложнее. А мне, видимо, надо отдыхать в выходной день без чтения спеки.
В спеке есть понятия comparable и strictly comparable: «The equality operators == and != apply to operands of comparable types. The ordering operators <, <=, >, and >= apply to operands of ordered types». Ordered операторы применяются к ordered типам – всё нормально. А вот equality операторы применяются к comparable типам – используется другое слово, как-то немного странно, но сойдёт.
Но дальше хуже. Есть в стандартной библиотеке пакет
cmp, название которого явно происходит от слова compare, и название функции Compare говорит о том же. Что должна делать это функция? Если comparable типы – это про equality операторы, то, по идее, она должна просто (может, с поправкой на NaN) использовать ==. Но нет, она использует ordered операторы и типы.Пошёл смотреть почему же нет
cmp.Equal. И это просто портал в ад:
Equal([2]float64{nan, 456}, [2]float64{123, nan}) // true
Какая же мораль? Как обычно, NaN всё портит. Go – не такой простой язык, как кажется (никакой язык не такой простой, как кажется, но мы же тут про Go), но английский – ещё сложнее. А мне, видимо, надо отдыхать в выходной день без чтения спеки.
5👏5👍1🤔1
Не прошло и 11-и лет (а только 10,5): https://github.com/golang/go/issues/12854#issuecomment-4256916067 Осталось 9 месяцев до релиза дотерпеть.
Вообще, интересный тренд, когда добираются до всё более и более старых proposal’ов.
Вообще, интересный тренд, когда добираются до всё более и более старых proposal’ов.
👍18🤔2
В продолжение темы выноса всякого полезного кода из FerretDB: https://github.com/AlekSi/xfail
Очень простоя библиотека для ожидаемо падающих тестов проверяющая, что они всё ещё падают.
Как обычно, ставьте звёзды 😁️️
Очень простоя библиотека для ожидаемо падающих тестов проверяющая, что они всё ещё падают.
Как обычно, ставьте звёзды 😁️️
GitHub
GitHub - AlekSi/xfail
Contribute to AlekSi/xfail development by creating an account on GitHub.
1👍9🤣1
Наконец-то кто-то это сделал, а
go test -fuzz совсем заброшен командой Go: https://blog.trailofbits.com/2026/05/12/go-fuzzing-was-missing-half-the-toolkit.-we-forked-the-toolchain-to-fix-it./The Trail of Bits Blog
gosentry brings LibAFL-grade fuzzing to Go's native interface
We built gosentry, a fuzzing-oriented fork of the Go toolchain that keeps the standard fuzzing workflow while using a stronger stack underneath.
👍10
Я нанимаю к себе в команду в Workato писать новые проекты на Go на замену старых на Ruby: https://t.me/gogetajob/145155
Задать вопросы можно в том чате, в комментариях тут, но, если можно, не в личке.
Задать вопросы можно в том чате, в комментариях тут, но, если можно, не в личке.
Telegram
Nika in Go Get A Job
#вкансия #job #remote #vacancy #go #relocation
Вакансия: Senior / Staff GO разработчик
Компания: Workato.com
Локация: Грузия, Армения, Сербия, Испания, Португалия, Болгария, Кипр, Германия, Нидерланды - везде remote но в пределах страны
Вилка: 100 000…
Вакансия: Senior / Staff GO разработчик
Компания: Workato.com
Локация: Грузия, Армения, Сербия, Испания, Португалия, Болгария, Кипр, Германия, Нидерланды - везде remote но в пределах страны
Вилка: 100 000…
👍15👏4
Несколько раз натыкался на эту шершавость, но наконец-то написал тикет: https://github.com/golang/go/issues/80056
GitHub
cmd/go: support quotes in `GOENV` file · Issue #80056 · golang/go
I read the following documentation sections, among others: https://pkg.go.dev/cmd/go#hdr-Print_Go_environment_information https://pkg.go.dev/cmd/go#hdr-Environment_variables https://pkg.go.dev/cmd/...
👏7
Go proposal про proposal’ы с голосованием emoji и лотереей.
👍🚀🎉
https://go.dev/s/proposal-proposal-2026
👍🚀🎉
https://go.dev/s/proposal-proposal-2026
GitHub
a more robust proposal process · golang go · Discussion #80580
Short link: https://go.dev/s/proposal-proposal-2026 Since I took over leading Go's proposal process in late 2024, I've been thinking deeply about its strengths and faults. I believe deeply ...
👍3👎1
How to Go wrong
rsc выложил исходники: https://github.com/rsc/gaby
Если вы вдруг хотели знать, чем занимается rsc после ухода с позиции техлида Go и забрасывания gaby/oscar’а, то я вам отвечу:
* делает онлайн энциклопедию целочисленных последовательностей (что?! да!);
* вайб-пишет тикеты.
Удивительно, конечно.
P.S. Ну и да, действующий сотрудник Google использует Claude, не Gemini/Antigravity.
* делает онлайн энциклопедию целочисленных последовательностей (что?! да!);
* вайб-пишет тикеты.
Удивительно, конечно.
P.S. Ну и да, действующий сотрудник Google использует Claude, не Gemini/Antigravity.
👍14🤣6👏2👎1
How to Go wrong
Если вы вдруг хотели знать, чем занимается rsc после ухода с позиции техлида Go и забрасывания gaby/oscar’а, то я вам отвечу: * делает онлайн энциклопедию целочисленных последовательностей (что?! да!); * вайб-пишет тикеты. Удивительно, конечно. P.S. Ну и…
А если вы вдруг хотели знать, чем занимается Ian Lance Taylor после ухода из Google, то я вам тоже скажу: вместе с другими бывшими Гуглерами делает exe.dev, пишет в их блог: https://blog.exe.dev/we-taught-sqlc-to-invalidate-our-caches
exe.dev
We Taught sqlc to Invalidate Our Caches - exe.dev blog
How exe's proxies stay fast and correct without anyone hand-writing invalidation logic.
👍13
string(42) уже вот-вот перестанет компилироваться: https://github.com/golang/go/issues/3939 Не прошло и 15-и лет. Только 14.GitHub
proposal: spec: remove string(int) · Issue #3939 · golang/go
The conversion of an integer to a string was put in very early to bootstrap formatted printing, if I remember correctly. It's odd, though, and no longer necessary, if it ever was. It also cause...
👍8
CGo без C, только Go: https://github.com/golang/go/issues/81450
GitHub
proposal: cmd/cgo: cgo without a C toolchain · Issue #81450 · golang/go
Cgo Without C Toolchain Background Cgo provides a mechanism to incorporate C code into Go programs. Currently, it requires a C toolchain to be present on the host system whenever building code with...
👍13👏2👎1🤔1
Race Detector в Go – одна из моих любимых фич. Очень люблю читать подобные глубокие обзоры: https://theconsensus.dev/p/2026/09/06/data-races-and-the-limits-of-threadsanitizer-in-c-and-go.html
The Consensus
Data races and the limits of ThreadSanitizer in C and Go - The Consensus
Have you ever wondered what a data race is? How a race detector works? If there are bugs in your race detector? We take a look.
👍2
How to Go wrong
Race Detector в Go – одна из моих любимых фич. Очень люблю читать подобные глубокие обзоры: https://theconsensus.dev/p/2026/09/06/data-races-and-the-limits-of-threadsanitizer-in-c-and-go.html
А зачем нам нужен race detector? Правильно, чтобы бесстрашно использовать конкурентность в Go. Вот и новый пост (размером с мини-книгу) об этом подъехал: https://antonz.org/go-concurrency-distilled/
antonz.org
Go concurrency distilled
Interactive mini-book on concurrent programming in Go.
👏7👍4
How to Go wrong
И опять опрос, который вот-вот закончится: https://survey.alchemer.eu/s3/90907937/Go-2025 Результаты (весьма интересные) прошлого года: https://devcrowd.ru/go-2024 P.S. Мой поиск работы почти закончен. На следующей неделе начну выносить разные вспомогательные…
А вот и очередной опрос: https://survey.devcrowd.ru/go-2026.
Если вы человек, напишите там, что ли, что читаете этот канал, а то сейчас не поймёшь кто люди, кто нелюди. 😬
Если вы человек, напишите там, что ли, что читаете этот канал, а то сейчас не поймёшь кто люди, кто нелюди. 😬
👍7🤣1