Programmeergereedschap

Vertaling van mens- naar computertaalEdit

De moderne computers zijn zeer complex en om ze productief te kunnen programmeren, zijn verschillende abstracties nodig. Een programmeur schrijft bijvoorbeeld een programma in een programmeertaal als C, Java of Python, in plaats van de binaire representatie van een programma op te schrijven. Programmeergereedschappen als assemblers, compilers en linkers vertalen een programma van een door mensen schrijfbare en leesbare brontaal in bits en bytes die door een computer kunnen worden uitgevoerd. Interpreteerders interpreteren het programma tijdens het uitvoeren om het gewenste gedrag te verkrijgen.

Deze programma’s voeren veel welomschreven en repeterende taken uit die, wanneer ze door een mens zouden worden uitgevoerd, toch tijdrovend en foutgevoelig zouden zijn, zoals het uitzetten van delen van een programma in het geheugen en het repareren van de verwijzingen tussen delen van een programma zoals een linker dat doet.Optimaliserende compilers daarentegen kunnen complexe transformaties in de broncode uitvoeren om de uitvoeringssnelheid of andere karakteristieken van een programma te verbeteren. Hierdoor kan een programmeur zich meer richten op de conceptuele aspecten van een programma op een hoger niveau, zonder zich zorgen te hoeven maken over de details van de machine waarop het programma draait.

Programma-informatie beschikbaar maken voor mensen

Door de grote complexiteit van software is het zelfs voor de meest ervaren software-ontwikkelaar niet mogelijk om de meeste programma’s in één oogopslag te begrijpen.De abstracties die worden geboden door programmeertalen op hoog niveau maken het ook moeilijker om het verband te begrijpen tussen de broncode die door een programmeur is geschreven en het feitelijke gedrag van het programma.Om fouten in programma’s te vinden en om te voorkomen dat er nieuwe fouten worden gemaakt bij het uitbreiden van een programma, gebruikt een software-ontwikkelaar bepaalde programmeerhulpmiddelen om allerlei informatie over programma’s zichtbaar te maken.

Een debugger bijvoorbeeld stelt een programmeur in staat om informatie over een lopend programma te extraheren in termen van de brontaal die is gebruikt om het te programmeren.De debugger kan de waarde van een variabele in het bronprogramma berekenen uit de toestand van de concrete machine door gebruik te maken van informatie die is opgeslagen door de compiler. Geheugen debuggers kunnen direct wijzen op twijfelachtige of ronduit verkeerde geheugentoegangen van lopende programma’s die anders onopgemerkt zouden blijven en een veel voorkomende bron van programma mislukkingen zijn.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *