Høyt nivå vs. Lavt nivå programmeringsspråk Hvilket bør du lære?
Når du prøver å finne ut hvilket programmeringsspråk du skal lære 6 Letteste programmeringsspråk å lære for nybegynnere 6 Letteste programmeringsspråk å lære for nybegynnere Lære å programmere handler om å finne det riktige språket like mye som det handler om oppbyggingsprosessen. Her er de seks beste programmeringsspråket for nybegynnere. Les mer, du er sannsynlig å komme over vilkårene “høy level” og “lavt nivå.” Folk snakker hele tiden på høyt nivå og lavt nivå programmeringsspråk.
Men hva betyr det egentlig? Og hva betyr det for å lære å skrive kode? La oss starte med definisjonene av hver og gå derfra.
“høyere” og “Lavere nivå” Programmerings språk
Gjennom denne artikkelen skal jeg snakke om “høy-” og “lav-” nivå språk. Men det er det ingen spesifikke kvalifiserende kriterier for heller. Derfor snakker jeg også om “høyere” og “Nedre” nivåer.
Bare husk at det avhenger stort sett på ditt perspektiv. Hvis du er en C-programmerer, kan Java virke ganske høyt. Hvis du er vant til Ruby, kan Java virke som et språk på lavt nivå.
Maskinkode og lavnivå språk
Om et språk anses høyt eller lavt nivå (eller et sted i midten) handler alt om abstraksjon. Maskinkoden har ingen abstraksjon - den inneholder de enkelte instruksjonene som sendes til en datamaskin. Og fordi maskiner kun omhandler tall, er de representert i binær (selv om de noen ganger er skrevet i desimal eller heksadesimal notasjon).
Her er et eksempel på maskinkode (via Wikipedia):
8B542408 83FA0077 06B80000 0000C383 FA027706 B8010000 00C353BB 01000000 B9010000 008D0419 83FA0376 078BD989 C14AEBF1 5BC3
I maskinkode må operasjonen spesifiseres nøyaktig. For eksempel, hvis et stykke informasjon må hentes fra minnet, må maskinkoden fortelle datamaskinen hvor den er i minnet for å finne den.
Skrive direkte i maskinskoden er mulig, men veldig vanskelig.
Lavnivå programmeringsspråk legg til litt abstraksjon til maskinkoden. Denne abstraksjonen skjuler spesifikke maskinkodeanvisninger bak deklarasjoner som er mer menneskelige lesbare. Monteringsspråk er språk på laveste nivå ved siden av maskinskoden.
I maskinskode kan du skrive noe sånt “10110000 01100001” - men et samlingssprog kan forenkle det til “MOV AL, 61h“. Det er fortsatt en nesten en-til-en korrespondanse mellom det som er skrevet på forsamlingsspråket og instruksjonene som er sendt til maskinen.
Flytte inn i mer populære programmeringsspråk, kommer du til noe som C Egenskaper for C-programmering som gjør den unik (og bedre) Kjennetegn ved C-programmering som gjør den unik (og bedre) C-programmeringsspråket er moren til all moderne programmering språk. Nesten alle språkene som brukes i dag, inneholder flere funksjoner som først ble vist på C-språket. Les mer . Selv om det ikke er så lite som et monteringsspråk, er det fortsatt en sterk korrespondanse mellom hva som er skrevet i C og maskinskoden. De fleste operasjoner som er skrevet i C, kan fylles ut med et lite antall maskinskodeinstruksjoner.
Programmeringsspråk på høyt nivå
På samme måte som på lavere nivå, dekker høyere nivå et bredt spekter av abstraksjon. Noen, som Java (som du kan argumentere for, er faktisk a midtnivå programmeringsspråk), gir deg fortsatt mye kontroll over hvordan datamaskinen håndterer minne og data.
Andre, som Ruby og Python, er veldig abstrakte. De gir deg mindre tilgang til de lavere nivåfunksjonene, men syntaksen er mye lettere å lese og skrive. Du kan gruppere ting sammen i klasser, som arver egenskaper slik at du bare må deklarere dem en gang.
Variabler, objekter, rutiner og sløyfer er alle viktige deler av språk på høyt nivå. Disse og andre konsepter hjelper deg med å fortelle maskinen å gjøre mange ting med korte, kortfattede uttalelser.
Når et forsamlingssprog har en nesten en-til-en korrespondanse mellom kommandoer og maskinkodekommandoer, kan et språk på høyere nivå være i stand til å sende dusinvis av kommandoer med en enkelt linje med kode.
Det er viktig å merke seg det “Programmeringsspråk på høyt nivå” kan inkludere alt som er mer abstrakt enn et forsamlingssprog. Det avhenger av hvem som diskuterer emnet. Så når du snakker eller leser om språk, sørg for at du er på samme side.
Skal du lære et språk på lav eller høy nivå?
Dette er sikkert et vanlig spørsmål blant nye og ambisiøse programmerere. Er programmeringsspråk på høy eller lavt nivå bedre? Som det er tilfelle med mange programmeringsspørsmål, er spørsmålet om høyt nivå vs. lavt nivå programmeringsspråk ikke så greit.
Begge typer språk har viktige fordeler. Lavnivå språk, fordi de krever liten fortolkning av datamaskinen, kjører vanligvis veldig fort Hvorfor er noen programmeringsspråk raskere enn andre? Hvorfor er noen programmeringsspråk raskere enn andre? Det finnes mange programmeringsspråk der ute. De har alle individuelle quirks, brukt til forskjellige ting. Men hva gjør ett programmeringsspråk raskere enn et annet? Les mer . Og de gir programmerere mye kontroll over datalagring, minne og gjenfinning.
Språk på høyt nivå er imidlertid intuitivt lettere å forstå, og lar programmerere skrive kode mye mer effektivt. Disse språkene anses også å være “sikrere,” som det er flere sikringer på plass som holder kodere fra å utstede dårlige skriftlige kommandoer som kan forårsake skade. Men de gir ikke programmerere så mye kontroll over lavnivåprosesser.
Med dette i bakhodet er det et utvalg av populære språk på en skala fra lav til høy:
- C
- C++
- Java
- C #
- Perl
- Lisp
- Javascript
- Python
- Rubin
- SQL
Selvfølgelig er dette delvis subjektiv. Og det inkluderer bare a liten tverrsnitt av språkene som er tilgjengelige.
Men det bør gi deg en ide om hvor språkene du er interessert i, faller på skalaen.
Hva vil du gjøre?
Når du bestemmer deg for hva du vil lære, bør ditt første spørsmål være hva du vil programmere.
Hvis du ønsker å skrive operativsystemer, kjerner eller alt som trenger å kjøre med absolutt høyest mulig hastighet, kan et lavere språk være et godt valg. Mye av Windows, OS X og Linux er skrevet i C og C-avledede språk som C ++ og Objective-C.
Mange moderne apps er skrevet på høyere nivå eller til og med domenespesifikke språk. Python og Ruby er spesielt populære for webapps Hvordan velge riktig webprogrammeringsspråk å bruke Hvordan velge riktig webprogrammeringsspråk å bruke Hvorfor bør enkelte språk bli valgt over andre i et gitt scenario? Denne artikkelen vil gi en sjekkliste over spørsmål som programmereren burde spørre for å velge hvilket språk som skal brukes. Les mer, selv om HTML5 blir stadig sterkere. Språk som Swift, C #, JavaScript og SQL har alle sine egne sterke og svake sider.
Vurder å lære begge
Jeg har nylig lest en tråd om dette svært spørsmålet på et programmeringsforum, og kom over et interessant forslag: lære begge på en gang. Du får en dypere forståelse av hvilke typer abstraksjoner som gjør språket på høyere nivå mer effektivt.
Selvfølgelig er det ikke lett å lære to språk på en gang. 7 Nyttige triks for å mestre et nytt programmeringsspråk. 7 Nyttige triks for å mestre et nytt programmeringsspråk. Det er greit å bli overveldet når du lærer å kode. Du vil sikkert glemme ting så fort du lærer dem. Disse tipsene kan hjelpe deg å bedre beholde all den nye informasjonen. Les mer, så du vil kanskje skjære dem litt. Og å velge to språk som er like kan være nyttig også.
Igjen, vi går tilbake til det punktet jeg tok opp før: Velg et språk basert på hva du vil bygge. Gjør litt forskning for å finne ut hvilke språk folk i ditt felt bruker. Bruk deretter denne informasjonen til å velge et språk på høyt nivå og lavt nivå, og begynn å studere dem.
Du vil snart se parallellene, og du vil få en mye dypere forståelse av hvordan programmering fungerer.
Fokus på mål, ikke midler
Det er mange kriterier du kan bruke til å velge et programmeringsspråk. Høy-vs. lavt nivå er en av dem. Men i nesten alle tilfeller, kriteriene du bør bruke er hva du vil programmere.
Prosjektet ditt kan ha nytte av et språk på lavt nivå. Eller det kan være mye mer effektivt på et høyt nivå. Nøkkelen er å velge riktig verktøy for jobben. Fokus på målet ditt, og du velger det riktige språket hver gang.
Har du erfaring med både høy- og lavnivå språk? Foretrekker du den ene over den andre? Del dine tanker i kommentarene nedenfor!