Kom i gang med rust

Sep 12, 2025
hvordan

C-programmeringssproget har virkelig bestået tidstesten. Der er meget få miljøer, hvor det ikke trives. Dette skyldes primært sin høje udførelsespræstation, som desværre kommer til en pris: C understøtter ikke mange af de forventede funktioner på et moderne programmeringssprog.

  • Mozilla afslører radikale nye brandidentitet

Mozilla Research's. Rust er et forsøg på at skabe en bedre mousetrap. Dens sprogdesign forbliver fokuseret på høj ydeevne og tæt på hardware.

Imidlertid udnytter dens syntaks og compiler også de forskellige fordele, der tilbydes af moderne programmeringssprogforskning. Da Mozilla's mission er oprettelsen af ​​en "åben web", bør det ikke være overraskende, at virksomheden arbejder utrætteligt for at bringe sit seneste hjernebarn til internettet.

Mens rust kan i teorien køre på klienten via systemer som Emscripten, ligger dens virkelige magt i skabelsen af ​​effektive backend-tjenester.

Skaber du et websted fra bunden? Negle design og ydeevne med en top Website Builder. og fremragende Web Hosting. . Fik filer til at dele eller gemme? Blive involveret i disse Sky lagring muligheder.

Sådan begynder du at bruge rust

 The Rust installer provides a semi-graphic installation environment

Rustinstallatøren giver et semi-grafisk installationsmiljø

Mens pakkeforvaltere som "apt-get" sikkert lavede udviklerens liv nemmere, er pakkerliste vedligeholdere efter og store, kendt for at være ingen venner af overdreven hastighed. På grund af det er mange, hvis ikke mest, distributionernes pakkecacher er stærkt forældede.

Rustholdet har løst dette problem ved at give et dedikeret installationsscript, der opretter systemet, det drives effektivt. Implementering er da en to-trins proces: Først skal du sørge for, at CURL Downloader / Parser er tilgængelig:

 Tamhan @ Tamhan-ThinkPad: ~ $ sudo apt-get installer curl
[sudo] Adgangskode til Tamhan:
Læsning af pakke lister ... Done ... 

Derefter skal du i det andet trin downloade installatøren og sende den videre til 'SH' ved hjælp af røroperatøren. 'Sh' er en stenografi for standard shell tolk af din arbejdsstation, som derefter fortsætter med at køre koden ved hånden:

 Tamhan @ Tamhan-ThinkPad: ~ $ Curl https://sh.rustup.rs -SSF | SH.
Info: Download Installer 

Under installationen viser rustinstallatøren en række beskeder svarende til udseende til dem, der vises på billedet til højre. Du skal blot følge dem for at opnå en standardinstallation.

I nogle tilfælde vil rusten implementering mislykkes med en fejl, der ligner "Fejl: Kunne ikke skrive RCFile-fil: '/home/tamhan/.bash_profile'". Hvis dette sker under installationen, skal du bruge 'sudo -s' for at få en rodskal, og derefter skylle og gentage for at fortsætte.

Kør en prøve.

Med det ud af vejen er det tid til at køre vores første lille program. Rustfiler har som standard filtypen '.rs'. Opret en fil kaldet 'firsttest.rs', og giv den derefter det følgende stykke kode:

 Fn Main () {
    Println! ("Hello World!");
} 

C og C ++ programmører undrer sig ofte over, hvorfor invokationer af 'Println' -metoden kræver brug af et udråbstegn. Svaret er simpelt: rust implementerer 'Println' som en makro, som bliver påberåbt på en anden måde.

I betragtning af at rust er et kompileret sprog, skal vores eksempel behandles, før det kan køres fra kommandolinjen:

 Tamhan @ Tamhan-ThinkPad: ~ / rustspace $ rustc firsttest.rs
tamhan @ tamhan-thinkpad: ~ / rustspace $ ./firsttest
Hej verden! 

Avanceret forfald

Beskrive et komplet programmeringssprog, som f.eks. Rust, i det begrænsede rum, vi har tilgængelige her, er umulige. Så lad os starte med formelt at pege på Mozilla Research's Omfattende dokumentation . En funktion, der er sikker på at imponere C-programmører, indebærer brug af kommandoen 'Match': Ud over direkte sammenligninger gør det også muligt at bruge rækkeviddeoperatører til meget at forenkle udformningen af ​​avancerede programmer:

fn hoved () {
    Lad nummer = 5;
    Println! ("Arbejde på {}", nummer);
    Match nummer {
        1 = & gt; Println! ("en!"),
        2 | 3 | 5 | 7 = & gt; Println! ("Prime"),
        _ = & gt; Println! ("et nummer"),
    }
} 

Affald-til-hånd

Classic Garbage Collection har sine svagheder: De fleste implementeringer bringer programmet til en screeching stopper fra tid til anden. For at komme rundt, bruger rusten et sæt såkaldte 'nulprisforbindelser' for at efterligne en lignende adfærd på en mindre irriterende måde.

I princippet oprettes hver ressource med en ejer på en måde svarende til QTs forældremyndighed. En funktion kaldet 'låntagning' gør det dog muligt for programmøren at overføre ejerskab mellem ressourcer midlertidigt og derved passere dem omkring systemet.

Desværre ville en fuldstændig diskussion af mulighederne for Rust's Memory Manager bryde grænserne for denne artikel - lad det være tilstrækkeligt at erklære, at rust giver en meget uortodoks, men brugbar form for hukommelsesstyring.

Opret et nyt projekt

 Similarities to NPM are purely coincidental...

Ligheder til NPM er rent tilfældige ...

Mens C og C ++ koden kan opdeles i biblioteker, er det en irriterende og lidt ubehagelig opgave. Desuden skal du sørge for, at alle de nødvendige biblioteker er, hvor de er nødvendige, er noget selv krydret udviklere som at undgå.

JavaScript-samfundet har længe løst dette problem via produkter som NPM. Projekter beskrives via en projektstrukturfil, som blandt andet indeholder referencer til biblioteker og andre elementer, der er nødvendige under den faktiske kompileringskørsel.

I tilfælde af rust gør en pakkechef, der hedder Cargo, et lignende job. Oprettelse af et nyt projekt kan udføres ved brug af kommandoen 'Cargo New' på en måde svarende til følgende:

 Tamhan @ Tamhan-ThinkPad: ~ / RustSspace $ Cargo New FuturesAmple1 -BIN
     Oprettet binær (applikation) `futuresample1` projekt
Tamhan @ Tamhan-Thinkpad: ~ / rustspace $

Når oprettelsesprocessen er færdig, genereres en mappestruktur svarende til den, der vises på billedet nederst på denne side.

.Toml-filer fungerer som 'controllere' - I tilfælde af vores nyligt genererede projekt indeholder filen følgende struktur:

 [pakke]
Navn = "Futuresample1"
Version = "0.1.0"
Forfattere = ["Tamhan"]
[afhængigheder] 

Ligheder til .ini-filerne i lore er ikke rent sammenfaldende: På en måde ikke forskelligt for NPM bruges det gamle konfigurationsfilformat også til at beskrive de konfigurationsfiler, der bruges til rustprojekter. Blokken "[Afhængigheder] er af særlig interesse for os - den indeholder en liste over alle eksterne biblioteker, som skal være til stede for, at kompileringen skal lykkes.

Tilføj en pakke

Oprettelse af en webserver med hånden er et irriterende job bedst til venstre til masochists. Vi vil i stedet vælge en ramme. Desværre, at finde den rigtige er ikke let - som at besøge Awwy's liste over webudviklingsrammer afslører, der er mange kandidater.

Vi vælger Raket , hvis kun fordi det ser ud til at være ganske populært og har set en opdatering udgivet i maj 2018. Desværre har Rockets udviklere en tendens til at lide nyligt introducerede sprogfunktioner, hvilket er grunden til hyppig opdatering af din rustinstallation ved hjælp af følgende kommandoer kræves :

 Tamhan @ Tamhan-ThinkPad: ~ / rustspace / futuresample1 $ rustup opdatering & amp; & amp; lastopdatering 

Det næste skridt er stort set et spørgsmål om smag. De fleste biblioteker leveres med forudbestemte startprojekter, hvilke udviklere kan simpelthen siphon fra Github. Gør det for din 'Prime' bibliotek er ikke nødvendigvis en dårlig ide - selvom en gang mere end et bibliotek er involveret, har en manuel tilgang tendens til at være mere frugtbar.

Derefter skal du åbne .toml-filen, og derefter ændre afsnittet "Afhængigelser" efter følgende for at inkludere en nylig version af raketrammen:

 [afhængigheder]
racket = "0.3.6"
rocket_codegen = "0.3.6" 

Raket er unik, idet det kræver inddragelse af i alt to pakker: Ud over hovedrammen kræves også en separat kodegeneratorfil. Uanset hvad vores version indeholder en bestemt version af de to biblioteker - Cargo kan også acceptere jokertegn, som gør det muligt for programmet at "vælge sin gift" uden hjælp fra os.

Med det ud af vejen forbliver et problem: Indtast 'Cargo Run' i mappen, der indeholder .toml-filen for at kunne udføre en assisteret kompilering, som blandt andet vil downloade de relevante kode biblioteker fra depotet og kompilerehele enchilada for dig.

Næste side: Stilladser og dybdegående analyse

  • 1
  • 2.

Nuværende side: Side 1


hvordan - Mest populære artikler

Sådan bruges referencebilleder: 13 Væsentlige tips til kunstnere

hvordan Sep 12, 2025

(Billedkredit: jonathan hårdesty) Side 1 af 2: Side 1 Side 1..


Opret en vektorforskydningsmaskebørste

hvordan Sep 12, 2025

Gå ikke glip af Vertex 2018. , vores debuthændelse for CG-fællesskabet. Pakket med ins..


4 nemme trin til at forbedre din render

hvordan Sep 12, 2025

Brug af kuppelamper har været en af ​​de største fremskridt i CGI-skabelsen i løbet af de sidste par årtier. Badning af e..


Gør realistiske planter i Cinema 4D

hvordan Sep 12, 2025

Uanset din endelige brug vil de fleste scener centreret på en menneskeskabt struktur drage fordel af et strejf af økologisk lø..


Groom en uimodståelig furry væsen

hvordan Sep 12, 2025

Side 1 af 3: Side 1 Side 1 Side 2. ..


Sådan designe en promo til et imaginært mærke

hvordan Sep 12, 2025

Når du designer for et mærke, om det er en etableret en eller en opstart, at du tager den kreative bly på, er konsistens på tværs af alle berøringspunkter nøglen. Det er..


Sådan navngiver du dit webdesign agentur

hvordan Sep 12, 2025

At få det rigtige navn til dit bureau er ikke let; Mange mennesker falder ind i fælden for at kalde deres firma noget som 'chok..


Sådan bruger du Photoshop's 'Match Font' funktion

hvordan Sep 12, 2025

Designere og reklamer fra alle felter er som magpies i deres appetit for at indsamle lyse og skinnende ting. Vi har sikkert alle ..


Kategorier