hc и l2h переписаны на Zig — не все, многие алгоритмы остались в реализации на C (и даже ассемблере), на Zig переведено то, что реально быстрее работает (blake2 и sha3 алгоритмы). Набор алгоритмов и CLI hc сохранены относительно 5.x. При переписывании активно использовался (и далее будет использоваться) ИИ, но это не чистый вайб-кодинг проект, — ИИ используется в основном для рутины, для поиска ошибок и помощи в написании тестов.
Поговорим сегодня о новом языковом механизме языка Go, — generics или шаблонах, если говорить в терминах C++, появившемся в языке, начиная с версии 1.18. Речь пойдет не об объяснении этого механизма своими словами, а о популярном утверждении о том, что их удобно использовать для реализации обобщенных деревьев (структура данных), не приколоченных гвоздями к какому-то конкретному типу данных.
Закрою для себя раз и навсегда споры о том, что быстрее — метод HasFlag у перечислимого типа помеченного атрибутом [Flags] или ручные битовые операции. Такие вопросы периодически возникают и споры могут быть жаркими.
Некоторая занимательная статистика по утекшим исходным кодам Яндекса
Поговорим об очередной (вынужденной) смене технологической платформы этого сайта. Сайт жил, всем меня устраивал и я совершенно не собирался менять технологический бакграунд, но настал 2022 год, со всем известными событиями.