Å skrive maskinnivåkode er en vanskelig prosess.
Bildekreditt: Jupiterimages/Photos.com/Getty Images
Hensikten med ethvert programmeringsspråk er å forvandle en datamaskin fra en kostbar elektronisk papirvekt til en nyttig databehandlings- og lagringsenhet. Å velge et språk for å utføre denne oppgaven er en avveining mellom effektivitet og brukervennlighet. Maskinspråk representerer de ekstreme endene av spekteret for begge disse faktorene.
Maskinspråk
Maskinspråk produserer det eneste settet med instruksjoner som en datamaskin forstår uten en oversetter. Datamaskiner klarer å oppnå lyd- og videoreproduksjon, databehandling og lagring, Internett kommunikasjon og alle andre spesialiserte oppgaver ved å svare på et instruksjonssett som bare gjenkjenner dem og nuller. Å skrive hundrevis av linjer med kode som består av enere og nuller er en krevende og kjedelig prosess som står for populariteten til språk på høyere nivå som C og Java.
Dagens video
Tidlige fordeler
Den første IBM personlige datamaskinen var utstyrt med 512 kilobyte med tilfeldig tilgangsminne og en 360 kilobyte diskettstasjon. Etter at operativsystemet ble lastet inn i minnet fra diskettstasjonen, ble programmer lastet inn i de resterende minneplass som etterlater et veldig lite område med RAM, ofte mindre enn 100 kilobyte, for det aktive programmet å behandle data. I løpet av denne perioden var en programmerers viktigste bekymring slank, effektiv kode. De valgte programmeringsverktøyene på disse tidlige datamaskinene var vanligvis maskinspråk, som kan være betydelig mindre enn en versjon skrevet i BASIC eller C. Det var også noe lettere å bruke etterkommer, assembly-språk.
Plattformavhengighet
Maskinspråk adresserer datamaskinens maskinvare direkte, og gir programmereren full kontroll over alle aspekter av et programs utførelse. Ulempen med denne tilnærmingen er at programmereren må kjenne arkitekturen til hvert brikkesett før han kan skrive effektiv kode. Når en komponent som et skjermkort eller stasjonskontroller endres, for eksempel, må maskinspråkkoden oppdateres for å gjenkjenne og adressere den nye enheten.
Språk på høyt nivå
Fordelene ved maskinspråks hastighet og små minneavtrykk oppveies i økende grad av vanskeligheten med å skrive instruksjoner på brikkenivå i binær kode. Gigabyte med RAM og terabyte med tilgjengelig lagring har eliminert kravet til mager, effektiv kode i moderne personlige datamaskiner. De ekstra minne- og lagringskravene som stilles av programmer skrevet på overordnede språk som C og Java er ikke lenger en faktor når du velger en utviklingsplattform. Brukervennlighet og fremtidig programvedlikehold tar plassen for hastighet og effektivitet i de fleste moderne programvareprosjekter.