
Состоялся выпуск языка программирования под названием Solod (So). Это решение предоставляет подмножество языка Go, транскомпилируемое в представление на языке C (C11). Проект можно использовать для сборки компиляторами GCC, Clang и zig cc.
Ключевым отличием языка Solod от Go и Tinygo является использование ручного управления памятью, работающего без применения сборщика мусора, без автоматического выделения памяти и без подсчёта ссылок. Транспайлер для Solod написан на языке Go и опубликован под лицензией BSD. Решением поддерживается работа в Linux, macOS и Windows.

По информации OpenNET, язык Solod поддерживает структуры, методы, интерфейсы, слайсы, возврат функциями нескольких значений, например, результат и код ошибки, дженерики и отложенные вызовы (defer). С целью упрощения в проекте не поддерживаются каналы, сопрограммы и замыкания.
При разработке на языке Solod могут использоваться существующие LSP‑серверы, линтеры, интегрированные среды разработки и редакторы кода, поддерживающие язык Go, а также инструментарий go test.

Написанный на Solod код может интегрироваться с приложениями на языке C (язык C может вызвать функции на Solod и наоборот) и не требует прикрепления runtime. Из ключевых областей применения отмечается системное программирование с близкими к C возможностями, но с синтаксисом в стиле Go и обеспечением проверки типов. Solod также может применяться для портирования Go-библиотек для использования в проектах на C. На язык C портированы Go-пакеты strings, io, bytes, mem, slices.
Помимо набора портированных Go-библиотек в программах на языке Solod можно использовать обвязки над стандартной библиотекой libc.
По умолчанию вся память в Solod выделяется в стеке, но через функции Alloc/Free стандартной библиотеки можно выделять память в куче. Сборка мусора и подсчёт ссылок в проекте не используются, но в Solod предоставляются возможности для проверки типов и аварийного завершения при обращении за границу массива. При этом проверки на возвращение висячих указателей (dangling pointer) и отсутствие освобождения памяти не производятся. В качестве основного способа выявления проблем при работе с памятью в Solod упоминается использование AddressSanitizer (‑fsanitize=address) в современных компиляторах.
По производительности скомпилированные приложения, написанные на Solod, в большинстве случаев быстрее программ на Go. Например, производительность работы функций из пакета Byte быстрее в полтора раза при идентичном потреблении памяти. Работа с байтовыми буферами быстрее в 1.3 раза при чтении и в 2–4 раза при записи. В пакете Map выборка по целочисленному ключу быстрее в 3.4 раза, но модификация ключей медленнее в 1.6 раза. Выборка по строковым ключам на одном уровне с языком Go, но модификация медленнее в 1.5 раза. Парсинг и форматирование целых чисел быстрее в 2 раза, а с плавающей запятой — в 1.5/1.2 раза. Строковые функции быстрее в 1.3 раза, а создание строк быстрее в 2–4 раза при снижении потребления памяти на 10–20%.

