The OpenNET Project / Index page

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

Проект Solod развивает подмножество языка Go, транслируемое в язык Си

07.04.2026 11:53 (MSK)

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

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

Написанный на Solod код может интегрироваться с приложениями на языке Си (язык Си может вызвать функции на Solod и наоборот) и не требует прикрепления runtime. Из ключевых областей применения отмечается системное программирование с близкими к Си возможностями, но с синтаксисом в стиле Go и обеспечением проверки типов. Solod также может применяться для портирования Go-библиотек для использования в проектах на Си. На язык Си портированы Go-пакеты strings, io, bytes, mem, slices и т.п. Помимо набора портированных Go-библиотек в программах на языке Solod можно использовать обвязки над стандартной Си-библиотекой libc.

По умолчанию вся память выделяется в стеке, но через функции Alloc / Free стандартной библиотеки можно выделять память в куче. Сборка мусора и подсчёт ссылок не используются, но в Solod предоставляются возможности для проверки типов и аварийного завершения при обращении за границу массива. При этом проверки на возвращение висячих указателей (dangling pointer) и отсутствие освобождения памяти не производятся. В качестве основного способа выявления проблем при работе с памятью упоминается использование 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%.

  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: Выпуск языка программирования Go 1.26
  3. OpenNews: Выпуск Tinygo 0.40, компилятора для языка Go
  4. OpenNews: Оценка потребления памяти при одновременном запуске миллиона задач
  5. OpenNews: Выпуск транслятора языка программирования Vala 0.56.0
  6. OpenNews: Выпуск языка программирования Nim 2.2.8
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65160-solod
Ключевые слова: solod, go
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (78) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Axonic (ok), 12:41, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    Изобрели Nim и Vala
     
     
  • 2.36, Аноним (36), 15:28, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Модно теперь их друг в друга транслировать.
     
     
  • 3.70, Bottle (?), 17:04, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Жду не дождусь технического стека:
    Kotlin (JVM) -> WebAssembly -> LLVM IR -> нативные бинарники (с GPU-ускорением).
    Есть идеи, как усложнить цепочку?
     
     
  • 4.77, topin89 (ok), 17:51, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Легко
    Kotlin (JVM) -> Nim -> C -> WebAssembly -> LLVM IR -> нативные бинарники (с GPU-ускорением).
     
  • 4.78, Аноним (78), 17:53, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Есть идеи, как усложнить цепочку?

    конечно, Rust :)

     
  • 4.95, Dzen Python (ok), 21:56, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Есть идеи, как усложнить цепочку?

    Kotlin (JVM) -> Java 11 (JVM) -> C# (.NET IR) -> VB.Net (IR) -> F# (.NET IR) -> Haskell -> Erlang (свежий) -> TCL (без TK) -> Python 2 -> Python 3 -> Perl (c древнеримским синтаксисом) -> Common Lisp -> Scala (JVM) -> Groovy (JVM) -> Kotlin (JVM) -> Java 11 (JVM) -> 1С (8.3.25+) -> JS (V8/IonMonkey) -> C (C98) -> ASM (MASM/FASM) -> бинарный файл.

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

     
  • 4.101, ПомидорИзДолины (?), 22:24, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Для JVM был ProjectGraal, емнип.
     

  • 1.5, Аноним83 (?), 13:02, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Из ключевых областей применения отмечается системное программирование с близкими к Си возможностями

    Да да, все такие важные.
    На вижал бейские тоже можно было писать системные приложения, да и на перле можно.

    Да и зачем оно надо, когда есть LUA и Vala.

     
  • 1.7, Жироватт (ok), 13:11, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    Нужно изобрести язык Golod. Который будет как Git Crab, подъедать исходники при транспиляции в С, а затем в JS.
    И преобразователь текста УНИТАЗ.

    > не поддерживаются каналы, сопрограммы и замыкания

    Горутины - то, ради чего стоит в принципе if err!=nil терпеть

     
     
  • 2.10, Аноним (10), 13:26, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Горутины - то, ради чего стоит в принципе if err!=nil терпеть

    Терпеть if err!=nil стоит разве что за деньги, желательно немаленькие. А многопоточность есть не только в голанге, но и в куче других языков.

     
     
  • 3.61, Жироватт (ok), 16:26, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В и-ГО-go с ними работать куда как проще. Так что постоянное if err!=nil +- компенсируется. Но язык, в котором осталось только это?
     
  • 2.15, Аноним (15), 13:46, 07/04/2026 Скрыто ботом-модератором     [к модератору]
  • –2 +/
     
  • 2.26, Аноним (26), 15:03, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >преобразователь текста УНИТАЗ

    УНИверсальный Текстовый АналиЗатор?

     
     
  • 3.60, Жироватт (ok), 16:24, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Он самый. Автор <имперский_импорт> умеет в названия
     
  • 2.29, Аноним (29), 15:21, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    без горутин он получается односолодовый
     
     
  • 3.59, Жироватт (ok), 16:17, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Светлый и фильтрованный.
    Можно сказать даже - нулёвка, где из солода - только запах
     
     
  • 4.69, Аноним (29), 17:02, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ты не сравнивай односолодовый вискарь и пиво, это разные весовые категории
     
  • 2.103, Аноним (103), 23:11, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А к языку Golod бутстрап, нужно что-то звучное, что тип убивает необходимость... о! Мор!

    Golodomor!

     

  • 1.8, Аноним (8), 13:25, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Solod - хорошее программистское название ;)
    Надеюсь, эти без телеметрии обходятся.
     
  • 1.9, крокодил (?), 13:25, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    а зачем? какая цель? just for fun? что бы был?

    Можно же сделать что-то принципиально новое. Зачем еще один велосипед?

     
     
  • 2.12, Аноним (12), 13:37, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • –3 +/
    > Можно же сделать что-то принципиально новое

    Принципиально новое уже сделано: раст.

     
     
  • 3.86, aname (ok), 18:40, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Написано же: ПРИНЦИПИАЛЬНО
     
  • 2.14, Аноним (14), 13:45, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Вы очень внимательно прочитали последний абзац новости.
     
     
  • 3.22, Аноним (22), 14:51, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    В последнем абзаце не сказано зачем. Если я напишу, что я быстро бегаю - из этого никак не следует, что мне надо ехать на олимпиаду.
     
  • 2.74, аролп5 (?), 17:17, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Для пункта в портфолио у "Anton Zhiyanov", чтобы взяли работать в гугл
     
     
  • 3.81, пох. (?), 18:04, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    но с таким фамилием возьмут только в яндекс.

     
     
  • 4.87, aname (ok), 18:41, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В эпоху ИИ, хоть бы взяли.
     
     
  • 5.89, пох. (?), 19:14, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ну кто-то ж должен за тем ЫЫ горшок выносить?!

     

  • 1.13, Аноним (13), 13:41, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Наконец-то и на Go можно выстрелить себе в ногу)
     
     
  • 2.52, Аноним (8), 16:04, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Тогда назвать этот диалект Goo.
     

  • 1.16, Hack3r (?), 13:57, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Trademark!
    https://dlang.org/spec/betterc.html
     
  • 1.18, Аноним (-), 14:25, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Представлен язык программирования Solod (So), предоставляющий подмножество языка Go,
    > транскомпилируемое в представление на языке Си (C11), пригодное для сборки компиляторами GCC, Clang и zig cc

    Идея прикольная. Но ему как я понимаю нужен - go :\. Без этого сие как я понимаю не операбельно, это FAIL я считаю. Могли бы сделать транспилируемыми сам себя, и собираться собой. Без требования гуглокрапа.

     
  • 1.21, Аноним (22), 14:48, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    То есть они открутили горутины, замыкания и тп и сборщик мусора. Получили на выходе покоцанный Си с другим синтаксисом. Чтобы что?
     
     
  • 2.23, Аноним (23), 14:56, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    в си нет женериков, в си нет слайсов и строк с длиной
     
     
  • 3.24, Аноним (23), 14:56, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    и точно и дефер будет только в с29..
     
     
  • 4.34, Аноним (36), 15:26, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ты путаешь си и си++
     
     
  • 5.40, Аноним (-), 15:34, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >  Ты путаешь си и си++

    Не, таки в C2Y грозились - defer запилить. Вот прям так.

     
  • 3.45, Аноним (8), 15:50, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Всё это можно съэмулировать человеконечитаемым лапшекодом, но зато успешно компилируемым. Так а цель сгенериванного кода же не для чтения человеком.
     

  • 1.25, th3m3 (ok), 14:58, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    В итоге, результат - сомнительный. Лучше сразу тогда на C писать.
     
     
  • 2.33, Аноним (36), 15:25, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И выйти за границу буфера.
     
     
  • 3.37, Аноним (37), 15:29, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    проверки надо делать, assert'ы и всё такое
     
     
  • 4.44, Аноним (36), 15:46, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Зачем это делать самому это должен делать язык, иначе зачем он нужен?
     
     
  • 5.54, Аноним (14), 16:07, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Кому должен? Почему? С каких пор? Сколько и в какой валюте?
     
     
  • 6.92, Аноним (36), 20:43, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Должен тем кто его будет использовать иначе язык не будет существовать.
     
  • 5.55, Аноним (55), 16:10, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> проверки надо делать, assert'ы и всё такое
    > Зачем это делать самому это должен делать язык, иначе зачем он нужен?

    Это такая мантра у местных сишочников: не страдал - не эксперт! "Здесь мерилом работы считают усталость".

    Ты еще скажи, что задачу нужно решать нажатием пары кнопок, а не многочасовым сношением с консолью и манами - тут такой вой подымется!

     
     
  • 6.80, Bottle (?), 18:02, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А когда напоминаешь, что гениальные юникс-диды (которые воевaли за ручное управление памятью) пожалели каких-то 32 бит для юникс-тайма, пару буков для copy (вместо cp) и одну для create (creat), весь флёр гениев-академиков как-то слетает быстро.
     
     
  • 7.84, Аноним (55), 18:25, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > А когда напоминаешь, что гениальные юникс-диды (которые воевaли за ручное управление памятью) пожалели каких-то 32 бит для юникс-тайма

    Гениальные юникс-деды пожалели даже нормальные массивы добавить в свой язык, лол. А ты о лишних 32 битах и 2 нажатиях клавиш. Ребятам просто некогда было: "тяп-ляп - и в продакшн" в те времена, очевидно, не сильно отличался от того, что есть сейчас.

    Зато сколько лулзов было, когда при попытках обернуть в "стандарт" этот состряпанный впопыхах недоязык им пришлось писать "undefined behavior" на каждый чих! XD

     
     
  • 8.102, Аноним (102), 22:33, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Нормальный массив - это какой Напомню язык C задуман как переносимый язык ассе... текст свёрнут, показать
     
  • 5.67, Аноним83 (?), 16:57, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тогда С вам не подходит.
    С такими требованиями вам нужно что то другое, для других целей с другим результатом.
     
     
  • 6.93, Аноним (36), 20:45, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Чел ты новость читал? Уже все придумано пишешь на новом языке.  Получаешь безопасный код на си без страданий.
     
     
  • 7.97, Аноним (55), 21:59, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Получаешь безопасный код на си без страданий.

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

     
  • 5.100, Аноним (102), 22:14, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >>Зачем это делать самому это должен делать язык, иначе зачем он нужен?

    "Из ключевых областей применения отмечается системное программирование с близкими к Си возможностями, но с синтаксисом в стиле Go и обеспечением проверки типов"

    Системное программирование - это работа с ресурсами системы (память, процессы, псевдотерминалы, сокеты и т.д.), и желательно на максимальной скорости, поэтому язык должен уметь поддерживать низкоуровневое программирование, без всяких там автоматических run-time проверок.

     
  • 3.53, Аноним (53), 16:05, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В Си нету буферов, вас обманули. Используйте библиотеки, если сами не можете писать код, который не будет убегать за установленные границы. Внутри буфера скорее всего есть и другие границы, например того что туда написали. Будете теперь на каждый чих создавать новый буфер и потом делать join() с копированием всех данных по 100 раз?
     
     
  • 4.57, Аноним (55), 16:13, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > В Си нету буферов, вас обманули.

    А разве buffer overflow - это не классическая ошибка из С?

    > Используйте библиотеки, если сами не можете писать код, который не будет убегать за установленные границы.

    Проще просто взять нормальный язык.

    > Будете теперь на каждый чих создавать новый буфер и потом делать join() с копированием всех данных по 100 раз?

    Приведи конкретный пример, а то непонятно, о каких конкретно join() и копированиях идет речь.

     
     
  • 5.71, Аноним (71), 17:05, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    buffer overflow это классическая ошибка прокладок между креслом и монитором
     
     
  • 6.76, Аноним (55), 17:38, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> А разве buffer overflow - это не классическая ошибка из С?
    > buffer overflow это классическая ошибка прокладок между креслом и монитором

    Я этого вроде и не отрицал. Но какое решение ты предлагаешь?

     
  • 6.90, Аноним (90), 19:15, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > buffer overflow это классическая ошибка прокладок между креслом и монитором

    Учитывая, что buffer overflow делают практически сугубо на С, есть два варианта: либо проблема в языке, либо на С по большей части пишут какие-то особо неумелые программисты.

    Ты, как я понял, намекаешь на второе?

     
  • 3.62, Аноним (62), 16:28, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это единственное, что смогли бы на C адепты Раста.
     
  • 2.46, Аноним (8), 15:53, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Вот нет, всё-таки Go позволяет несколько большую высокоуровневость, чем C. Точнее, больший диапазон от низко- до более высокоуровневости.
     

  • 1.30, Аноним (30), 15:21, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    > C целью упрощения в языке не поддерживаются каналы, сопрограммы и замыкания

    То есть убрали то почему язык называется go. И тогда причем тут вообще go?
    У парней которые делают V, легковесную замену голанга, тоже с трансляцией на C, аналог горутин сразу в первом релизе был.

     
  • 1.32, Аноним (36), 15:25, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Напишите язык с синтаксисом Go и неотключаемым боров чекером. И получится Раст с нормальным синтаксисом.  

     
     
  • 2.42, Аноним (12), 15:43, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    "Раст с нормальным синтаксисом" - это С++
     
     
  • 3.43, Аноним (36), 15:45, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > "Раст с нормальным синтаксисом" - это С++

    Там борова подключить сложно.

     
     
  • 4.47, Аноним (8), 15:58, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это потому, что Комитет этим ещё не озадачился.
     
  • 2.48, Аноним (29), 16:00, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    если бы ты заглянул в самые последние стандарты С++ и Java и заценил читаемость, то они попали бы в одну компанию с Растом.
     
     
  • 3.51, sage (??), 16:02, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Как что-то плохое. Плохой танцор просто не умеет грамотно отступы и переносы строк расставлять.
     
     
  • 4.63, Аноним (62), 16:30, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А кто умеет в отступы, тому и Раст ненужон. Тому Питончик впору.
     
     
  • 5.68, Аноним (29), 17:00, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    спасибо, на фортране наелся ещё
     
     
  • 6.82, пох. (?), 18:06, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    там от лишнего пробела ничего не портилось. Не умели диды нормально пакостить.

     

  • 1.49, sage (??), 16:00, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > не требует прикрепления runtime

    Что, даже glibc? Или ваша рантайм - это не рантайм?

    > C целью упрощения в языке не поддерживаются каналы, сопрограммы и замыкания

    Давайте выкинем go из go, чтобы получить си на несишном синтаксисе!

     
     
  • 2.56, Аноним (53), 16:13, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > glibc Или ваша рантайм - это не рантайм?

    Глыбаси - это набор библиотечных функций, они сами по себе ничего не делают внутри твоего кода. Го-корутины, каналы и прочие штуки спавнят параллельные потоки (процессы), которыми кто-то должен рулить и это точно не программист на Go, который не отличает мультипоточность от кооперативной мультизадачности.

     

  • 1.66, Аноним (66), 16:50, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Нужен язык с прямой трансляцией из АИ
     
     
  • 2.79, Аноним (62), 17:56, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В мозг программиста?
     

  • 1.72, Сладкая булочка (?), 17:12, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > C целью упрощения в языке не поддерживаются каналы, сопрограммы и замыкания

    То есть убрали то, в чем смысл go. А defer и в новом стандарте си есть, даже в clang уже работает.

     
     
  • 2.96, Аноним (102), 21:58, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Людям нравится синтаксис Go наверное
     

  • 1.73, Сладкая булочка (?), 17:13, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > При этом проверки на возвращение висячих указателей (dangling pointer) и отсутствие освобождения памяти не производятся. В качестве основного способа выявления проблем при работе с памятью упоминается использование AddressSanitizer (-fsanitize=address) в современных компиляторах.

    Что мешает в си его использовать?

     
     
  • 2.98, Аноним (102), 22:00, 07/04/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Утечки и в Go тоже бывают, поэтому в нём тоже есть sanitizer.
     

  • 1.83, TsodingFan (?), 18:25, 07/04/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чем-то похоже на PyPy, точнее на rpython внутри. И ещё на Cython похоже, конечно. Наверное, может быть полезно для раскручивания компилятора Go.
    Ждём спидран по raylib от Тсодинга. Хотя, с сишным FFI это задача очень простая.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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