Hoppa till innehållet
Ridgun
Svenska

Varför Ridgun

Vad Ridgun gör annorlunda.

Ridgun hämtar idéer från Haskell, Rust, Go, Erlang och arrayspråken och samlar dem på ett ställe: kod uppställd som tabeller, parallellism i syntaxen och minne som frigörs utan skräpsamlare eller borrow checker. Så här står det sig i jämförelse, och här ligger andra språk fortfarande före.

Ridgun jämfört med utbredda språk
RidgunRustGoHaskellCPythonErlang / Elixir
MinneFrigörs efter sista användningen, vilket kompilatorn avgör; delade värden räknas; regioner. Ingen skräpsamlare, inga livstider att skriva.Ägarskap och lån, kontrollerade vid kompilering; livstider i koden.Skräpsamlare.Skräpsamlare.Manuell (malloc och free).Referensräkning plus en cykelsamlare.Skräpsamlare per process.
ParallellismI syntaxen: || rader bildar en beroendegraf; ||map, ||filter; agenter och kanaler.Trådar och async i språket; dataparallellism via bibliotek.Gorutiner och kanaler.Trådar, sparks och STM, via bibliotek och körtidsmiljön.Trådar och OpenMP, via bibliotek och kompilatorer.Trådar begränsade av GIL i det vanliga bygget; processer för parallellt arbete.Lätta processer och meddelanden.
KodlayoutEn funktion är en tabell: signaturen som rubrik, en klausul per rad, argumenten i kolumner. stable format håller dem justerade.Fri layout; rustfmt.Fri layout; gofmt.Layoutkänsligt; formaterare från gemenskapen.Fri layout; flera formaterare.Indragskänsligt; formaterare från gemenskapen.Fri layout; mix format för Elixir.
TyperStatiska, deklarerade i signaturer; algebraiska datatyper; generiska typer skrivna A..Z; tensorer vars former kontrolleras vid kompilering.Statiska, härledda inuti funktioner; traits.Statiska; generiska typer sedan 1.18.Statiska, härledda; typklasser.Statiska, svaga.Dynamiska; valfria typanvisningar.Dynamiska; valfri kontroll.
Vad du levererarEn statisk körbar ELF64-fil för x86-64 eller ARM64, skriven av kompilatorn själv: ingen C-verktygskedja behövs.En nativ körbar fil, via LLVM och en systemlänkare.En nativ, oftast statisk, körbar fil.En nativ körbar fil, via en C-verktygskedja.En nativ körbar fil.Källkod som körs av en tolk.Bytekod som körs av den virtuella maskinen BEAM.
Projektfilbuild.rg, skriven i Ridgun.Cargo.toml (TOML).go.mod.En .cabal eller stack.yaml.Makefiler, CMake och andra.pyproject.toml (TOML).mix.exs (Elixir), rebar.config (Erlang-termer).
Skrivet i sig självtJa: kompilator, projektverktyg, bibliotek, webbramverk och den här webbplatsen.Ja.Ja.Till största delen (GHC).Kompilatorerna mest i C och C++.Nej: huvudtolken är skriven i C.Kompilatorn ja; den virtuella maskinen är skriven i C.

Där andra ligger före i dag

Ridgun är ungt. Det här är de luckor vi känner till och vad som planeras för var och en.

Ridgun i dagSpråken ovanPlanerat
BibliotekStandardbiblioteken, webbramverket Solstice och dess tillägg, allt i paketområdet.Stora paketregister som byggts upp under många år.Bibliotek från gemenskapen, publicerade via paketområdet.
EditorstödSyntaxfärgning och formatering för VS Code, Emacs och gedit.Språkservrar, felsökare, profilerare.En språkserver.
StabilitetVersion 0.9: syntaxen ändras fortfarande mellan versioner.Stabila versioner med långsiktig kompatibilitet.Version 1.0 fryser syntaxen.
Bevisad hastighetJämna förbättringar mellan versioner; ingen publicerad jämförelse än.År av publicerade prestandatester.Prestandatester mot C, publicerade med sin kod.

Det snabbaste sättet att bedöma det är att prova: kom igång på några minuter, eller läs boken på ditt språk.