Rust Og Go er begge kjempebra
Først er det veldig viktig å si at Både Go Og Rust er helt gode programmeringsspråk. De er moderne, kraftig, allment vedtatt, og tilbyr utmerket ytelse. Du har kanskje lest artikler og blogginnlegg som tar sikte på å overbevise Deg Om At Go er bedre enn Rust, eller omvendt. Men det gir egentlig ingen mening; hvert programmeringsspråk representerer et sett av avveininger. Hvert språk er optimalisert for forskjellige ting, så ditt valg av språk bør bestemmes av hva som passer deg og problemene du vil løse med det.
I denne artikkelen vil jeg prøve å gi en kort oversikt over hvor Jeg tror Go er det ideelle valget, og hvor Jeg tror Rust er et bedre alternativ. Ideelt sett bør du ha en fungerende kjennskap til begge språk. Mens De er veldig forskjellige i syntaks og stil, Er Både Rust Og Go førsteklasses verktøy for å bygge programvare. Med det sagt, la oss ta en nærmere titt på de to språkene.
likhetene
Rust Og Go har mye til felles, noe som er en grunn til at du ofte hører dem nevnt sammen. Hva er noen av de felles målene for begge språk?
Rust Er et lavt nivå statisk skrevet multi-paradigm programmeringsspråk som er fokusert på sikkerhet og ytelse.
—Gints Dreimanis
Go Er en åpen kildekode programmeringsspråk som gjør det enkelt å bygge enkel, pålitelig og effektiv programvare.
—Golang.org
minnesikkerhet
Både Go og Rust tilhører gruppen av moderne programmeringsspråk hvis prioritet er minnesikkerhet. Det er blitt klart over mange tiår med å bruke eldre språk Som C og C++ at en av de største årsakene til feil og sikkerhetsproblemer er å få tilgang til minne usikret eller feil. Rust And Go håndterer dette problemet på forskjellige måter, men begge tar sikte på å være smartere og sikrere enn andre språk om å administrere minne, og for å hjelpe deg med å skrive riktige og effektive programmer.
Raske, kompakte kjørbare
de er begge kompilerte språk, noe som betyr at programmene dine oversettes direkte til kjørbar maskinkode, slik at du kan distribuere programmet som en enkelt binær fil; i motsetning til tolkede språk som Python og Ruby, trenger Du ikke å distribuere tolk og mange biblioteker og avhengigheter sammen med programmet ditt, noe som er et stort pluss. Dette gjør også Både Rust og Go-programmer ekstremt raske i forhold til tolkede språk.
Generelle språk
Rust og Go er også både kraftige, skalerbare generelle programmeringsspråk, som du kan bruke til å utvikle alle slags moderne programvare, fra webapplikasjoner til distribuerte mikrotjenester, eller fra innebygde mikrokontrollere til mobilapper. Begge har gode standardbiblioteker og et blomstrende tredjeparts økosystem, samt god kommersiell støtte og en stor brukerbase. De har begge eksistert i mange år, og vil fortsette å bli mye brukt i årene som kommer. Lære Enten Gå eller Rust i dag vil være en god investering av din tid og krefter.
Pragmatisk programmerings stil
Verken er primært funksjonelle språk (Som Scala eller Elixir, for eksempel), og heller ikke er utelukkende objektorientert (Som Java og C#). I stedet, Mens Både Go Og Rust har funksjoner knyttet til funksjonell og objektorientert programmering, er de pragmatiske språk som tar sikte på å løse problemer på den måten som er mest hensiktsmessig, i stedet for å tvinge deg til en bestemt måte å gjøre ting på. (Hvis du liker den funksjonelle stilen til programmering, vil du imidlertid finne mange flere fasiliteter for Det I Rust, Fordi Rust har mange flere fasiliteter Enn Å Gå generelt.)
Vi kan diskutere hva et “objektorientert” språk er, men det er rimelig å si at stilen til objektorientert programmering Som c++, Java eller c# – brukere forventer ikke er til stede i Enten Go eller Rust.
—Jack Mott
utvikling i skala
Både Rust og Go har noen nyttige funksjoner som gjør Dem egnet for programmering i store, enten det betyr store lag, eller store kodebaser, eller begge deler.
for Eksempel, Mens c-programmerere har argumentert i årevis om hvor de skal sette sine parenteser, og om koden skal innrykkes med faner eller mellomrom, eliminerer Både Rust og Go slike problemer helt ved å bruke et standardformateringsverktøy (gofmt
For Go,rustfmt
For Rust) som omskriver koden din automatisk ved hjelp av den kanoniske stilen. Det er ikke at Denne stilen er så fantastisk i seg selv: det er standardiseringen Som Rust and Go-programmerere setter pris på.
> gofmt
‘s stil er ingen favoritt, men gofmt
er alles favoritt.
—Rob Pike
Et annet område hvor begge språk scorer høyt er i bygg-rørledningen. Begge har utmerket, innebygd, høy ytelse standard bygge og avhengighet styringsverktøy; ikke mer bryting med komplekse tredjeparts bygge systemer og måtte lære en ny hvert par år.
Building Go og Rust kode, etter å ha kommet fra En Java og Ruby bakgrunn i min tidlige karriere, føltes som en umulig vekt av skuldrene mine. Da Jeg var På Google, var Det en lettelse å komme over en tjeneste som ble skrevet I Go, fordi jeg visste at det ville være enkelt å bygge og kjøre. Dette har også vært sant For Rust, selv om jeg bare har jobbet med det i mye mindre skala. Jeg håper at dagene med uendelig konfigurerbare byggesystemer er døde, og språk alle skip med sine egne spesialbygde byggverktøy som bare trener ut av boksen.
—Sam Rose
Så hva er alt oppstyret om?
Med alt det i tankene, og å se at begge språkene er så godt utformede og kraftige, kan du kanskje lure på hva alle de hellige krigene handler om (meg også). Hvorfor gjør folk så oppstyr om ‘Gå mot Rust’, komme inn i sint sosiale medier spats og skrive lange blogginnlegg om hvordan bare en idiot ville bruke Rust, eller At Go Ikke Er et ekte programmeringsspråk, eller hva som helst. Det kan få dem til å føle seg bedre, men det hjelper ikke akkurat deg, som noen prøver å bestemme hvilket språk du skal bruke til prosjektet ditt, eller som du bør lære å fremme programmeringskarrieren din. En klok person gjør ikke viktige valg basert på hvem som roper høyest.La oss fortsette vår voksne diskusjon nå ved å se på noen områder der en rimelig person kanskje foretrekker ett språk over det andre.
Ytelse
Vi har sagt at Både Go og Rust produserer ekstremt raske programmer fordi de er kompilert til innfødt maskinkode, uten å måtte gå gjennom en tolk eller virtuell maskin. Rusts ytelse er imidlertid spesielt fremragende. Det er sammenlignbart Med C og C++, som ofte betraktes som de kompilerte språkene med høyest ytelse, men i motsetning til disse eldre språkene, tilbyr det også minnesikkerhet og samtidighetssikkerhet uten kostnad i utførelseshastighet. Rust lar deg også lage komplekse abstraksjoner uten å betale en ytelsesstraff ved kjøring.til sammenligning, Selv Om Go-programmer også utfører svært godt, Er Go primært designet for utviklingshastighet (inkludert kompilering), i stedet for kjøringshastighet. Go-kompilatoren bruker ikke mye tid på å prøve å generere den mest effektive mulige maskinkoden; det bryr seg mer om å samle mye kode raskt. Så Rust vil vanligvis slå Gå I run-time benchmarks.
Rusts kjøretid er også konsekvent og forutsigbar, fordi den ikke bruker søppelsamling. Go ‘ s garbage collector er svært effektiv, og den er optimalisert for å gjøre stopp-verden pauser så kort som mulig (og blir kortere med hver Ny Go-utgivelse). Men søppelinnsamling introduserer uunngåelig noe uforutsigbarhet i måten programmer oppfører seg på, noe som kan være et alvorlig problem i enkelte applikasjoner, for eksempel innebygde systemer.Fordi Rust har Som mål å gi programmereren full kontroll over den underliggende maskinvaren, er Det mulig å optimalisere Rust-programmer for å være ganske nær maskinens maksimale teoretiske ytelse. Dette gjør Rust til et utmerket valg for områder hvor hastigheten på utførelsen slår alle andre hensyn, for eksempel spillprogrammering, operativsystemkjerner, nettleserkomponenter og sanntidskontrollsystemer.
Enkelhet
det spiller ingen rolle hvor raskt et programmeringsspråk er hvis ingen kan finne ut hvordan man bruker det. Go ble bevisst oppfattet som en reaksjon mot den stadig voksende kompleksiteten til språk Som C++; den har svært lite syntaks, svært få søkeord, og faktisk få funksjoner. Dette betyr at det ikke tar lang tid å lære Go-språket til det punktet der du kan skrive nyttige programmer i den.
Go er utrolig lett å lære. Jeg vet at dette er en ofte spioneringen fordel, men jeg ble virkelig overrasket over hvor raskt jeg var i stand til å være produktiv. Takket være språket, dokumentene og verktøyene skrev jeg interessant, forpliktelig kode etter bokstavelig talt to dager.
—Tidlige Inntrykk Av Gå Fra En Rust Programmerer
nøkkelordet her er enkelhet. Enkelt er ikke det samme som enkelt, sikkert, men et lite, enkelt språk er lettere å lære enn et stort, komplekst. Det er bare ikke så mange forskjellige måter å gjøre ting på, så all velskrevet Go-kode har en tendens til å se det samme ut. Det er enkelt å bare dykke inn i en ukjent tjeneste og forstå hva den gjør.
fmt.Println("Gopher's Diner Breakfast Menu")for dish, price := range menu { fmt.Println(dish, price)}
(I Code Club-serien gjør jeg akkurat det: velg Go-prosjekter semi-tilfeldig Fra GitHub og utforsk dem med En gruppe Go-nybegynnere, for å se hvor mye av koden vi kan forstå. Det viser seg alltid å være mer enn vi forventet!)
selv om kjernespråket er lite, Er Gos standardbibliotek veldig kraftig. Det betyr at læringskurven din også må inkludere delene av standardbiblioteket du trenger, ikke Bare gå syntaks. På den annen side betyr flytting av funksjonalitet ut av språket og inn i standardbiblioteket at du kan fokusere på å lære bare bibliotekene som er relevante for deg akkurat nå.
Go er også utviklet for programvareutvikling i stor skala, med store kodebaser og store team. I disse situasjonene er det viktig at nye utviklere kan komme opp i fart så raskt som mulig.
Med Go får du ting gjort—raskt. Go er et av de mest produktive språkene jeg noensinne har jobbet med. Mantraet er:> løs reelle problemer i dag >.
—Matthias Endler
Funksjoner
Rust støtter mer kompleksitet enn flere andre programmeringsspråk, derfor kan du oppnå mer med det. For eksempel støtter den generikk.
—Devathon
Rust er spesielt utviklet for å inkludere mange kraftige og nyttige funksjoner for å hjelpe programmerere gjøre mest med minst kode. For Eksempel Lar Rusts match
funksjonen deg skrive fleksibel, ekspressiv logikk ganske kortfattet:
fn is_prime(n: u64) -> bool { match n { 0...1 => false, _ => !(2..n).any(|d| n % d == 0), }}
Fordi Rust gjør mye, betyr Dette at Det er mye å lære, spesielt i starten. Men det er greit: Det er mye å lære I C++ eller Java, også, og du får ikke de avanserte funksjonene som følger Med Rust, som minnesikkerhet. Å kritisere Rust for å være et komplekst språk savner poenget: Det er designet for å være uttrykksfulle, noe som betyr å ha mange funksjoner, og i mange situasjoner er det det du vil ha fra et programmeringsspråk. Det er en læringskurve, sikkert, men når du er oppe og går med det, blir det bra.
Rust konkurrerer om mindshare med C++ og D for programmerere som er forberedt på å akseptere mer kompleks syntaks og semantikk (og antagelig høyere lesbarhetskostnader) i retur for maksimal mulig ytelse.
—Dave Cheney
Samtidighet
de fleste språk har noen form for støtte for samtidig programmering (gjør flere ting på en gang), Men Go ble designet for denne jobben fra grunnen av. I stedet for å bruke operativsystemtråder, Gir Go et lett alternativ: goroutines. Hver goroutine er en uavhengig utfører Go funksjon, Som Go scheduler vil kartlegge til en AV OS tråder under sin kontroll. Dette betyr at planleggeren svært effektivt kan håndtere et stort antall samtidige goroutiner, med bare et begrenset antall OS-tråder.
Følgelig kan du kjøre millioner av samtidige goroutiner i et enkelt program uten å skape alvorlige ytelsesproblemer. Det gjør Go det perfekte valget for høyskala samtidige applikasjoner som webservere og mikrotjenester.
Go har også raske, sikre og effektive måter for goroutines å kommunisere og dele data, ved hjelp av kanaler. Gos samtidsstøtte føles godt utformet, og en glede å bruke. Begrunnelse om samtidige programmer er vanskelig generelt, og å bygge pålitelige, korrekte samtidige programmer er en utfordring på alle språk. Fordi det ble bygget inn i språket fra starten, men i stedet for å være en ettertanke, er samtidig programmering I Go omtrent like enkelt og godt integrert som det med rimelighet kunne være.
Go gjør Det veldig enkelt å bygge et pent faktorisert program som tar full nytte av samtidighet mens de distribueres som et sett med microservices. Rust kan også gjøre disse tingene, men det er uten tvil litt tøffere. I Noen henseender betyr Rusts besettelse med å forhindre minnerelaterte sikkerhetsproblemer at programmerere må gå ut av deres måte å utføre oppgaver som ville være enklere på Andre språk, inkludert Go.
—Sonya Koptyev
samtidshistorien I Rust er veldig ny, til sammenligning, og stabiliserer fortsatt, men den er under veldig aktiv utvikling, så se på dette rommet. For Eksempel Gir Rusts rayon-bibliotek en meget elegant og lett måte å snu sekvensielle beregninger til parallelle.
Å Ha lett syntaks For gyting Gå rutiner og bruke kanaler er veldig hyggelig. Det viser virkelig kraften i syntaks at slike små detaljer gjør samtidig programmering føles så mye bedre enn på andre språk.
—Tidlige Inntrykk Av Gå Fra En Rust Programmerer
selv om Det kan være litt mindre enkelt å implementere samtidige programmer I Rust, er det fortsatt mulig, og disse programmene kan dra nytte Av Rusts garantier om sikkerhet. Et godt eksempel er standardbiblioteketsMutex
klasse: i Go kan Du glemme å få en mutex-lås før du får tilgang til noe, Men Rust vil ikke la deg gjøre det.
Go er fokusert på samtidighet som et førsteklasses konsept. Det er ikke å si at Du ikke kan finne aspekter Av Go ‘ s skuespillerorienterte samtidighet I Rust, men det er igjen som en øvelse for programmereren.
—Dave Cheney
Sikkerhet
vi så tidligere At Både Gå Og Rust mål, på forskjellige måter, for å hindre en stor klasse av vanlige programmeringsfeil, å gjøre med minnehåndtering. Men Spesielt Rust går langt for å sikre at du ikke kan gjøre noe usikkert som du ikke mente å gjøre.
Rusts svært strenge og pedantiske kompilator kontrollerer hver variabel du bruker og hver minneadresse du refererer til. Det unngår mulige data rase forhold og informerer deg om udefinert atferd. Samtidighet og minne sikkerhetsproblemer er fundamentalt umulig å komme i sikker delmengde Av Rust.
– Hvorfor Rust?
dette kommer til å gjøre programmering I Rust en annen opplevelse til nesten alle andre språk, og det kan være en utfordrende først. Men for mange er det harde arbeidet verdt det.
for Meg er den viktigste fordelen Med Rust en følelse av at kompilatoren har ryggen min og vil ikke slippe gjennom noen feil det muligens kan oppdage (seriøst, det føles som magi noen ganger).
—Grzegorz Nosek
Mange språk, inkludert Go, har fasiliteter for å hjelpe programmerere unngå feil, Men Rust tar Dette til et nytt nivå, slik at potensielt feil programmer vil ikke engang kompilere.
Med Rust har bibliotekets programmerer mange verktøy for å hindre at brukerne gjør feil. Rust gir oss muligheten til å si at vi> eier > et bestemt stykke data; det er ikke mulig for noe annet å kreve eierskap, så vi vet at ingenting annet vil kunne endre det. Jeg kan ikke tenke på en gang jeg noen gang har fått så mange verktøy for å forhindre utilsiktet misbruk før. Det er en fantastisk følelse.
—Sam Rose
“Fighting with the borrow checker” er et vanlig syndrom for Nye Rust programmerere, men i de fleste tilfeller problemene som den finner er ekte bugs (eller i det minste potensielle bugs) i koden din. Det kan tvinge deg til å fundamentalt re-arkitekt programmet for å unngå å kjøre inn i disse problemene; og det er en god ting, når korrekthet og pålitelighet er topp prioritet. Hva er poenget med et språk som ikke endrer måten du programmerer på? Leksjonene Som Rust lærer om sikkerhet kan være nyttige når Du jobber på andre språk også.
Hvis Du velger Rust, trenger Du vanligvis garantiene som språket gir: sikkerhet mot nullpekere og dataløp, forutsigbar kjøretidsadferd og total kontroll over maskinvaren. Hvis Du ikke trenger noen av disse funksjonene, Kan Rust være et dårlig valg for ditt neste prosjekt. Det er fordi disse garantiene kommer med en kostnad: ramp-up tid. Du må unlearn dårlige vaner og lære nye konsepter. Sjansen er, du vil kjempe med låne kontrolløren mye når du starter.
– Matthias Endler
hvor utfordrende Du finner rusts programmeringsmodell, avhenger sannsynligvis av hvilken tidligere erfaring du har på andre språk. Python eller Ruby programmerere kan finne det restriktive; andre vil bli glade.
Hvis Du Er En c eller C++ programmerer som har brukt uker jage ned minne sikkerhet bugs i disse språkene, vil du virkelig sette Pris På Rust. “Fighting the borrow checker “blir” kompilatoren kan oppdage det? Kult!”
—Grzegorz Nosek
Skala
dagens serverprogrammer består av titalls millioner kodelinjer, bearbeides av hundrevis eller til og med tusenvis av programmerere, og oppdateres bokstavelig talt hver dag. Go ble designet og utviklet for å gjøre arbeidet i dette miljøet mer produktivt. Gos designhensyn omfatter streng avhengighetsstyring, tilpasningsevnen til programvarearkitektur etter hvert som systemer vokser, og robusthet på tvers av grensene mellom komponenter.
– Rob Pike
når du jobber med et problem alene eller i små lag, er valget av et enkelt språk eller et rikt språk et spørsmål om preferanse. Men etter hvert som programvaren blir større og mer kompleks, og lagene blir større, begynner forskjellene virkelig å vise. For store applikasjoner og distribuerte systemer er utførelseshastigheten mindre viktig enn utviklingshastigheten: et bevisst minimalt språk som Go reduserer rampetiden for nye utviklere, og gjør det lettere for dem å jobbe med en stor kodebase.
Med Go er Det lettere som en junior utvikler å være mer produktiv, og vanskeligere som en mid-level utvikler å introdusere sprø abstraksjoner som vil forårsake problemer nedover linjen. Av disse grunner Er Rust mindre overbevisende Enn Å gå for bedriftsprogramvareutvikling.
– Loris Cro
når det gjelder programvareutvikling i det store, er clear bedre enn smart. Go ‘ s begrensninger gjør det faktisk mer egnet for bedrifter og store organisasjoner enn mer komplekse og kraftige språk som Rust.
forskjellene
Selv Om Rust og Go er både populære, moderne, mye brukte språk, er de egentlig ikke konkurrenter, i den forstand at de bevisst målretter mot ganske forskjellige brukssaker. Gos hele tilnærming til programmering er radikalt forskjellig Fra Rust, og hvert språk vil passe noen mennesker mens de irriterer andre. Det er helt greit, og hvis Både Rust Og Go gjorde mer eller mindre de samme tingene på mer eller mindre samme måte, ville vi egentlig ikke trenge to forskjellige språk.
Så kan vi få en følelse av de respektive naturene Av Rust og Gå ved å finne problemer som de tar drastisk forskjellige tilnærminger til? La oss finne det ut.
Garbage collection
” å søppel-samle, eller ikke å søppel-samle ” er et av de spørsmålene som ikke har noe riktig svar. Søppelrydding, og automatisk minnehåndtering generelt, gjør det raskt og enkelt å utvikle pålitelige, effektive programmer, og for noen mennesker som gjør det viktig. Men andre sier at søppelinnsamling, med sin ytelse overhead og stop-the-world pauser, gjør programmer oppfører seg uforutsigbart på kjøretid, og introduserer uakseptabel ventetid. Debatten raser videre.
Go Er et helt annet språk Enn Rust. Selv om begge kan vagt beskrives som systemer språk eller erstatninger For C, de har ulike mål og programmer, stiler av språk design, og prioriteringer. Søppelsamling er en veldig stor differensiator. Å ha GC I Go gjør språket mye enklere og mindre, og lett å begrunne om.
Ikke å ha Gc I Rust gjør det veldig fort (spesielt hvis du trenger garantert ventetid, ikke bare høy gjennomstrømning) og muliggjør funksjoner og programmeringsmønstre som ikke er mulige I Go (eller i det minste ikke uten å ofre ytelse).
– PingCAP
Nær metallet
historien om dataprogrammering har vært en historie om stadig mer sofistikerte abstraksjoner som lar programmereren løse problemer uten å bekymre seg for mye om hvordan den underliggende maskinen faktisk fungerer. Det gjør programmer enklere å skrive og kanskje mer bærbare. Men for mange programmer er tilgang til maskinvaren, og presis kontroll over hvordan programmet utføres, viktigere. Rust har som mål å la programmerere komme “nærmere metallet”, med mer kontroll, Men Gå abstrakter bort de arkitektoniske detaljene for å la programmerere komme nærmere problemet.
begge språk har et annet omfang. Golang skinner for å skrive microservices og for typiske “DevOps” oppgaver, men det er ikke et system programmeringsspråk. Rust er sterkere for oppgaver der samtidighet, sikkerhet og / eller ytelse er viktig; men den har en brattere læringskurve enn Go.
—Matthias Endler
Må gå raskere
jeg har skrevet andre steder at ytelsen er mindre viktig enn lesbarhet for de fleste programmer. Men når ytelse betyr noe, betyr det virkelig noe. Rust gjør en rekke designavvik for å oppnå best mulig kjørehastighet. Derimot Er Go mer opptatt av enkelhet, og det er villig til å ofre noe (run-time) ytelse for det. Men Gos bygghastighet er uslåelig, og det er viktig for store kodebaser.
Rust er raskere Enn Å Gå. I referansene ovenfor Var Rust raskere, og i noen tilfeller en størrelsesorden raskere. Men før du går av og velger å skrive alt I Rust, bør Du vurdere At Go ikke var så langt bak det i mange av disse referansene, og det er fortsatt mye raskere enn Java, C#, JavaScript, Python og så videre.
hvis det du trenger er topp ytelse, vil du være foran spillet ved å velge ett av disse to språkene. Hvis du bygger en webtjeneste som håndterer høy belastning, som du vil kunne skalere både vertikalt og horisontalt, vil begge språk passe deg perfekt.
—Andrew Lader
Korrekthet
på den annen side kan et program være vilkårlig raskt hvis det ikke trenger å fungere skikkelig. De fleste kode er ikke skrevet på lang sikt, men det er ofte overraskende hvor lenge noen programmer kan fortsette å kjøre i produksjon: i noen tilfeller mange tiår. I disse situasjonene er det verdt å ta litt ekstra tid i utvikling for å sikre at programmet er riktig, pålitelig og ikke trenger mye vedlikehold i fremtiden.
Min ta: Gå for koden Som må sendes i morgen, Rust for koden som må fortsette å løpe uberørt de neste fem årene.
– Grzegorz Nosek
Mens Både Go og Rust er gode valg for ethvert seriøst prosjekt, er det en god ide å gjøre deg så godt informert som mulig om hvert språk og dets egenskaper. Til syvende og sist, det spiller ingen rolle hva andre mener: bare du kan bestemme hvilken som er riktig for deg og ditt team.
Hvis du vil utvikle seg raskere, kanskje fordi du har mange forskjellige tjenester å skrive, eller du har et stort team av utviklere, Så Er Go ditt valgspråk. Go gir deg samtidighet som en førsteklasses borger, og tolererer ikke usikker minnetilgang (Heller Ikke Rust), men uten å tvinge deg til å håndtere hver eneste detalj. Go er rask og kraftig, men det unngår bogging utvikleren ned, fokusere i stedet på enkelhet og ensartethet. Hvis på den annen side, vri ut hver siste unse av ytelse er en nødvendighet, Så Rust bør Være ditt valg.
—Andrew Lader
Konklusjon
jeg håper denne artikkelen har overbevist deg om at Både Rust og Go fortjener seriøs vurdering. Hvis det er mulig, bør du sikte på å få minst litt erfaring på begge språk, fordi de vil være utrolig nyttige for deg i enhver teknisk karriere, eller selv om du liker programmering som en hobby. Hvis du bare har tid til å investere i å lære ett språk godt, må du ikke ta den endelige avgjørelsen før du har brukt Både Go Og Rust for en rekke forskjellige typer programmer, store og små. og kunnskap om et programmeringsspråk er egentlig bare en liten del av å være en vellykket programvareingeniør. Langt de viktigste ferdighetene du trenger er design, engineering, arkitektur, kommunikasjon og samarbeid. Hvis du utmerker deg på disse, vil du være en god programvareingeniør uavhengig av ditt valg av språk. Glad læring!
Sammenligne Rust og gå kode
Det er en flott nettside som heter programming-idioms.org som har en “cheat sheet” som viser hva Rust and Go-koden ser ut til over 200 vanlige programmeringsoppgaver:
- Go vs Rust idiomer
Komme i gang
Hvis du er interessert i å lære å programmere Med Rust and Go, er det noen ressurser du kan finne nyttige.
Gå
- Installer Gå
- gå tutorials Av Bitfield
- For Kjærligheten Til Go
- En Tur Til Go
- Gå Ved Eksempel
- Gå Lekeplass
- Awesome Gå
Rust
- Installer Rust
- En Mild Introduksjon Til Rust
- rust programmeringsspråk
- rust bøker
- rust ved eksempel
- rust lekeplass
- hundre rust binærfiler
li>
takk
Jeg Er Ikke Ung Nok til å vite alt, Som Det Sies, så jeg er veldig takknemlig til en rekke fremstående jordrotter og rustaceans hvem tok seg tid til å gjennomgå og rette opp dette stykket, samt gi noen virkelig nyttige forslag. Min spesielle takk går Til Bill Kennedy, Grzegorz Nosek, Sam Rose, Jack Mott, Steve Klabnik, MN Mark, Ola Nordstrom, Levi Lovelock, Emile Pels, Sebastian Lauwers, Carl Lerche, Og alle andre som bidro. Du kan få inntrykk av å lese online hot takes at Rust and Go-samfunnene ikke kommer sammen. Ingenting kunne være lengre fra sannheten, i min erfaring; vi hadde veldig siviliserte og fruktbare diskusjoner om utkastet til artikkelen, og det har gjort en stor forskjell for det ferdige produktet. Takk igjen.
Leave a Reply