At skrive kode på maskinniveau er en vanskelig proces.
Billedkredit: Jupiterimages/Photos.com/Getty Images
Formålet med ethvert programmeringssprog er at omdanne en computer fra en dyr elektronisk papirvægt til en nyttig databehandlings- og lagringsenhed. At vælge et sprog til at udføre denne opgave er en afvejning mellem effektivitet og brugervenlighed. Maskinsprog repræsenterer de ekstreme ender af spektret for begge disse faktorer.
Maskinsprog
Maskinsprog producerer det eneste sæt instruktioner, som en computer forstår uden en oversætter. Computere formår at udføre lyd- og videogengivelse, databehandling og lagring, internet kommunikation og alle andre specialiserede opgaver ved at reagere på et instruktionssæt, der kun genkender dem og nuller. At skrive hundredvis af linjer kode bestående af enere og nuller er en krævende og kedelig proces, der tegner sig for populariteten af sprog på højere niveau som C og Java.
Dagens video
Tidlige fordele
Den første IBM personlige computer var udstyret med 512 kilobyte hukommelse og et 360 kilobyte diskettedrev. Efter at operativsystemet blev indlæst i hukommelsen fra diskettedrevet, blev programmer indlæst i de resterende hukommelsesplads, der efterlader et meget lille RAM-område, ofte mindre end 100 kilobyte, som det aktive program kan behandle data. I denne periode var en programmørs største bekymring slank, effektiv kode. De valgte programmeringsværktøjer på disse tidlige computere var normalt maskinsprog, som kan være betydeligt mindre end en version skrevet i BASIC eller C. Det var også noget nemmere at bruge efterkommersprog.
Platform afhængighed
Maskinsprog henvender sig direkte til computerens hardware, hvilket giver programmøren fuld kontrol over alle aspekter af et programs udførelse. Ulempen ved denne tilgang er, at programmøren skal kende hvert chipsets arkitektur, før han kan skrive effektiv kode. Når en komponent, såsom et videokort eller drevcontroller, for eksempel ændres, skal maskinsprogkoden opdateres for at genkende og adressere den nye enhed.
Sprog på højt niveau
Fordelene ved maskinsprogets hastighed og lille hukommelsesfodaftryk opvejes i stigende grad af vanskeligheden ved at skrive instruktioner på chipniveau i binær kode. Gigabyte RAM og terabytes tilgængelig lagerplads har elimineret kravet om slank, effektiv kode i moderne personlige computere. De ekstra hukommelses- og lagerkrav, der stilles af programmer skrevet på overordnede sprog som C og Java, er ikke længere en faktor, når du vælger en udviklingsplatform. Brugervenlighed og fremtidig programvedligeholdelse tager pladsen for hastighed og effektivitet i de fleste moderne softwareprojekter.