Programmeertalen
Algoritme noteren? Algoritmen voor de computer worden vastgelegd met behulp van een programmeertaal.
Taal // machine De geschiedenis van de programmeertalen loopt parallel met de geschiedenis van de computer. (zie presentatie: Geschiedenis van de computer)
Geschiedenis Lagere talen:
Machinetaal Assembleertalen
1ste generatie 2de generatie
Hogere talen:
Hogere talen 4GL-talen
3de generatie 4de generatie
Machinetaal (1)
Een computer werkt uiteindelijk puur binair: met 1’en en 0’en. Die 1 en 0 zijn symbolische voorstellingen voor de binaire toestanden die zich binnenin de computer kunnen voordoen:
elektrische spanning <> geen spanning magnetisch geladen <> niet geladen gaatje <> geen gaatje lichtweerkaatsing <> geen weerkaatsing ...
Machinetaal (2)
Programmeren in machinetaal: puur binaire code in de computer invoeren. Elke instructie, elk geheugenadres en elke constante worden uitgedrukt door (gecodeerd met) acht bits: enorme reeksen enen en nullen. Zeer machine-afhankelijk. Men moet de machine door en door kennen. Moeilijk te begrijpen, wijzigen, fouten opsporen (=debuggen). Programmeur is verplicht in zeer kleine stapjes te denken.
Machinetaal (3) Oei, ik ben ergens een 1’tje vergeten ... 00010101010101000010111101011101010101101 01010101001110010101010101111000111101101 11001101111011101101110110110110010101111 11101001011101111110001000111111011111000 11101101010011110010101110100111100010101 01011110011010111000101010101000001111010 1010101110100101011000101101010111
Assembleertalen (1)
Voor elke instructie (in 1 en 0) bedacht men een codewoord van enkele letters
A:
LD 5000, 5 LD 5001, 3 DEC 5001 MULT 5000, 5 DEC 5001 JPNZ 5001, A HALT
; zet constante 5 op geheugenplaats 5000 ; zet constante 3 op geheugenplaats 5001 ; verlaag de inhoud van plaats 5001 met 1 ; vermenigvuldig de inhoud van plaats 5000 met 5 ; verlaag de inhoud van plaats 5001 met 1 ; spring naar A als de inhoud van plaats 5001 niet 0 is ;stop; het antwoord staat in geheugenplaats 5000
Commentaar
Assembleertalen (2)
Speciaal programma nodig om die programma’s in machinetaal om te zetten: assembler. Leesbaarder, gemakkelijker te verbeteren. Nog steeds zeer machine-afhankelijk.
Talen van hogere orde (1)
(Bijna) onafhankelijk van de gebruikte machine. Leesbaar, gemakkelijk(?) te begrijpen en verbeteren.
IF aantal > 50 THEN Messagebox.Show( “Aantal is te groot”) ELSE Bestel(aantal) ENDIF
Talen van hogere orde (2)
Grote verscheidenheid ADA
ALGOL
APL
BASIC
COBOL
COMAL
ELAN
FORTRAN
LOGO
LISP
RPG
PASCAL DELPHI
C
JAVA
...
4GL-talen
Talen voor niet-programmeurs Volop in ontwikkeling
Ontwikkeling
van mens past zich aan aan machine
naar machine past zich aan aan mens
van hoe? naar wat?
Compilers en interpreters (1)
Programma’s in hogere programmeertalen moeten in machinetaal worden omgezet, vertaald. Bronprogramma: programma in taal van hogere orde Doelprogramma: vertaling van bronprogramma in machinetaal
Compilers en interpreters (2)
Compiler: het hele bronprogramma wordt in zijn geheel omgezet naar een bestand in binaire machinetaal (doelprogramma) doelprogramma kan daarna meermaals worden uitgevoerd snelle uitvoering fouten moeilijker op te sporen: waar gebeuren ze precies?
Compilers en interpreters (3)
Interpreter: het programma wordt regel per regel omgezet naar machinetaal én uitgevoerd tragere uitvoering wegens tussentijdse vertaling er ontstaat nooit een volledig doelprogramma => bij elke nieuwe start moet er opnieuw vertaald worden
BASIC
BASIC = Beginners’ All-Purpose Symbolic Instruction Code = Symbolische Instructie-taal voor alle doeleinden voor beginners Ontwikkeld in 1963/1964 door Thomas Kurtz en John Kemeny om studenten te leren programmeren
BASIC (2)
In de jaren 70 ontwikkelden Bill Gates en Paul Allen een Basic-versie voor de populaire Altair personal computer Dat werd de basis voor hun latere GWBasic van Microsoft In de loop der jaren verder ontwikkeld en aangepast
Visual Basic
VB1 in 1991 gelanceerd door Microsoft onder de codenaam ‘Thunder’ VB6 werd gelanceerd in 1998.
Visual Basic (2)
Tool maken voor ontwikkelen van Windows-based toepassingen Koppeling met besturingssysteem Windows Gemakkelijke omgeving Krachtig, snel
Na VB6
Visual Basic.Net
gebaseerd op het .NET-Framework,
Spreek uit: ‘dot net’.
.Net Het .Net Framework is ontwikkeld als een soort 'uitbreiding' van het Windows besturingssysteem bedoeld voor programmeurs / ontwikkelaars. Het .Net-Framework bevat tienduizenden kant-en-klare objecten (eigenlijk klassen) die iedere programmeur kan gebruiken in zijn eigen programma.