Het schrijven van code op machineniveau is een moeilijk proces.
Afbeelding tegoed: Jupiterimages/Photos.com/Getty Images
Het doel van elke programmeertaal is om een computer te transformeren van een dure elektronische presse-papier in een nuttig apparaat voor gegevensverwerking en opslag. Het kiezen van een taal om deze taak uit te voeren is een afweging tussen efficiëntie en gebruiksgemak. Machinetaal vertegenwoordigt de uiterste uiteinden van het spectrum voor beide factoren.
Machinetaal
Machinetaal produceert de enige set instructies die een computer begrijpt zonder vertaler. Computers slagen erin om audio- en videoweergave, gegevensverwerking en -opslag, internet communicatie en alle andere gespecialiseerde taken door te reageren op een instructieset die alleen die herkent en nullen. Het schrijven van honderden regels code bestaande uit enen en nullen is een veeleisend en vervelend proces dat verantwoordelijk is voor de populariteit van hogere talen zoals C en Java.
Video van de dag
Vroege voordelen
De eerste IBM-pc was uitgerust met 512 kilobyte random access memory en een floppydrive van 360 kilo. Nadat het besturingssysteem vanaf het diskettestation in het geheugen was geladen, werden programma's in de resterende geheugenruimte waardoor een zeer klein RAM-gebied overblijft, vaak minder dan 100 kilobytes, voor het actieve programma om te verwerken gegevens. Tijdens deze periode was de belangrijkste zorg van een programmeur slanke, efficiënte code. De programmeertools bij uitstek op deze vroege computers waren meestal machinetaal, die aanzienlijk kleiner kan zijn dan een versie geschreven in BASIC of C. Het was ook wat gemakkelijker om afstammeling, assembler te gebruiken.
Platformafhankelijkheid
Machinetaal pakt de hardware van de computer rechtstreeks aan, waardoor de programmeur volledige controle heeft over elk aspect van de uitvoering van een programma. Het nadeel van deze benadering is dat de programmeur de architectuur van elke chipset moet kennen voordat hij effectieve code kan schrijven. Wanneer bijvoorbeeld een onderdeel, zoals een videokaart of drivecontroller, wordt gewijzigd, moet de machinetaalcode worden bijgewerkt om het nieuwe apparaat te herkennen en te adresseren.
Talen op hoog niveau
De voordelen van machinetaal op het gebied van snelheid en kleine geheugenvoetafdruk wegen steeds meer op tegen de moeilijkheid om instructies op chipniveau in binaire code te schrijven. Gigabytes RAM en terabytes beschikbare opslagruimte hebben de behoefte aan slanke, efficiënte code in moderne personal computers geëlimineerd. De extra geheugen- en opslagvereisten die worden gesteld door programma's die zijn geschreven in hogere talen zoals C en Java, zijn niet langer een factor bij het kiezen van een ontwikkelplatform. Gebruiksgemak en zorgen over toekomstig programmaonderhoud nemen de plaats in van snelheid en efficiëntie in de meeste moderne softwareprojecten.