Inhoud
Het doel van elke programmeertaal is om van een dure presse-papiercomputer een handig gegevensverwerkings- en opslagapparaat te maken. De taal die wordt gekozen om deze taak uit te voeren, moet in evenwicht zijn tussen efficiëntie en gebruiksgemak. Machinetaal vertegenwoordigt voor beide factoren de uiteinden van het spectrum.
Machinetaal
Machinetaal produceert de enige set instructies die een computer zonder vertaler begrijpt. Computers kunnen audio en video afspelen, gegevens verwerken en opslaan, communiceren met internet en andere gespecialiseerde taken uitvoeren, waarbij ze reageren op een reeks instructies die alleen enen en nullen herkent. Het schrijven van honderden regels code met alleen enen en nullen is een vervelende taak die bijdraagt aan de populariteit van talen op hoog niveau, zoals C en Java.
Eerste voordelen
De eerste personal computer van IBM was uitgerust met 512 KB random access memory en een 360 KB floppy disk drive. Nadat het besturingssysteem vanaf de floppydisk in het geheugen was geladen, werden de programma's in de resterende geheugenruimte geladen, waardoor er een klein RAM-gebied overbleef, meestal minder dan 100 KB, zodat het actieve programma gegevens kon verwerken. Gedurende die tijd was de primaire zorg van een programmeur het maken van beknopte en efficiënte code. De meest gebruikte programmeertaal op deze computers was de machinetaal, die aanzienlijk kleiner kan zijn dan een versie geschreven in BASIC of C. Het was ook iets gemakkelijker om de assembleertaal te gebruiken.
Platformafhankelijkheid
De machinetaal verwijst rechtstreeks naar de hardware van de computer, waardoor de programmeur volledige controle heeft over elk aspect van het uitvoeren van een programma. Het nadeel van deze benadering is dat de programmeur de architectuur van elke set geïntegreerde schakelingen (chipsets) moet kennen om effectieve code te schrijven. Wanneer een onderdeel zoals een videokaart of schijfcontroller wordt gewijzigd, moet de code worden bijgewerkt om het nieuwe apparaat te herkennen en te gebruiken.
Talen op hoog niveau
De voordelen van snelheid en laag geheugengebruik van de machinetaal worden gecompenseerd door de moeilijkheid om instructies op chipniveau in binaire code te schrijven. De beschikbaarheid van gigabytes aan RAM en terabytes aan opslag heeft de behoefte aan beknopte en efficiënte code op moderne personal computers geëlimineerd. De extra geheugen- en opslagvereisten van programma's die zijn geschreven in talen van hoog niveau, zoals C en Java, spelen niet langer een rol bij het kiezen van een ontwikkelplatform. Gebruiksgemak en onderhoud zijn geprefereerde factoren voor snelheid en efficiëntie bij de meeste moderne softwareprojecten.