Module IV - hoofdstuk 1

advertisement
Module 4 – Hoofdstuk 1
Programmeertalen
Programmeertalen
• Een programmeertaal is een taal waarin de
opdrachten worden geschreven die een
computer moet uitvoeren
• Reeksen van die opdrachten of instructies
vormen samen een computerprogramma
• Er zijn verschillende soorten/categorieën
programmeertalen
Soorten programmeertalen
• Programmeertalen kun je indelen in vijf
hoofdcategorieën:
–
–
–
–
–
Machinecode
Assembleertalen
Hogere programmeertalen
Vierde-generatietalen
Objectgeoriënteerde talen
Machinecode
• De kleinste geheugeneenheid is de bit
(binary digit)
• De bit is een binair getal dat twee waarden
kan hebben: 0 of 1
• In het computergeheugen wordt alles binair
vastgelegd, ook programma’s
• Machinecode is een programma in binaire
vorm
Machinecode
• Machinecode is de enige code die de
processor kan uitvoeren
• Programma’s die in een andere taal
geschreven zijn moeten dus altijd worden
vertaald in machinecode
ENIAC-computer
• Programmeren
met machinecode
Machinecode
• De allereerste computers werden in
machinecode geprogrammeerd
• De kans op fouten was daarbij groot
• Machinecode is moeilijk te begrijpen
• Je kunt daardoor geen grote programma’s
schrijven in machinecode
• Machinecode is een taal van de eerste
generatie, d.w.z. dicht bij de processor
Voorbeeld machinecodeprogramma
0010
0110
1010
0110
0110
1010
0110
1010
1110
0101
0011
1110
0101
0010
0010
0101
0100
0010
0101
0101
0101
0110
0010
0101
0010
0110
0110
1010
0110
0110
0110
0011
0011
1110
0101
0011
0101
0100
0100
0010
0101
0100
Assembleertaal
• Assembleertaal is een lagere programmeertaal
• Het is een soort machinetaal, maar met
lettercodes i.p.v. nullen en enen
• Een assembleerprogramma vertaalt die
lettercodes in machinecode
• Van Dale:
– as·sem·ble·ren [assembleere(n)] -bleerde, h
geassembleerd samenstellen uit onderdelen;
monteren: auto’s ~
Assembleertaal
• Assembleertaal is iets makkelijker te onthouden dan
machinetaal
• Een voorbeeld van code in machinetaal:
1011 0000 0110 0001
• Dezelfde code in assembleertaal:
MOV AL, 97
• Assembleertalen zijn talen van de tweede generatie,
d.w.z. één stap verder van de processor vandaan dan
machinecode
Voorbeeld Assembly-programma
.model small
.stack
.data
message
db "Hello world, I'm learning Assembly !!!", "$"
.code
main
proc
mov
ax,seg message
mov
ds,ax
mov
lea
int
ah,09
dx,message
21h
mov
ax,4c00h
int
21h
main
endp
end main
Hogere programmeertalen
• Geen kennis van de eigenschappen van de
processor nodig
Derde-generatietalen zijn procedurele talen
• De programmeur schrijft de computer een
procedure voor
• Eén procedureopdracht bevat meerdere
machinetaalopdrachten in één
Hogere programmeertalen
• Derde-generatietalen zijn machineonafhankelijk
• Een compiler zet de sourcecode om in
machinetaal (objectcode)
• Die machinetaal is wél machineafhankelijk
Voorbeeld procedure
Hogere programmeertaal
int eax = 1;
while (eax < 10)
{
eax++;
}
xor eax, eax
inc eax
cmp eax, 10
while :
ja end
inc eax
jmp while
end :
mov eax, 1
xor ebx, ebx
int 0x80
Assembleertaal
Hogere programmeertalen
• De bekendste derde-generatietalen:
–
–
–
–
FORTRAN
COBOL
C
Pascal
(wetenschappelijke doeleinden)
(administratieve toepassingen)
(vele toepassingen; o.a. UNIX)
(nadruk op eenvoud)
Vierde-generatietalen
• Nog krachtiger programmaopdrachten
Vierde-generatietalen zijn veel meer
probleemgericht
• Nadeel: de software bevat veel ballast
Vierde-generatietalen
• Voorbeelden van vierde-generatietalen:
– Rapportgeneratoren
– Macro’s in Microsoft Word en Excel
– iPhone apps maken met Adobe Flash
Objectgeoriënteerde talen
• Vaak afgekort tot OO
– Object Oriënted
• Systeem is opgebouwd uit objecten
• Wat is een object?
– Volgens van Dale:
ob·ject het; o -en voorwerp (1, 2)
Objectgeoriënteerde talen
• Een object bestaat uit
– attributen
– methoden
• Attributen zijn de eigenschappen van een
object
• Methoden bepalen het gedrag van een object
Objectgeoriënteerde talen
• Een voorbeeld van
een object
– Een lamp
JAVA en JVM
Download