Broncode: verschil tussen versies

6 bytes toegevoegd ,  3 jaar geleden
geen bewerkingssamenvatting
(Broncode is per definitie door mensen geschreven - Assembler kan een broncode zijn, assembler is geen machinetaal)
 
== Gebruik ==
De broncode kan op een aantal manieren worden omgezet naar uitvoerbare code, zodat het programma uitgevoerd kan worden.
 
* 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]] die 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 gelijkdirect uitvoert. Dit is doorgaans een stuk langzamer dan een gecompileerd programma, aangezien elke regel van de code eerst verwerkt moet worden, voordat hij uitgevoerd wordt. In de praktijk zetten moderne interpreters de broncode eerst om in een [[interne representatie]], wat ook een vorm van compileren is, om deze interne representatie van het programma vervolgens uit te voeren.
* Met een aparte [[virtuele machine]]. Bij veel moderne programmeertalen, zoals [[C♯|C#]], [[Java (programmeertaal)|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.
<!-- ** Bij sommige talen wordt het ontwikkelmodel vereenvoudigd, doordat de compilatiestap impliciet wordt uitgevoerd. De programmeur ervaart de flexibiliteit van een interpreter terwijl de performance veel beter is dan wanneer niet gecompileerd zou worden. -->
 
Er isbestaat ook een constructie waarbij de broncode in een andere hogere taal wordt vertaald. Bijvoorbeeld in de taal [[PL/SQL]], waarbij de universele PL/SQL-compiler de broncode naar een [[C (programmeertaal)|C]]-code (ontdaan van [[objectgeoriënteerd]]e code maar voorzien van 'embedded [[SQL]]') vertaaldvertaalt, die automatisch door een 'native' C-compiler weer vertaald wordt naar een zeer optimale machinecode.
 
=== Voorbeeld ===
29.079

bewerkingen