How to Go wrong
1.53K subscribers
11 photos
1 video
190 links
Download Telegram
Всех с наступающим или наступившим Новым годом.
Итоги подводить не буду, но поздравлю всех с тем, что один из старейших багов в спеке Go наконец-то закрыли. После релиза 1.24 наконец-то можно будет нормально говорить про слайсы, мапы или каналы без уродливых объяснений «ну, это как ссылки, только ссылок в Go нет».
👍24
Что более эффективно с точки зрения потребления памяти: map[int64]struct{} или map[int64]bool?
Anonymous Quiz
75%
map[int64]struct{}
10%
map[int64]bool
15%
¯\_(ツ)_/¯
😢21🤔6👏3👍2👎1
Компилятор TypeScript переписывают на Go. Анонс и видео тут, транскрипт ключевой части на Reddit, а на картинке – ответ Anders’а Hejlsberg’а (создателя TypeScript, C#, Delphi и Turbo Pascal’я). Сам ответ вот тут, но потрясающий UI GitHub’а вам его не только скроет, но и будет скрывать при каждом новом ответе – а ответы там появляются часто, потому что у любителей C# и Rust’а там конкретно подгорает.
👏37👍6🤔4
Выступал недавно на митапе Armenia PostgreSQL (который и соорганизовывал – никуда не деться от старых привычек) про использование FerretDB (написанного, напомню, на Go с горутинами/потоками) внутри PostgreSQL (написанного на C с форками). Если фразы в скобках не вызвали у вас ужаса, то вы просто не форкали процессы с тредами 🙂

Видео – тут, слайды – тут, реальный код – вот тут.
4👍24
Писал-писал большой пост про новый testing.B.Loop и как его никто не понимает, но меня опередили:
* https://go.dev/blog/testing-b-loop
* https://github.com/golang/go/issues/73137

Единственное, что не упомянуто, так это то, что эта оптимизация не покрывает testing.PB.Next. Но это не точно.
👍4👏1
Будет официальный SDK для Model Context Protocol’а на Go. Когда-нибудь: https://github.com/orgs/modelcontextprotocol/discussions/224#discussioncomment-12730162
Очень надеюсь, что будет лучше, чем существующие, которые как-будто с JS портированы один-в-один.
👍15
Forwarded from Go Update
😢 Ян Ланс Тейлор покидает Google 😢

После 19 (!!!) лет работы и более 16 лет работы над нашим языком Go, Ян Ланс Тейлор объявил о том, что покидает Google.

В числе его заслуг:
— Работа компилятора Go.
— GCCGO фронтенд который позволяет собирать программы на Go с использованием компилятора GCC.
— Дженерики, которые появились в версии 1.18.
— Поддержка Go во внутренней системе сборки SWIG Google.
— Куча предложений и работ над улучшением языка.

Сам Ян говорит, что очень доволен своей работой. Go развивается и его принятие рынком растет гораздо быстрее чем оригинальная команда могла даже вообразить когда начинала работу над языком. Однако вместе с этим ему видно, что сам Google изменился, язык Go изменился и вообще ландшафт языков программирования изменился с тех пор как он начал эту работу. В течении последнего года он понял, что больше не подходит для работой над Go внутри Google. И пришла пора двигаться дальше.

На некоторое время возьмет перерыв от работы, но надеется, что ему еще удастся поработать над Go в будущем.

П.С. Мужик, конечно, легенда — работает на OSS и GNU проектами с 1990 года. Желаю ему хорошо отдохнуть и продолжать делать крутые вещи.

П.П.С. После ухода Яна и ухода Расса с должности руководителя Go (но не ухода из Google!) из старой гвардии остался только Роберт Гризмер. С одной стороны это хорошо — значит язык не зависит от конкретных людей. С другой есть волнение за будущее языка и то как новые лица справятся с таким наследием. Поживем — увидим!
👍32😢13👎1🤔1
How to Go wrong
Точно не за горами: https://t.iss.one/go_perf/330
Не пройдёт и двух лет, как encoding/json/v2 завезут в стандартную библиотеку Go 1.25 (но пока через GOEXPERIMENT).
Хороший интерактивный обзор: https://antonz.org/go-json-v2/
👍13
Теперь людям, продолжающим думать, что в Go нет дженериков, можно не просто ссылку на документацию кидать, а сразу на этот блог пост: https://go.dev/blog/generic-interfaces

(и обратите внимание на автора — это https://github.com/Merovius, которого вы знаете по всем обсуждениям, и он даже не сотрудник Гугла)
👍5👏4😢1