{"id":168367,"date":"2026-04-11T11:12:10","date_gmt":"2026-04-11T09:12:10","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/solod-podmnozhestvo-yazyka-go-transliruemoe-v-yazyk-si"},"modified":"2026-04-11T11:12:10","modified_gmt":"2026-04-11T09:12:10","slug":"solod-podmnozhestvo-yazyka-go-transliruemoe-v-yazyk-si","status":"publish","type":"post","link":"https:\/\/prohoster.info\/fr\/blog\/news\/solod-podmnozhestvo-yazyka-go-transliruemoe-v-yazyk-si","title":{"rendered":"Solod est un sous-ensemble du langage Go, transpil\u00e9 en langage C","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><noindex>      <noindex><\/p>\n<p><a rel=\"nofollow\" href=\"https:\/\/antonz.org\/solod\">Pr\u00e9sent\u00e9<\/a> langage de programmation <a rel=\"nofollow\" href=\"https:\/\/solod.dev\">Solod (So)<\/a>, fournissant un sous-ensemble du langage Go, transcompil\u00e9 en une repr\u00e9sentation en C (C11), adapt\u00e9 pour la compilation avec les compilateurs GCC, Clang et zig cc. La principale diff\u00e9rence entre Solod et Go est l'utilisation d'une gestion manuelle de la m\u00e9moire, fonctionnant sans ramasse-miettes, sans allocation automatique de m\u00e9moire et sans comptage de r\u00e9f\u00e9rences. Le transpileur pour Solod est \u00e9crit en Go et <a rel=\"nofollow\" href=\"https:\/\/github.com\/solod-dev\/solod\">est distribu\u00e9<\/a> sous licence BSD. Il fonctionne sous Linux, macOS et Windows.<\/p>\n<p><\/noindex><\/noindex> <noindex><\/p>\n<p>Le langage prend en charge les structures, m\u00e9thodes, interfaces, slices, le retour de plusieurs valeurs par les fonctions (par exemple, r\u00e9sultat + code d'erreur), <a rel=\"nofollow\" href=\"https:\/\/github.com\/solod-dev\/solod\/blob\/main\/doc\/generics.md\">g\u00e9n\u00e9riques<\/a> et les appels diff\u00e9r\u00e9s (<a rel=\"nofollow\" href=\"https:\/\/github.com\/solod-dev\/solod\/blob\/main\/doc\/spec.md#defer\">defer<\/a>). Dans le but de simplifier, le langage ne prend pas en charge les canaux, les coroutines et les closures. Lors du d\u00e9veloppement dans le langage Solod, il est possible d'utiliser les serveurs LSP existants, les linters, les environnements de d\u00e9veloppement int\u00e9gr\u00e9s et les \u00e9diteurs de code qui prennent en charge le langage Go, ainsi que l'outil \u00ab go test \u00bb.<\/p>\n<p><\/noindex> <\/p>\n<p>Le code \u00e9crit en Solod peut s'int\u00e9grer aux applications en C (le langage C peut appeler des fonctions en Solod et vice versa) et ne n\u00e9cessite pas de runtime attach\u00e9. Parmi les principales applications, on note la programmation syst\u00e8me avec des fonctionnalit\u00e9s proches de C, mais avec une syntaxe de style Go et une v\u00e9rification des types. Solod peut \u00e9galement \u00eatre utilis\u00e9 pour porter des biblioth\u00e8ques Go \u00e0 utiliser dans des projets en C. Port\u00e9s en C, on trouve des packages Go :<\/p>\n<ul>\n<li><a rel=\"nofollow\" href=\"https:\/\/antonz.org\/porting-go-strings\">strings<\/a><\/li>\n<li><a rel=\"nofollow\" href=\"https:\/\/antonz.org\/porting-go-io\">io (antonz.org)<\/a><\/li>\n<li>bytes<\/li>\n<li>mem<\/li>\n<li>slices<\/li>\n<\/ul>\n<p> <noindex><\/p>\n<p>et <a rel=\"nofollow\" href=\"https:\/\/github.com\/solod-dev\/solod\/tree\/main\/so\">etc.<\/a> En plus de <a rel=\"nofollow\" href=\"https:\/\/github.com\/solod-dev\/solod\/blob\/main\/doc\/stdlib.md\">un ensemble<\/a> des biblioth\u00e8ques Go port\u00e9es dans les programmes Solod peuvent utiliser <a rel=\"nofollow\" href=\"https:\/\/github.com\/solod-dev\/solod\/tree\/main\/so\/c\">des wrappers<\/a> au-dessus de la biblioth\u00e8que standard C libc.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>Par d\u00e9faut, toute la m\u00e9moire est allou\u00e9e sur la pile, mais via les fonctions <a rel=\"nofollow\" href=\"https:\/\/github.com\/solod-dev\/solod\/blob\/main\/doc\/stdlib.md#somem\">Alloc \/ Free<\/a> de la biblioth\u00e8que standard, il est possible d'allouer de la m\u00e9moire sur le tas. Le ramassage des ordures et le comptage des r\u00e9f\u00e9rences ne sont pas utilis\u00e9s, mais Solod fournit des m\u00e9canismes pour la v\u00e9rification des types et l'arr\u00eat d'urgence lors de l'acc\u00e8s hors des limites d'un tableau. Aucune v\u00e9rification pour \u00e9viter les pointeurs pendants ou le manque de lib\u00e9ration de m\u00e9moire n'est effectu\u00e9e. Comme principal moyen de d\u00e9tection des probl\u00e8mes de m\u00e9moire, on mentionne l'utilisation d'AddressSanitizer -fsanitize=address dans les compilateurs modernes.<\/p>\n<p><\/noindex> <noindex><\/p>\n<p>En termes de performance, les programmes compil\u00e9s en Solod, dans la plupart des cas, <a rel=\"nofollow\" href=\"https:\/\/github.com\/solod-dev\/solod\/blob\/main\/bench\/README.md\">plus rapide<\/a> sont des programmes en Go :<\/p>\n<p><\/noindex> <\/p>\n<ul>\n<li>Les performances des fonctions du paquet Byte sont 1,5 fois plus rapides avec une consommation de m\u00e9moire identique.<\/li>\n<li>Le travail avec des tampons de bytes est 1,3 fois plus rapide en lecture et de 2 \u00e0 4 fois plus rapide en \u00e9criture.<\/li>\n<li>Dans le paquet Map, l'interrogation par cl\u00e9 enti\u00e8re est 3,4 fois plus rapide, mais la modification des cl\u00e9s est 1,6 fois plus lente.<\/li>\n<li>L'interrogation par cl\u00e9s de cha\u00eenes de caract\u00e8res est au m\u00eame niveau que le langage Go, mais la modification est 1,5 fois plus lente.<\/li>\n<li>le parsing et le formatage des nombres entiers sont deux fois plus rapides, tandis que pour les nombres \u00e0 virgule flottante, c'est 1,5\/1,2 fois plus rapide ;<\/li>\n<li>Les fonctions de cha\u00eene sont 1,3 fois plus rapides, et la cr\u00e9ation de cha\u00eenes est 2 \u00e0 4 fois plus rapide avec une r\u00e9duction de la consommation de m\u00e9moire de 10 \u00e0 20%.<\/li>\n<\/ul>\n<p>Source : <a \ncontent=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.linux.org.ru\/news\/development\/18263523\">linux.org.ru<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Solod (So), \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u044f\u0437\u044b\u043a\u0430 Go, \u0442\u0440\u0430\u043d\u0441\u043a\u043e\u043c\u043f\u0438\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0435 \u0432 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 \u0421\u0438 (C11), \u043f\u0440\u0438\u0433\u043e\u0434\u043d\u043e\u0435 \u0434\u043b\u044f \u0441\u0431\u043e\u0440\u043a\u0438 \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0430\u043c\u0438 GCC, Clang \u0438 zig cc. \u041a\u043b\u044e\u0447\u0435\u0432\u044b\u043c \u043e\u0442\u043b\u0438\u0447\u0438\u0435\u043c Solod \u043e\u0442 Go \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0443\u0447\u043d\u043e\u0433\u043e \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u044c\u044e, \u0440\u0430\u0431\u043e\u0442\u0430\u044e\u0449\u0435\u0433\u043e \u0431\u0435\u0437 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f \u0441\u0431\u043e\u0440\u0449\u0438\u043a\u0430 \u043c\u0443\u0441\u043e\u0440\u0430, \u0431\u0435\u0437 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0431\u0435\u0437 \u043f\u043e\u0434\u0441\u0447\u0451\u0442\u0430 \u0441\u0441\u044b\u043b\u043e\u043a. \u0422\u0440\u0430\u043d\u0441\u043f\u0430\u0439\u043b\u0435\u0440 \u0434\u043b\u044f Solod \u043d\u0430\u043f\u0438\u0441\u0430\u043d \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Go [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":8,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-168367","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Solod (So), \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u044f\u0437\u044b\u043a\u0430 Go.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Erik Peterson\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/fr\/blog\/news\/solod-podmnozhestvo-yazyka-go-transliruemoe-v-yazyk-si\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"fr_FR\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Solod \u2014 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u044f\u0437\u044b\u043a\u0430 Go, \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0435 \u0432 \u044f\u0437\u044b\u043a \u0421\u0438 | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Solod (So), \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u044f\u0437\u044b\u043a\u0430 Go.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/fr\/blog\/news\/solod-podmnozhestvo-yazyka-go-transliruemoe-v-yazyk-si\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2026-04-11T09:12:10+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-04-11T09:12:10+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Solod \u2014 un sous-ensemble du langage Go, traduisible en langage C | ProHoster","description":"Le langage de programmation Solod (So) a \u00e9t\u00e9 pr\u00e9sent\u00e9, offrant un sous-ensemble du langage Go.","canonical_url":"https:\/\/prohoster.info\/fr\/blog\/news\/solod-podmnozhestvo-yazyka-go-transliruemoe-v-yazyk-si","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"fr_FR","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Solod \u2014 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u044f\u0437\u044b\u043a\u0430 Go, \u0442\u0440\u0430\u043d\u0441\u043b\u0438\u0440\u0443\u0435\u043c\u043e\u0435 \u0432 \u044f\u0437\u044b\u043a \u0421\u0438 | ProHoster","og:description":"\u041f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d \u044f\u0437\u044b\u043a \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f Solod (So), \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0438\u0439 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u044f\u0437\u044b\u043a\u0430 Go.","og:url":"https:\/\/prohoster.info\/fr\/blog\/news\/solod-podmnozhestvo-yazyka-go-transliruemoe-v-yazyk-si","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2026-04-11T09:12:10+00:00","article:modified_time":"2026-04-11T09:12:10+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":[],"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/168367","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/comments?post=168367"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/posts\/168367\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/media?parent=168367"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/categories?post=168367"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/fr\/wp-json\/wp\/v2\/tags?post=168367"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}