Broncode: verschil tussen versies

Verwijderde inhoud Toegevoegde inhoud
MrBlueSky (overleg | bijdragen)
MrBlueSky (overleg | bijdragen)
→‎Gebruik van de broncode: vrijwel alle talen gebruiken een VM
Regel 6:
 
* Met een compiler: Een compiler zet de broncode om in machinetaal zodat deze uitgevoerd kan worden. Als de compiler eerst assembly-code genereert moet de [[assembler (software)|assembler]] dat eerst naar machinetaal vertalen om het uitvoerbare programma te verkrijgen.
* Met een interpreter: De broncode kan in sommige gevallen ook uitgevoerd worden met een interpreter, een programma dat de broncode gelijk uitvoert. Dit is doorgaans een stuk langzamer dan een gecompileerd programma, aangezien elke regel van de code eerst omgezetverwerkt moet worden naarvoordat machinetaal, waarna hetdeze uitgevoerd wordt. EenIn interpreterde praktijk zetten diemoderne directinterpreters de broncode uitvoerteerst isom mogelijkin een [[interne representatie]], maarwat wordtook ineen verbandvorm metvan decompileren slechtereis, prestatieom nietdeze gebruiktinterne voorrepresentatie veeleisendevan toepassingenhet programma vervolgens uit te voeren.
* Middels een aparte [[virtuele machine]]. Bij veel moderne programmeertalen, zoals [[C♯|C#]], [[Programmeertaal Java|Java]], [[Perl (programmeertaal)|Perl 6]] en [[Scala_(programmeertaal)|Scala]] wordt meestal een mengvorm gebruikt: de broncode wordt eerst gecompileerd naar een tussentaal ([[bytecode]], [[P-code]] of 'managed code' [[MSIL]]), die vervolgens door een aparte ''virtuele machine'' wordt geïnterpreteerd. Enkele voordelen van deze constructie zijn:
** De gecompileerde code is platformonafhankelijk.
** De interpreter kan op het moment van uitvoeren nog bepaalde controles en bewerkingen uitvoeren, zoals de [[sandbox security]] van Java-[[applet]]s en een optimalisatie van de performance.