Att skriva maskinnivåkod är en svår process.
Bildkredit: Jupiterimages/Photos.com/Getty Images
Syftet med alla programmeringsspråk är att förvandla en dator från en dyr elektronisk pappersvikt till en användbar databehandlings- och lagringsenhet. Att välja ett språk för att utföra denna uppgift är en avvägning mellan effektivitet och användarvänlighet. Maskinspråk representerar de yttersta ändarna av spektrumet för båda dessa faktorer.
Maskinspråk
Maskinspråk producerar den enda uppsättning instruktioner som en dator förstår utan en översättare. Datorer lyckas åstadkomma ljud- och videoreproduktion, databearbetning och lagring, Internet kommunikation och alla andra specialiserade uppgifter genom att svara på en instruktionsuppsättning som bara känner igen en och nollor. Att skriva hundratals rader kod som består av ettor och nollor är en krävande och tråkig process som förklarar populariteten för språk på högre nivå som C och Java.
Dagens video
Tidiga fördelar
Den första IBM-datorn var utrustad med 512 kilobyte slumpmässigt minne och en 360-kilobyte diskettenhet. Efter att operativsystemet laddats in i minnet från diskettenheten, laddades program in i de återstående minnesutrymme som lämnar en mycket liten yta av RAM, ofta mindre än 100 kilobyte, för det aktiva programmet att bearbeta data. Under denna period var programmerarens huvudsakliga bekymmer slank, effektiv kod. De valda programmeringsverktygen på dessa tidiga datorer var vanligtvis maskinspråk, som kan vara betydligt mindre än en version skriven i BASIC eller C. Det var också något lättare att använda efterkommande, assemblerspråk.
Plattformsberoende
Maskinspråk adresserar datorns hårdvara direkt, vilket ger programmeraren fullständig kontroll över varje aspekt av ett programs exekvering. Nackdelen med detta tillvägagångssätt är att programmeraren måste känna till arkitekturen för varje chipset innan han kan skriva effektiv kod. När en komponent som ett grafikkort eller en enhetskontroll ändras, till exempel, måste maskinspråkskoden uppdateras för att känna igen och adressera den nya enheten.
Språk på hög nivå
Maskinspråkets hastighet och små minnesfördelar uppvägs i allt högre grad av svårigheten att skriva instruktioner på chipnivå i binär kod. Gigabyte RAM och terabyte tillgängligt lagringsutrymme har eliminerat kravet på slank, effektiv kod i moderna persondatorer. De extra minnes- och lagringskraven som ställs av program skrivna på högre språk som C och Java är inte längre en faktor vid val av utvecklingsplattform. Användarvänlighet och framtida programunderhåll tar plats för snabbhet och effektivitet i de flesta moderna programvaruprojekt.