Compiler versus tolk
Wanneer u programma's in een taal op hoog niveau schrijft, kan de computer dit niet begrijpen. Zodat het bruikbaar zal zijn, moet u het converteren naar iets dat een computer begrijpt. Hier komen compilers en tolken binnen omdat ze allebei dezelfde functie vervullen. Het belangrijkste verschil tussen een compiler en een interpreter is wanneer ze de code uitvoeren. Met een interpreter wordt de code meteen uitgevoerd terwijl de tolk de geïnterpreteerde code doorgeeft aan de computer. Ter vergelijking: een compiler voert de code niet uit. In plaats daarvan schrijft het de voltooide code naar de schijf. De code die naar de schijf is geschreven, kan vervolgens op elk gewenst moment worden uitgevoerd.
Het belangrijkste verschil tussen de interpreter en de compiler levert een andere op. Omdat de tolk nodig is wanneer u een programma uitvoert, moet u een interpreter hebben geïnstalleerd als u het programma op uw computer wilt uitvoeren. Dit is niet het geval met een compiler. Nadat het programma is gecompileerd, hebt u alleen het gecompileerde programma nodig en niet de compiler of de originele code.
Een voordeel van het gebruik van een tolk in plaats van een compiler is de mogelijkheid om het programma uit te voeren op computers met verschillende besturingssystemen; aangezien je de juiste tolk hebt. Wanneer u een programma compileert, zou het alleen voor een specifiek besturingssysteem zijn en zou het niet op anderen draaien. Om het op een ander besturingssysteem te laten werken, moet u uw code voor dat besturingssysteem optimaliseren en het opnieuw compileren.
Het nadeel van het gebruik van een tolk is de extra overhead. Een interpreter heeft enige verwerkingscapaciteit nodig en elke regel code zou tijdens runtime worden geïnterpreteerd. Dit is niet het geval als u een gecompileerd programma hebt, omdat het besturingssysteem het rechtstreeks kan lezen en elke opdracht kan uitvoeren. De extra stap van het interpreteren van code zorgt ervoor dat het geïnterpreteerde programma aanzienlijk langzamer draait dan gecompileerde code. De tolk kan ook geen gebruik maken van OS-specifieke optimalisaties waarmee een samengesteld programma efficiënter kan werken.
Kiezen tussen een compiler en een interpreter moet afhangen van of u draagbaarheid of prestaties wilt.
Samenvatting: