Het belangrijkste verschil tussen het bronprogramma en het objectprogramma is dat het bronprogramma een voor mensen leesbaar programma is dat is geschreven door een programmeur, terwijl het objectprogramma een door een machine uitvoerbaar programma is dat is gemaakt door een bronprogramma te compileren.
Bronprogramma's kunnen worden gecompileerd of geïnterpreteerd voor uitvoering. Decompilers helpen om objectprogramma's terug te converteren naar de oorspronkelijke bronprogramma's. Het is belangrijk op te merken dat de termen bronprogramma en objectprogramma als relatieve termen worden gebruikt. Als je een programma-transformatieprogramma (zoals een compiler) neemt, is wat erin gaat een bronprogramma en wat eruit komt is een objectprogramma. Daarom kan een objectprogramma dat door het ene gereedschap wordt geproduceerd een bronbestand worden voor een ander gereedschap.
Wat is het bronprogramma?
De programmeur schrijft het bronprogramma in taal van een hoger niveau. Daarom is het gemakkelijk leesbaar voor de mens. Bronprogramma's bevatten meestal zinvolle namen van variabelen en nuttige opmerkingen om het leesbaarder te maken. Een machine kan een bronprogramma niet rechtstreeks uitvoeren. Een compiler helpt om het bronprogramma om te zetten in uitvoerbare code die door de machine kan worden uitgevoerd. Als alternatief is het gebruik van een tolk. Het voert een bronprogramma regel voor regel uit zonder pre-compilatie.
Figuur 01: Een bronprogramma
Visual Basic is een voorbeeld van een gecompileerde taal, terwijl Java een voorbeeld is van een geïnterpreteerde taal. Visual Basic-bronbestanden (.vb-bestanden) worden gecompileerd naar.exe-code, terwijl Java-bronbestanden (.java-bestanden) eerst worden gecompileerd (met de javac-opdracht) tot bytecode (een objectcode in.class-bestanden) en vervolgens geïnterpreteerd met de java-interpreter (met behulp van java-opdracht). Wanneer softwaretoepassingen worden gedistribueerd, bevatten deze meestal geen bronbestanden. Als de toepassing echter open source is, wordt de bron ook gedistribueerd en krijgt de gebruiker de broncode ook te zien en te wijzigen.
Wat is Object Programma?
Object-programma is meestal een door een machine uitvoerbaar bestand, dat het resultaat is van het compileren van een bronbestand met behulp van een compiler. Afgezien van machine-instructies, kunnen ze foutopsporingsinformatie, symbolen, stapelinformatie, verplaatsings- en profileringsinformatie bevatten. Omdat ze instructies in machinecode bevatten, zijn ze niet gemakkelijk leesbaar voor mensen. Maar soms verwijzen objectprogramma's naar een tussenobject tussen bron- en uitvoerbare bestanden.
Tools die bekend staan als linkers helpen om een set objecten te koppelen aan een uitvoerbaar bestand (bijv. C-taal). Zoals hierboven vermeld, zijn.exe-bestanden en bytecode-bestanden objectbestanden die worden geproduceerd bij respectievelijk gebruik van Visual Basic en Java. De.exe-bestanden worden rechtstreeks uitgevoerd op het Windows-platform, terwijl bytecode-bestanden een interpreter nodig hebben voor uitvoering.
De meeste softwaretoepassingen worden alleen met het object of met uitvoerbare bestanden gedistribueerd. Het is mogelijk om het object of de uitvoerbare bestanden terug te converteren naar de originele bronbestanden door decompilatie. De decompilertools kunnen bijvoorbeeld java.class-bestanden (bytecode) decompileren naar de originele.java-bestanden.
Wat is het verschil tussen bronprogramma en objectprogramma?
Bronprogramma is een door mensen leesbaar programma geschreven door een programmeur. Het is geschreven in talen van een hoger niveau, zoals Java of C. Daarom is een bronprogramma voor mensen leesbaar. Het is niet te begrijpen door de machine.
Aan de andere kant is Object-programma een door een machine uitvoerbaar programma dat is gemaakt na het compileren van een bronprogramma. Het bevat talen op een lager niveau, zoals assemblage of machinecode. Daarom is het objectprogramma niet leesbaar voor de mens. Het is begrijpelijk voor de machine.
Samenvatting – Bronprogramma versus objectprogramma
Het verschil tussen het bronprogramma en het objectprogramma is dat het bronprogramma een voor mensen leesbaar programma is dat is geschreven door een programmeur, terwijl het objectprogramma een door een machine uitvoerbaar programma is dat is gemaakt door een bronprogramma te compileren.