{"id":167787,"date":"2026-04-07T17:11:56","date_gmt":"2026-04-07T15:11:56","guid":{"rendered":"https:\/\/prohoster.info\/blog\/novosti-interneta\/proekt-solod-razvivaet-podmnozhestvo-yazyka-go-transliruemoe-v-yazyk-si"},"modified":"2026-04-07T17:11:56","modified_gmt":"2026-04-07T15:11:56","slug":"proekt-solod-razvivaet-podmnozhestvo-yazyka-go-transliruemoe-v-yazyk-si","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/news\/proekt-solod-razvivaet-podmnozhestvo-yazyka-go-transliruemoe-v-yazyk-si","title":{"rendered":"Projekt Solod arendab Go keele alamhulka, mis kompileeritakse C keelde.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Esitatud on programmeerimiskeel Solod (So), mis pakub Go keele alams\u00fcsteemi, mis transkompileeritakse C keeles (C11) esitlusse, sobilik GCC, Clang ja zig cc kompilaatoritega. Solodi peamine erinevus Go ja Tinygo vahel on k\u00e4sitsi m\u00e4lu haldamise kasutamine, mis t\u00f6\u00f6tab ilma pr\u00fcgikoristajata, automaatse m\u00e4lu eraldamiseta ja viidete loendamiseta. Solodi transpaileri on kirjutatud Go keeles ja see on levitatud BSD litsentsi alusel. Toetatakse t\u00f6\u00f6tamist Linuxis, macOS-is ja Windowsis.      <\/p>\n<p>Keel toetab struktuure, meetodeid, liideseid, loendeid, mitme v\u00e4\u00e4rtuse tagastamist funktsioonidega (n\u00e4iteks tulemus + veakood), geneerikat ja edasil\u00fckatud k\u00f5nesid (defer). Lihtsustamise eesm\u00e4rgil ei toetata keeles Solod kanaleid, koostoimeid ja sulgureid. Solodi keeles arendamisel v\u00f5ivad kasutada olemasolevaid LSP-servereid, lintreid, integreeritud arenduskeskkondi ja koodiredaktoreid, mis toetavad Go keelt, samuti t\u00f6\u00f6riistu \u201ego test\u201c.      <\/p>\n<p>Solodis kirjutatud kood v\u00f5ib integreeruda C keeles olevate rakendustega (C keel v\u00f5ib kutsuda Solodi funktsioone ja vastupidi) ning ei vaja runtime'i k\u00fclge kinnitus. Peamisteks rakendamisvaldkondadeks on s\u00fcsteemiprogrammeerimine, mille v\u00f5imalused on sarnased C keele omadele, kuid Go stiilis s\u00fcntaksiga ja t\u00fc\u00fcbikontrolliga. Solodi v\u00f5ib kasutada ka Go teekide portimiseks C projektidesse. C keelde on portitud Go pakette nagu strings, io, bytes, mem, slices jne. Lisaks portitud Go teekide kogumile saavad Solodis kirjutatud programmides kasutada ka standardse C teegi libc m\u00e4hiseid.    <\/p>\n<p>Vaikimisi eraldatakse kogu m\u00e4lu virna, kuid standardteegi Alloc \/ Free funktsioonide kaudu on v\u00f5imalik m\u00e4lu eraldada ka kuhja. Pr\u00fcgikogumis ja viidete loendamisel ei kasutata, kuid Solod pakub v\u00f5imalusi t\u00fc\u00fcbikontrolliks ja h\u00e4daolukorras l\u00f5ppemisel, kui p\u00f6\u00f6rdutakse massiivi piiridest v\u00e4lja. Samas ei tehta kontrollimisi, et v\u00e4ltida h\u00f5ljuvaid n\u00e4itajaid (dangling pointer) ja m\u00e4lu vabastamata j\u00e4tmist. Peamiseks probleemide tuvastamise viisiks m\u00e4lu t\u00f6\u00f6tlemisel on AddressSanitizer (-fsanitize=address) kasutamine kaasaegsetes kompilaatorites.      <\/p>\n<p>Performantsetel tasanditel on Solod keeles kirjutatud kompileeritud programmid enamasti kiirem kui Go keeles kirjutatud programmid. N\u00e4iteks on Byte paketi funktsioonide t\u00f6\u00f6kiirus poolteist korda kiirem sama m\u00e4lu tarbimise juures. Baidibuffere t\u00f6\u00f6tlemine on \u00fcheksa korda kiirem lugemisel ja kaks kuni neli korda kiiremad kirjutamisel. Map paketis on t\u00e4isarvulise v\u00f5tmega valik kolm ja pool korda kiirem, kuid v\u00f5tmete muutmine on aeglasem kuus ja pool korda. Stringiv\u00f5tmete valik on Go keelega samal tasemel, kuid muutmine on aeglasem poolteist korda. T\u00e4isarvude parsimine ja vormindamine on kaks korda kiirem ning ujukomade puhul poolteist ja \u00fcks komakohaga. Stringifunktsioonid on poolteist korda kiirem, ja stringide loomine on kaks kuni neli korda kiirem, samal ajal kui m\u00e4lu tarbimine v\u00e4heneb 10-20%.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=65160\">opennet.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 \u0438 Tinygo \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 [&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-167787","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - 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, \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.\" \/>\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\/et\/blog\/news\/proekt-solod-razvivaet-podmnozhestvo-yazyka-go-transliruemoe-v-yazyk-si\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\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\udd47\u041f\u0440\u043e\u0435\u043a\u0442 Solod \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \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, \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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/news\/proekt-solod-razvivaet-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-07T15:11:56+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2026-04-07T15:11:56+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 projekt arendab Go keele alamhulka, mis transponeeritakse C keelde | ProHoster","description":"Esitletud on programmeerimiskeel Solod (So), mis pakub Go keele alamhulka, mis transkompileeritakse C keele (C11) esitusviisiks, sobivaks GCC, Clang ja zig cc kompilaatorite kogumiseks.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/news\/proekt-solod-razvivaet-podmnozhestvo-yazyka-go-transliruemoe-v-yazyk-si","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\udd47\u041f\u0440\u043e\u0435\u043a\u0442 Solod \u0440\u0430\u0437\u0432\u0438\u0432\u0430\u0435\u0442 \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, \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.","og:url":"https:\/\/prohoster.info\/et\/blog\/news\/proekt-solod-razvivaet-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-07T15:11:56+00:00","article:modified_time":"2026-04-07T15:11:56+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\/et\/wp-json\/wp\/v2\/posts\/167787","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=167787"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/167787\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=167787"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=167787"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=167787"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}