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 zes hoofdcategorieën Machinecode Assembleertalen Hogere programmeertalen Vierde-generatietalen Vijfde-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
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 mov mov mov lea int proc ax,seg message ds,ax 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++; } Assembleertaal xor eax, eax inc eax cmp eax, 10 while : ja end inc eax jmp while end : mov eax, 1 xor ebx, ebx int 0x80
Hogere programmeertalen Enkele bekende derde-generatietalen: C (low level hardware aansturingen) C++ (hardware, maar ook pc applicaties) Java (opensource, veel toepassing online) C# (Microsoft variant van Java)
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
Vijfde-generatietalen Wiskundig karakter Declaratief programmeren
Vijfde-generatietalen Veel toepassing in kunstmatige intelligentie Voorbeeld taal: Prolog
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