Forskjeller mellom høynivå og lavnivå Programmeringsspråk

Forskjeller mellom høynivå og lavnivå Programmeringsspråk


Uansett hva slags språk du bruker til å skrive et program, får datamaskinen kommandoer fra samme sett med svært enkle instruksjoner definert av sin arkitektur. Høyt nivå språk, for eksempel objektorienterte og skriptspråk, gir programmerere et nyttig verktøy for å ringe kombinasjoner av disse enkle instruksjonene i en konsis og lesbar format. Lav-nivå språk gi datamaskinen sine instruksjoner en om gangen, og krever kunnskap om sine CPU-registre og instruksjonssett arkitektur.

Maskinkode og Assembly programmering

Montering språk var det første forsøket på å gjøre programmeringen enklere for folk enn direkte leveranser maskinkode til CPU. Maskinkoden er den mest grunnleggende form for datamaskin instruksjon, kodet som heltall i binært format. Montering bruker et konsept kalt abstraksjon å konvertere lesbar kommandoer, som ADD, MOV og INC, til tall som en datamaskin forstår. Selv om montering programmering bruker abstraksjon, det er et lavt nivå språk fordi det krever kunnskap om datamaskinens arkitektur. Derfor, i motsetning til høyt nivå kode, montering kode for en arkitektur, slik som x86, er uforenlig med en annen, slik som PowerPC.

Montører, kompilatorer og tolker

Low-level språk bruker montører til å skanne lesbar kode og ordne monteringsanvisning i en sekvens kompatibel med en CPU utsendelse enhet, den komponenten som utfører hver instruksjon. Høyt nivå språk bruker kompilatorer eller tolker til å konvertere svært abstrakt lesbar kode til maskinkode under kjøring eller kompilere tid. Kompilatorer produsere raskere å kjøre programmer enn tolker gjøre fordi kompilatorer konvertere alle lesbar kommandoer til maskinkode før programmet kjøres. Tolker konvertere kildekoden til maskinkode under kjøring, som hver instruksjonen utføres, noe som reduserer ytelsen.

Typer av høynivåspråk

Språk som C, C ++ og Java bruke kompilatorer, og av disse tre, er C den raskeste fordi den ikke krever en oppslagstabell for klasser, som C ++ gjør, eller kjøres i en virtuell maskin, som Java gjør. Skriptspråk som Python, PHP og Bash, kjøre i tolker og trenger ikke å være sammensatt. Dette bekvemmelighet gjør dem ideelle for å skrive kode som må oppdateres ofte, men det gjør dem dårlige valg for ytelsesintensive oppgaver, for eksempel 3-D rendering. De fleste høyt nivå språk er imperative språk fordi de eksplisitt definere hver instruksjon samt ordre i programmet. Mindre brukte funksjonelle språk, for eksempel Haskell, kvikksølv og SequenceL, forteller datamaskinen hvordan å komme fram til det ønskede resultatet uten å definere en steg-for-trinn prosedyre.

Objektorientert programmering

OOP språk, for eksempel C ++, Objective C, Java, Python og PHP, er de mest vanlige programmeringsspråk og kan bruke kompilatorer eller tolker. Hva gjør dem forskjellig fra andre høynivå språk er deres bruk av klasser, arv og polymorfisme. Disse begrepene ta måneder av studiet til å forstå, men på en enkel måte, er en klasse en passelig datastruktur med innebygde funksjoner for å endre tilstanden sin data; arv er prosessen med å legge datafelt og funksjoner til eksisterende klasser for å danne nye barne klasser; og polymorfisme er muligheten for en klasse for å ha mange identiteter samtidig. På grunn av denne klassen hierarkiet, OOP språk ta lengre tid å kompilere og kjøre enn andre høynivå språk, men prosessen med arv gjør dem bedre for å organisere store programmer med mange komponenter og formål.