Assemblagetaal
Wat is een assembleertaal?
Assembler is een soort low-level programmeertaal taal die bedoeld is om rechtstreeks te communiceren met de hardware van een computer. In tegenstelling tot machinetaal, die uit binaire en hexadecimale tekens bestaat, zijn assemblagetalen zo ontworpen dat ze door mensen kunnen worden gelezen.
Programmeertalen op laag niveau, zoals assembleertaal, vormen een noodzakelijke brug tussen de onderliggende hardware van een computer en de programmeertalen op een hoger niveau – zoals Python of JavaScript – waarin moderne softwareprogramma’s worden geschreven.
Belangrijkste leerpunten
- Een assembleertaal is een soort programmeertaal die talen op hoog niveau vertaalt in machinetaal.
- Het is een noodzakelijke brug tussen softwareprogramma’s en hun onderliggende hardwareplatforms.
- Tegenwoordig worden assembleertalen zelden rechtstreeks geschreven, hoewel ze nog steeds worden gebruikt in sommige nichetoepassingen, bijvoorbeeld wanneer de prestatie-eisen bijzonder hoog zijn.
Hoe montagetalen werken
In wezen zijn de meest elementaire instructies die door een computer worden uitgevoerd, binaire codes, bestaande uit enen en nullen. Die codes worden direct vertaald in de “aan” en “uit” -toestanden van de elektriciteit die door de fysieke circuits van de computer beweegt. In wezen vormen deze eenvoudige codes de basis van “machinetaal”, de meest fundamentele variant van programmeertaal.
Natuurlijk zou geen mens in staat zijn om moderne softwareprogramma’s te bouwen door expliciet enen en nullen te programmeren. In plaats daarvan moeten menselijke programmeurs vertrouwen op verschillende abstractielagen die zichzelf in staat stellen hun commando’s te formuleren in een formaat dat meer intuïtief is voor mensen. In het bijzonder geven moderne programmeurs opdrachten uit in zogenaamde “talen op hoog niveau”, die gebruik maken van intuïtieve syntaxis zoals hele Engelse woorden en zinnen, evenals logische operatoren zoals “En”, “Of” en “Anders” die zijn bekend bij alledaags gebruik.
Uiteindelijk moeten deze commando’s op hoog niveau echter in machinetaal worden vertaald. In plaats van dit handmatig te doen, vertrouwen programmeurs op assembleertalen die tot doel hebben automatisch te vertalen tussen deze talen op hoog en laag niveau. De eerste assembleertalen werden ontwikkeld in de jaren veertig en hoewel moderne programmeurs heel weinig tijd besteden aan het omgaan met assembleertalen, blijven ze niettemin essentieel voor het algehele functioneren van een computer.
Voorbeeld uit de echte wereld van een assembleertaal
Tegenwoordig blijven assembleertalen het onderwerp van studie door computerwetenschappers, om hen te helpen begrijpen hoe moderne software zich verhoudt tot de onderliggende hardwareplatforms. In sommige gevallen moeten programmeurs blijven schrijven in assembleertalen, bijvoorbeeld wanneer de prestaties bijzonder hoog zijn, of wanneer de hardware in kwestie niet compatibel is met de huidige talen op hoog niveau.
Een voorbeeld dat relevant is voor de financiering, zijn de hoogfrequente handelsplatforms (HFT) die door sommige financiële bedrijven worden gebruikt. Op deze markt is de snelheid en nauwkeurigheid van transacties van het grootste belang om ervoor te zorgen dat de HFT-handelsstrategieën winstgevend zijn. Om een voorsprong te nemen op hun concurrenten, hebben sommige HFT-bedrijven hun handelssoftware daarom rechtstreeks in assembleertalen geschreven, waardoor het niet nodig is te wachten tot de commando’s van een taal op een hoger niveau in machinetaal zijn vertaald.