Gå til innhold

Blir andre språk lettere om du kan et annet?


Gjest Slettet-YQ8U8xbZ

Anbefalte innlegg

Gjest Slettet-YQ8U8xbZ

Nå har jeg startet med c++ og skal lære meg det.

Om jeg blir god på c++, vil det da være mye lettere for meg å lære et annet språk? feks: java.

 

Hvorfor blir det lettere? er det fordi man da har lært det grunnleggende innen programmering?

Lenke til kommentar
Videoannonse
Annonse

desto mer språkene ligner på hverandre, desto lettere er det å lære det ene når du kan det andre. biblioteker, rammeverk, teknologistack og økosystem må også læres, og det kan være ganske ulikt selv om språkene ligner på hverandre.

 

uansett vil det nok være mye lettere å lære et nytt språk når du har kommet over kneika og lært det første.

Lenke til kommentar
Om jeg blir god på c++, vil det da være mye lettere for meg å lære et annet språk? feks: java.

 

Hvorfor blir det lettere? er det fordi man da har lært det grunnleggende innen programmering?

En del av kunnskapen fra C++ er overførbart til f.eks. Java ja. Å skrive god C++-kode handler mye om å forstå hvordan en CPU fungerer, og hvordan kodestrukturer vil kjøre. Mye av dette er naturligvis relevant for Java også.

 

Men det aller mest nyttige du kan gjøre for å bli en dyktig programmerer er å lære mer lavnivåspråk som C og noe assembly, slik at du lærer hvordan god kode skal designes. Denne kunnskapen kan du ta med deg til høyere nivås språk samtidig som du tilpasser det til programmeringsparadigmene til de språkene.

 

F.eks. det mest nyttige jeg hadde på NTNU var to fag som het kompilatorteknikk og datamaskinarkitektur. Førstnevnte handlet om å bygge en kompilator og lære hvordan kompilatoren omformer koden til maskinkode, hva som skjer med ulike typer strukturer og hva kompilatorer gjør for å optimalisere den endelige maskinkoden. Det andre omhandlet blant annet hvordan dagens CPUer fortløpende analyserer kode og forsøker å laste riktig data i cache og stokke om på instruksjonene på direkten for optimal ytelse. Denne typen kunnskap er ekstremt nyttig selv i høyere nivås programmeringsspråk, for å bygge effektive løkker, rekursjon og traversering som fungerer bra i praksis.

 

Hvis du ser etter undervisning for programmering så kan det være verdt å se videoforelesninger fra Stanford på youtube.

Lenke til kommentar

Det finnes også helt forskjellige typer språk. Java og Lisp ligner ikke veldig mye på hverandre, akkurat :-)

 

Men Lisp og Clojure gjør, og Clojure er en del av java-økosystemet, i den forstand at du kan kjøre det på JVM dermed utnytte resten av Java-økosystemet; persistensrammeverk, gui-rammeverk osv.

Lenke til kommentar

 

@Efikkan:

 

Det er jo aldri noen innertier å skrive ineffektiv kode, men de fleste millionprosjekter som strander gjør det fordi man programmerer "feil ting" og ikke fordi man programmerer "tingen feil", det er viktig å ha verktøy, dvs språk, rammeverk osv., som gjør at man kan konsentrere seg mer om hva som skal programmeres og ikke hvordan.

Endret av quantum
  • Liker 1
Lenke til kommentar

For å svare mer direkte: Ja. Når du kan flere språk, blir det lettere å tenke på formen på problemet og hvordan man skal løse det, i stedet for bare på syntaksen - man går litt fra å lure på "hvordan skriver jeg dette språket" til "hva har de kalt de tingene jeg vil bruke denne gangen".

 

Den litt irriterende bivirkningen er at alle smådetaljene (len eller length? En eller to likhetstegn - eller skal jeg bruke en egen tekst-sammenlignings-metode? Er det semikolon i dette språket - og hvordan ser egentlig for-løkker ut?) går litt i hverandre når du bytter språk. Jeg må skrive et par linjer testkode hver gang det har gått mer enn et par uker siden jeg skrev R/python/java/C... (for ikke å snakke om shell og awk, som er like magisk hver gang jeg kommer tilbake til det.)

Endret av Djn
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...