Zergatik Ridgun
Zer egiten duen Ridgunek beste era batera.
Ridgunek Haskell, Rust, Go, Erlang eta array-lengoaien ideiak hartzen ditu, eta leku bakarrean biltzen: taula gisa antolatutako kodea, paralelismoa sintaxian, eta memoria zabor-biltzailerik eta mailegu-egiaztatzailerik gabe askatua. Hona hemen nola alderatzen den, eta non dauden oraindik beste lengoaiak aurretik.
| Ridgun | Rust | Go | Haskell | C | Python | Erlang / Elixir | |
|---|---|---|---|---|---|---|---|
| Memoria | Azken erabileraren ondoren askatzen da, konpiladoreak erabakita; balio partekatuak zenbatu egiten dira; eskualdeak. Biltzailerik gabe, eta bizi-iraupenik idatzi gabe. | Jabetza eta mailegua, konpilazio-garaian egiaztatuta; bizi-iraupenak kodean. | Zabor-biltzailea. | Zabor-biltzailea. | Eskuzkoa (malloc eta free). | Erreferentzia-zenbaketa eta ziklo-biltzaile bat. | Zabor-biltzailea prozesu bakoitzean. |
| Paralelismoa | Sintaxian: || lerroek mendekotasun-grafo bat osatzen dute; ||map, ||filter; agenteak eta kanalak. | Hariak eta async lengoaian; datu-paralelismoa liburutegien bidez. | Goroutine-ak eta kanalak. | Hariak, sparkak eta STM, liburutegien eta exekuzio-ingurunearen bidez. | Hariak eta OpenMP, liburutegien eta konpiladoreen bidez. | Hariak, GILak mugatuak ohiko konpilazioan; prozesuak lan paralelorako. | Prozesu arinak eta mezuak. |
| Kodearen antolaera | Funtzio bat taula bat da: sinadura goiburu gisa, klausula bat lerro bakoitzean, argumentuak zutabetan. stable format tresnak lerrokatuta mantentzen ditu. | Antolaera librea; rustfmt. | Antolaera librea; gofmt. | Antolaerarekiko sentikorra; komunitatearen formateatzaileak. | Antolaera librea; hainbat formateatzaile. | Koskekiko sentikorra; komunitatearen formateatzaileak. | Antolaera librea; mix format Elixirrerako. |
| Motak | Estatikoak, sinaduretan adierazita; datu-mota aljebraikoak; generikoak A..Z idatzita; tentsoreak, beren formak konpilazio-garaian egiaztatuta. | Estatikoak, funtzioen barruan inferituak; traits. | Estatikoak; generikoak 1.18 bertsiotik. | Estatikoak, inferituak; mota-klaseak. | Estatikoak, ahulak. | Dinamikoak; aukerako oharrak. | Dinamikoak; aukerako egiaztapena. |
| Zer banatzen duzun | ELF64 exekutagarri estatiko bat x86-64 edo ARM64rako, konpiladoreak berak idatzia: ez da C tresna-katerik behar. | Exekutagarri natibo bat, LLVM eta sistemaren estekatzaile baten bidez. | Exekutagarri natibo bat, normalean estatikoa. | Exekutagarri natibo bat, C tresna-kate baten bidez. | Exekutagarri natibo bat. | Interpretatzaile batek exekutatzen duen iturburu-kodea. | BEAM makina birtualak exekutatzen duen bytecodea. |
| Proiektu-fitxategia | build.rg, Ridgunen idatzia. | Cargo.toml (TOML). | go.mod. | .cabal fitxategi bat edo stack.yaml. | Makefile-ak, CMake eta beste batzuk. | pyproject.toml (TOML). | mix.exs (Elixir), rebar.config (Erlang terminoak). |
| Bere lengoaian idatzia | Bai: konpiladorea, proiektu-tresna, liburutegiak, web-esparrua eta gune hau. | Bai. | Bai. | Gehienbat (GHC). | Konpiladoreak batez ere C eta C++ lengoaietan. | Ez: interpretatzaile nagusia C lengoaian dago. | Konpiladorea bai; makina birtuala C lengoaian dago. |
Non dauden gaur beste batzuk aurretik
Ridgun gaztea da. Hauek dira ezagutzen ditugun hutsuneak, eta bakoitzerako aurreikusita dagoena.
| Ridgun gaur | Goiko lengoaiak | Aurreikusita | |
|---|---|---|---|
| Liburutegiak | Liburutegi estandarrak, Solstice web-esparrua eta haren gehigarriak, denak hemen: pakete-atala. | Urte askotan eraikitako pakete-erregistro handiak. | Komunitatearen liburutegiak, pakete-atalean argitaratuak. |
| Editoreetarako tresnak | Sintaxi-koloreak eta formatua VS Code, Emacs eta gedit editoreetarako. | Lengoaia-zerbitzariak, araztaileak, profilatzaileak. | Lengoaia-zerbitzari bat. |
| Egonkortasuna | 0.9 bertsioa: sintaxia oraindik aldatzen da bertsio batetik bestera. | Bertsio egonkorrak, epe luzeko bateragarritasunarekin. | 1.0 bertsioak sintaxia izoztuko du. |
| Frogatutako abiadura | Hobekuntza etengabeak bertsioen artean; oraindik ez dago konparazio argitaraturik. | Urteetako konparazio-proba argitaratuak. | C lengoaiarekiko konparazio-probak, beren kodearekin argitaratuak. |
Epaitzeko modurik azkarrena probatzea da: hasi minutu gutxitan, edo irakurri liburua zure hizkuntzan.