Programmeertalen vallen uiteen in twee verschillende families: gecompileerd en geïnterpreteerd. Een gecompileerde taal wordt gecodeerd door een mens, waarna die broncode wordt vertaald in assembleertaal, zodat het doelprogramma wordt uitgevoerd en een gewenst resultaat oplevert. Een geïnterpreteerde taal wordt echter in realtime gecompileerd wanneer deze wordt uitgevoerd en gebruikt vaak een eenvoudigere en mensvriendelijkere syntaxis voor codering. De keuze van een gecompileerde versus geïnterpreteerde taal zou geen belangrijke factor moeten zijn wanneer u overweegt een nieuwe programmeertaal te leren.
Wat is een samengestelde taal?
Overweeg een eenvoudig programma, helloworld.c, geschreven in de programmeertaal C: #include
int hoofd()
{
printf(“Hallo wereld”);
}
C is een voorbeeld van een gecompileerde taal. Om de bovenstaande code uit te voeren, moet u deze door een C-compiler laten gaan – een programma dat uw code interpreteert om een binair programma te construeren. Om een eenvoudig C-programma in Linux te compileren, gebruik je de gcc compiler: gcc helloworld.c -o hallo
De bovenstaande opdracht verandert de code van een door mensen leesbaar formaat in machinecode die de computer native kan uitvoeren. Een gecompileerd programma wordt uitgevoerd door de naam van het gecompileerde programma vanuit de shell uit te voeren: ./hello
Sterke en zwakke punten
De voordelen van het gebruik van een compiler om code te compileren is dat het eindproduct over het algemeen sneller werkt dan geïnterpreteerde code, omdat het niet on-the-fly hoeft te compileren terwijl de toepassing draait. Het gecompileerde programma is tijdens het compileren op fouten gecontroleerd. Als er commando’s zijn die de compiler niet leuk vindt, dan zullen deze worden gerapporteerd. Deze foutcontrole helpt je om alle codeerfouten op te lossen voordat je een goed werkend eindproduct hebt. Het feit dat een programma succesvol is gecompileerd, betekent niet dat het zal werken zoals u verwacht, dus u moet uw toepassing nog steeds testen. Een C-programma dat op een Linux-computer is gecompileerd, kan echter niet worden uitgevoerd op een Windows-computer, omdat de compiler de nodige hulpmiddelen bevat om de toepassing op een specifiek platform uit te voeren, meestal het platform waarop het is gecompileerd. Om hetzelfde C-programma op een Windows-computer te laten draaien, moet u het programma opnieuw compileren met een C-compiler op een Windows-computer.
Wat is een geïnterpreteerde taal?
Python is een populaire geïnterpreteerde taal. afdrukken (“hallo wereld”)
De bovenstaande code is een python-programma dat de woorden zal weergeven: Hallo Wereld wanneer het wordt uitgevoerd. Om de code uit te voeren, hoeven we deze niet eerst te compileren. In plaats daarvan kunnen we eenvoudig de volgende opdracht uitvoeren: python helloworld.py
U kunt het ook gewoon typen vanuit de Python-interactieve interpreter. Dit kleine programma met één regel hoeft niet eerst te worden gecompileerd, maar het vereist wel dat Python is geïnstalleerd op elke machine waarop het script wordt uitgevoerd. De Python-interpreter neemt de door mensen leesbare code en verandert deze in iets anders voordat het iets wordt dat de machine kan lezen. Dit gebeurt allemaal achter de schermen en als gebruiker zie je alleen de woorden Hallo Wereld afgedrukt naar standaarduitvoer.
Sterke en zwakke punten
Over het algemeen werkt geïnterpreteerde code langzamer dan gecompileerde code, omdat de interpreter het programma on-the-fly vertaalt naar iets dat de machine aankan. Hoewel deze efficiëntieslag misschien een nadeel lijkt, zijn geïnterpreteerde talen om verschillende redenen nuttig. Ten eerste is het veel gemakkelijker om een programma geschreven in Python te laten draaien op Linux, Windows en macOS. Het enige dat u hoeft te doen, is ervoor zorgen dat Python is geïnstalleerd op de computer waarop u het script wilt uitvoeren. Een ander voordeel is dat de code altijd beschikbaar is om te lezen en eenvoudig kan worden gewijzigd om te werken zoals u dat wilt. Met gecompileerde code moet u zoeken waar de code wordt bewaard, deze wijzigen, compileren en het programma opnieuw implementeren. Met geïnterpreteerde code opent u het programma, wijzigt u het en is het klaar voor gebruik.