Het doel van elke programmeertaal is een computer transformeren van een dure elektronische presse-papier in een bruikbare gegevensverwerking en opslaginrichting. Het kiezen van een taal om deze taak te volbrengen is een trade-off tussen efficiëntie en gebruiksgemak. Machine taal de uiteinden van het spectrum voor beide factoren.
machine Taal
Machine taal produceert de enige reeks instructies die een computer begrijpt zonder vertaler. Computers in slagen om audio- en videoweergave, data verwerking en opslag, internet communicatie en alle andere gespecialiseerde taken uit te voeren door te reageren op een instructie set die alleen enen en nullen herkent. Het schrijven van honderden regels code, bestaande uit enen en nullen is een veeleisende en moeizaam proces, dat goed is voor de populariteit van een hoger niveau talen zoals C en Java.
vroege Voordelen
De eerste IBM personal computer was uitgerust met 512 kilobyte RAM-geheugen en een 360-kilobyte floppy drive. Nadat het besturingssysteem uit het diskettestation in het geheugen werd geladen, werden programma's geladen in de resterende geheugenruimte verlaten van een zeer klein gebied van RAM, vaak minder dan 100 kilobytes, voor het actieve programma om gegevens te verwerken. Gedurende deze periode, een programmeur's voornaamste zorg was mager, efficiënte code. De programmeertools keuze op deze vroege computers waren meestal machinetaal, die aanzienlijk kleiner zijn dan een versie geschreven in BASIC of C. Het was ook iets makkelijker te afstammeling, assembler gebruikt kan worden.
platform Afhankelijkheid
Machine taal richt zich op de hardware van de computer direct, waardoor de programmeur de volledige controle over elk aspect van de uitvoering van een programma. Het nadeel van deze aanpak is dat de programmeur de architectuur van elke chipset moet weten voordat hij effectief code kan schrijven. Wanneer een component, zoals een videokaart of aandrijvingscontrolemechanisme wordt veranderd, bijvoorbeeld de machinetaal code moet worden bijgewerkt te herkennen en het adres van de nieuwe inrichting.
High-Level Languages
De snelheid en kleine memory footprint voordelen van machinetaal in toenemende mate gecompenseerd door de moeilijkheid van het schrijven van instructies chip-niveau in binaire code. Gigabyte RAM en terabytes aan beschikbare opslagruimte hebben de eis van lean, efficiënte code in de moderne personal computers geëlimineerd. De extra geheugen en opslag eisen van programma's geschreven in hogere talen zoals C en Java zijn niet langer een factor bij het kiezen van een ontwikkelplatform. Gebruiksgemak en toekomstige programma onderhoud betreft de plaats innemen van de snelheid en efficiëntie in de meeste moderne software projecten.