Innehåll
Målet med varje programmeringsspråk är att göra en dyr pappersdator till en användbar databehandlings- och lagringsenhet. Språket som valts för att utföra denna uppgift måste balanseras mellan effektivitet och användarvänlighet. Maskinspråket representerar ändarna av spektrumet för båda faktorerna.
Maskinspråk
Maskinspråk producerar den enda uppsättning instruktioner som en dator förstår utan en översättare. Datorer kan spela upp ljud och video, bearbeta och lagra data, kommunicera med internet och utföra andra specialiserade uppgifter och svara på en uppsättning instruktioner som bara känner igen enor och nollor. Att skriva hundratals rader kod med endast enor och nollor är en tråkig uppgift som bidrar till populariteten hos högnivåspråk, som C och Java.
Inledande fördelar
IBMs första persondator var utrustad med 512 kB slumpminne och en 360 kB-diskettenhet. Efter att operativsystemet laddats in i minnet från disketten, laddades program in i det återstående minnesutrymmet och lämnar ett litet RAM-minne, vanligtvis mindre än 100 kB, för det aktiva programmet att bearbeta data. Under den tiden var en programmerares främsta intresse att skapa kortfattad och effektiv kod. Programmeringsverktyget som mest användes på dessa datorer var maskinspråket, som kan vara betydligt mindre än en version skriven i BASIC eller C. Det var också lite lättare att använda monteringsspråket.
Plattformberoende
Maskinspråket pekar direkt på datorns hårdvara, vilket ger programmeraren fullständig kontroll över alla aspekter av att köra ett program. Nackdelen med detta tillvägagångssätt är att programmeraren måste känna arkitekturen för varje uppsättning integrerade kretsar (chipsets) för att skriva effektiv kod. När en komponent som ett grafikkort eller en skivkontroll ändras måste koden uppdateras för att känna igen och använda den nya enheten.
Språk på hög nivå
Maskinspråkets fördelar med hastighet och lågt minne uppvägs av svårigheten att skriva instruktioner på chipnivå i binär kod. Tillgången på gigabyte RAM och terabyte lagring har eliminerat behovet av kortfattad och effektiv kod på moderna persondatorer. De extra minnes- och lagringskraven för program skrivna på högnivåspråk, som C och Java, är inte längre en faktor när man väljer en utvecklingsplattform. Användarvänlighet och underhåll är föredragna faktorer för hastighet och effektivitet i de flesta moderna programvaruprojekt.