Kom igång med rost

Sep 10, 2025
Hur

C-programmeringsspråket har verkligen passerat tidstestet. Det finns väldigt få miljöer där det inte trivs. Detta beror främst på dess höga exekveringsprestanda, som tyvärr kommer till ett pris: C stöder inte många av de funktioner som förväntas på ett modernt programmeringsspråk.

  • Mozilla presenterar radikal ny varumärkesidentitet

Mozillaforskningens Rost är ett försök att skapa en bättre mousetrap. Dess språkdesign är fortsatt fokuserad på hög prestanda och att vara nära hårdvara.

Men dess syntax och kompilator utnyttjar också de olika fördelarna som erbjuds av modern programmeringsspråkforskning. Med tanke på att Mozillas uppdrag är skapandet av en "öppen webb", borde det inte vara förvånande att företaget arbetar outtröttligt för att få sitt senaste hjärnbarn till webben.

Medan rost kan, i teorin, springa på kunden via system som Emscripten, ligger den verkliga makten i skapandet av effektiva backend-tjänster.

Skapar du en webbplats från början? Nagla designen och prestanda med en topp Website Builder och utmärkt webbhotell . Har du filer att dela eller spara? Bli involverad i dessa molnlagring alternativ.

Hur man börjar använda rost

 The Rust installer provides a semi-graphic installation environment

Rustinstallatören ger en halvgrafisk installationsmiljö

Medan paketförvaltare som "APT-Get" visade utvecklade utvecklarens liv enklare, är paketlista underhållare, i stort sett, som är kända för att vara inga vänner med överdriven hastighet. På grund av det är många, om inte de flesta, distributionernas paketcaches kraftigt föråldrade.

Rostteamet har löst det här problemet genom att tillhandahålla ett dedikerat installationsskript, som sätter upp systemet som det körs på effektivt. Distribution, då är en tvåstegsprocess: Först, se till att Curl Downloader / Parser är tillgänglig:

 Tamhan @ Tamhan-ThinkPad: ~ $ sudo apt-få installera curl
[sudo] Lösenord för Tamhan:
Läsa paketlistor ... gjort ... 

Då, i det andra steget, ladda ner installationsprogrammet och skicka det vidare till "SH" med röroperatören. 'Sh' är en stenografi för standardskalstolkningen av din arbetsstation, som sedan fortsätter att köra koden till hands:

 Tamhan @ Tamhan-ThinkPad: ~ $ curl https://sh.rustup.rs -ssf | sh
Info: Ladda ner installatören 

Under installationen kommer Rust Installer visa en mängd olika uppmaningar som liknar de som visas på bilden till höger. Följ dem helt enkelt för att uppnå en standardinstallation.

I vissa fall kommer rostutbyggnaden att misslyckas med ett fel som liknar "fel: kunde inte skriva RCFile-fil: '/Home/tamhan/.bash_profile'. Om det händer under installationen, använd "sudo -s" för att få ett rotskal och skölj sedan och upprepa för att fortsätta.

Kör ett prov

Med det ur vägen är det dags att köra vårt första lilla program. Rostfiler, som standard, har filtillägget ".rs". Skapa en fil som heter 'Firsttest.rs', och sedan ge den följande kod:

 fn huvud () {
    Println! ("Hello World!");
} 

C och C ++ Programmerare undrar ofta varför invokationer av "Println" -metoden kräver användning av ett utropstecken. Svaret är enkelt: rost implementerar "Println" som ett makro, som påkallas på ett annat sätt.

Med tanke på att rost är ett sammanställt språk måste vårt exempel behandlas innan det kan köras från kommandoraden:

 Tamhan @ Tamhan-ThinkPad: ~ / rostspace $ rustc firsttest.rs
Tamhan @ Tamhan-ThinkPad: ~ / Rustspace $ ./Firsttest
Hej världen! 

Avancerad sönderfall

Att beskriva ett komplett programmeringsspråk, som rost, i det begränsade utrymmet som vi har tillgång till här är omöjligt. Så låt oss börja med att formellt peka dig på Mozilla Forskning Omfattande dokumentation . En funktion som är säker på att imponera C-programmerare innebär användningen av "Match" -kommandot: Förutom direkta jämförelser möjliggör det också användningen av intervalloperatörer att i hög grad förenkla utformningen av avancerade program:

fn huvud () {
    Låt nummer = 5;
    Println! ("Arbeta på {}", nummer);
    matchnummer {
        1 = & gt; Println! ("One!"),
        2 | 3 | 5 | 7 = & gt; Println! ("Prime"),
        _ = & gt; Println! ("Ett nummer"),
    }
} 

Skräp-påhand

Classic Garbage Collection har sina svagheter: De flesta implementeringar ger programmet till en skrikande stopp från tid till annan. För att komma runt den rosten använder en uppsättning så kallade "nollkostnadsstraktioner" för att emulera ett liknande beteende på ett mindre irriterande sätt.

I princip skapas varje resurs med en ägare på ett sätt som liknar QTs föräldra-barns delsystem. En funktion som heter "Lån" gör det möjligt för programmeraren att tillfälligt överföra ägande mellan resurserna, därigenom passerar dem runt systemet.

Tyvärr skulle en fullständig diskussion om möjligheterna för Rusts Memory Manager bryta gränserna för den här artikeln - låt det vara tillräckligt att förklara att rost ger en mycket oorthodox, men användbar form av minneshantering.

Skapa ett nytt projekt

 Similarities to NPM are purely coincidental...

Likheter med NPM är rent tillfälliga ...

Medan C och C ++ -koden kan brytas ner i bibliotek, gör det en irriterande och något obekväm uppgift. Vidare, se till att alla nödvändiga bibliotek är där de behövs är något till och med erfarna utvecklare som att undvika.

Javascript-samhället har länge löst detta problem via produkter som NPM. Projekt beskrivs via en projektstrukturfil, som bland annat innehåller referenser till bibliotek och andra element som behövs under den faktiska kompileringskörningen.

När det gäller rost gör en paketchef som heter Cargo ett liknande jobb. Att skapa ett nytt projekt kan uppnås genom att använda "Cargo New" -kommandot på ett sätt som liknar följande:

 Tamhan @ Tamhan-ThinkPad: ~ / Rustspace $ Cargo New Futuresample1 -
     Skapade binära (applikation) "futuresample1" -projekt
Tamhan @ Tamhan-ThinkPad: ~ / Rostspace $

När skapningsprocessen är klar kommer en mappstruktur som liknar den som visas på bilden längst ner på den här sidan att genereras.

.TOML-filer fungerar som "controllers" - I fallet med vårt nybildade projekt innehåller filen följande struktur:

 [Paket]
Namn = "futuresample1"
version = "0.1.0"
Författare = ["Tamhan"]
[beroenden] 

Likheter med .ini-filer av lore är inte rent sammanfallande: På ett sätt som inte är olik till npm används det gamla konfigurationsfilformatet för att beskriva de konfigurationsfiler som används för rostprojekt. Blocket "[beroenden] är av särskilt intresse för oss - det innehåller en lista över alla externa bibliotek, vilket måste vara närvarande för att sammanställningen ska lyckas.

Lägg till ett paket

Att skapa en webbserver för hand är ett irriterande jobb som bäst lämnas till masochister. Vi väljer istället en ram. Tyvärr, att hitta den rätta är inte lätt - som besöker Awwys lista över webbutvecklingsramar avslöjar, det finns många kandidater.

Vi kommer att välja Raket , om det bara är att det verkar vara ganska populärt och har sett en uppdatering som släpptes i maj 2018. Tyvärr tenderar Rakets utvecklare att tycka om att du vill ha det nyligen introducerade språkfunktioner, varför ofta uppdatering av din rostinstallation med hjälp av följande kommandon krävs :

 Tamhan @ Tamhan-ThinkPad: ~ / rostspace / futuresample1 $ rustup uppdatering & amp; & amp; lastuppdatering 

Nästa steg är i stor utsträckning en smakfråga. De flesta bibliotek kommer med förutbestämda startprojekt, vilka utvecklare enkelt kan sippra från GitHub. Om du gör det för ditt "Prime" -bibliotek är det inte nödvändigtvis en dålig idé - även om en gång än ett bibliotek är inblandat, tenderar ett manuellt tillvägagångssätt att vara mer fruktbart.

Öppna sedan .TOML-filen och ändrar sedan avsnittet "Beroende" enligt följande för att inkludera en ny version av Rocket-ramen:

 [Beroende]
raket = "0,3,6"
ROCKET_CODEGEN = "0.3.6" 

Raket är unik eftersom det kräver att totalt två paket ingår: Förutom den viktigaste ramen krävs också en separat kodgeneratorfil. Hur som helst innehåller vår version en specifik version av de två biblioteken - Cargo kan också acceptera jokertecken, vilket gör det möjligt för programmet att "välja sitt gift" utan hjälp av oss.

Med det ur vägen kvarstår ett problem: Ange 'Cargo Run' i mappen som innehåller .toml-filen för att kunna utföra en assisterad kompilering, vilket kommer - bland annat - ladda de relevanta kodbiblioteken från förvaret och kompilerahela enchilada för dig.

Nästa sida: Byggnads- och djupanalys

  • 1
  • 2

Nuvarande sida: Sida 1


Hur - Mest populära artiklar

Mixed-Media Art Tutorial: Hur vattenfärg över digitalt konstverk

Hur Sep 10, 2025

(Bildkredit: Naomi Vandoren) Som en oberoende konstnär tycker jag om den kreativa processen så mycket som tillfreds..


Hur man skapar 3D-skanningar med verklighetsupptagning

Hur Sep 10, 2025

(Bildkredit: Phil Nolan) Reality Capture är ett utmärkt sätt att göra egna 3D-skanningar. Allt du behöver är di..


Stil en webbplats med Sass

Hur Sep 10, 2025

Du kan göra mycket med CSS - kanske mer än du kanske tror - men det ärable stilarket har sina begränsningar. I ett modernt we..


Hur man kombinerar 3D och komisk konst i Zbrush

Hur Sep 10, 2025

Sida 1 av 2: Sida 1 Sida 1 Sida 2 3D Specialist Glen Southern ..


Skapa en glödande neon text effekt

Hur Sep 10, 2025

Ofta är det de enklaste effekterna som ser den mest slående, och neontexten är ett sådant projekt. Det är också mycket lät..


Skapa en livlig digital mänsklig människa

Hur Sep 10, 2025

Du kanske vet Hur man ritar människor , men skapar ett digitalt porträtt som är oskiljbar från ett fotografi -..


Skapa organiska texturer i bläck

Hur Sep 10, 2025

Ritning med bläck producerar stora möjligheter. Det finns enkla men ändå effektiva sätt att skapa vackra, organi..


Hur man skapar hår i Cinema 4D

Hur Sep 10, 2025

Inspirerad av den fantastiska karaktären av Carlos Ortega Elizalde och Lois van Baarle, bestämde jag mig för att försöka min..


Kategorier