wikiC/2.06
Main page
Alphabetic index
Recent Edits

Broncode

login 38.107.179.244

Broncode, beter bekend als sourcecode, is een begrip uit de informatica. Het duidt op de tekst van een computerprogramma, zoals die door een programmeur in een formele programmeertaal wordt geschreven, en staat in tegenstelling tot de uitvoerbare code (beter bekend als executable code, executable, .exe) of machinetaal voor de processor zoals die door een compiler vanuit de broncode gegenereerd wordt.

Compileren wil zeggen: vertalen van broncode naar uitvoerbare code. Dit wordt gedaan met een compiler.

Assembleren wil zeggen: vertalen van door een compiler gegenereerde assembly-code, of handgeschreven assembly-broncode (in beide gevallen gewoon leesbare tekst) naar uitvoerbare code.

Interpreteren wil zeggen: door een speciaal daarvoor bedoeld computerprogramma, een interpreter worden uitgevoerd. Interpreteren gaat als regel wat langzamer, omdat elke instructie iedere keer dat de computer deze uitvoert weer opnieuw door interpreter moet worden vertaald naar uitvoerbare code.

Bij veel moderne programmeertalen, zoals Java, Perl, Python en C# wordt een mengvorm gebruikt: de broncode wordt eerst gecompileerd naar een tussentaal, die vervolgens door een virtual machine wordt geïnterpreteerd. Enkele voordelen van deze constructie zijn:
Een nadeel kan zijn dat mensen soms niet realiseren dat tussentalen gevoeliger zijn voor decompilatie. Zo realiseren zich over het algemeen niet dat broncode van programma's gemaakt in Flash (de taal van flash heet Actionscript) die zijn gecompileerd naar swf bestanden, zeer eenvoudig te reconstrueren is. Dit geldt ook voor Java.

Een interpreter die direct de broncode uitvoert is mogelijk, maar wordt in verband met de slechtere performance niet gebruikt voor veeleisende
toepassingen.

Direct in machinetaal programmeren is mogelijk. Doorgaans wordt ook hier van een low-level programeertaal gebruikgemaakt, in de vorm van Programmeertaal Assembler. Alleen voor uiterst tijdkritsche of compacte code wordt dit toegepast. Het is nogal specialistisch en zeer arbeidsintensief werk.

Voorbeeld broncode in programmeertaal C:


 square( int i )
 {
   i = i * i;
   return( i );
 }

wordt bijvoorbeeld in assembly iets als:

 SQUARE: 
     PUSH B
     MOV A, [SP+2]
     MOV B, A
     MULT 
     POP B 
     RET

en in machinetaal (op een .... pentium zeker :-) (ps)) ....

     1800260225005510120003FF

Bestandsnamen



.c
.cp (.cpp .cxx)
.java
            ----------> compileren ---->    Uitvoerbare code
                                            .exe
                                            .so (shared object).
History of this page