Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdEmilie Willemsen Laatst gewijzigd meer dan 8 jaar geleden
1
informatica Welkom! maandag 16 November 2015 1 Les B-1
2
informatica Module 4.1 Programmeertalen 2 Les B-1
3
informatica Inhoud van de les Welke lagen in programmeren zijn er? Wat zijn de verschillen in programmeergeneraties? Wat is sourcecode en wat is objectcode? Wat is nodig om een programma te laten draaien? Wat betekent objectgeoriënteerd programmeren? –Wat zijn de begrippen binnen OO en wat betekenen ze? Les B-1 3 Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
4
informatica Waarom programmeren? De eerste generatie computers werden geprogrammeerd met kabels en schakelaars. (e.g. de ‘Bombe’) Dat vereist specialistische kennis van het apparaat. Les B-1 4 Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
5
informatica Waarom programmeertalen? Geen kennis van het apparaat nodig. Een bewerking kan meerdere malen gebruikt worden. (= hergebruik) Een bewerking kan op meerdere apparaten gebruikt worden. (= portabel) Er worden minder fouten gemaakt. (= debug-tijd) Les B-1 5 Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
6
informatica programmeerlagen in computer Les B-1 6 1-6 Drivers apparaten (muis, printer, etc.) Besturingssysteem (OS) (Windows, Linux) Applicaties (Word, Excel) BIOS, firmware (CPU, geheugen, etc.) Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
7
informatica Programmeertalen Verschillende generatietalen (GL = Generation Language) 1.machinecode 2.assembleertaal 3.procedurele taal ( & object georiënteerd) 4.vierde generatietaal 5.probleemoplossende taal Les B-1 7 Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
8
informatica Machinecode (1GL) de computer werkt met bits dus opdrachten weergeven in bits en bytes dit heet machinecode de instructieset is de vertaling van een opdracht naar de hardware 0161 9219 6262 1711 0091 0220 …. dit is een lagere programmeertaal (dichtbij de computer) Les B-1 8 Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
9
informatica Assembleertaal (2GL) Waarom? Letterinstructies ‘makkelijker’ te onthouden dan cijferinstructies Vertaalprogramma (assembler) zet letterinstructies om in machine-instructie Les B-1 9 Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
10
informatica Assembleertaal (2GL) tweede generatie programmeertaal een taal die direct en 1- op-1 naar machinecode wordt vertaalt. dit is een lagere programmeertaal (dichtbij de computer) Les B-1 10 Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
11
informatica procedurele taal (3GL) een hogere programmeertaal procedurele taal = (stapsgewijs voorschrijven van de handelingen en beslissingen) Sourcecode (= broncode) wat de programmeur wil van de computer machine onafhankelijk Objectcode (= doelcode) Ook wel machinecode of machinetaal wat de hardware moet weten machine afhankelijk Les B-1 11 Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
12
informatica Middelen bij procedurele taal Debugger Het programma stapsgewijs doorlopen om bugs te vinden Interpreter vertaalt naar doelcode tijdens uitvoering simpel tragere uitvoering weinig geheugenruimte Les B-1 12 Editor hier schrijf je de broncode in (bijv. Notepad of JCreator) Compiler Vertaalt broncode vooraf naar doelcode efficiënt & sneller veel geheugenruimte Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
13
informatica Java als procedurele taal Les B-1 13 Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
14
informatica procedurele taal (3GL) Een aantal 3GL talen: COBOL (.. Business.. ; bij banken etc.) FORTRAN (FORmula TRANslation) BASIC (simpel) ALGOL / PASCAL (educatief) C (krachtig en microprocessor georiënteerd) C++ / Java (object georiënteerd) Les B-1 14 Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
15
informatica vierde-generatietalen (4GL) Talen voor een bepaald doel Hoger abstractieniveau (je programmeert het ‘doel’, niet alles wat nodig is om het doel te bereiken) Voorbeelden: generatoren (DreamWeaver) SQL (Structured Query Language) CSS macro’s (in Word, EXCEL) Les B-1 15 Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
16
informatica Tijdlijn van programmeertalen Les B-1 16 1940 1950 1960 1970 1980 1990 2000 Machine code Assembly languages Fortran Basic Pascal Scheme CC++ Java LISP Smalltalk Smalltalk-80 C# Logo Python Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
17
informatica Andere programmeertalen Veelgebruikt C (of C++) Delphi Visual Basic.NET Java C# Python Les B-1 17 Op het web HTML XHTML –minder fouten JavaScript –programma binnen webpagina PHP –dynamisch –databases Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
18
informatica Beantwoord de vragen op het formulier. Opdracht Les B-1 18 1-18 Drivers apparaten (muis, printer, etc.) Besturingssysteem (OS) (Windows, Linux) Applicaties (Word, Excel) BIOS, firmware (CPU, geheugen, etc.) Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
19
informatica Programmeren op OS De nieuwe(re) programmeertalen worden gemaakt bovenop het besturingssysteem. Maar werken alle programmeertalen wel op elk besturingssysteem? –NEE! Niet allemaal, –maar Java gelukkig wel. ^^ Les B-1 19 Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
20
informatica Java Om te programmeren in Java is er software nodig: Programmeertaal Java (JCreator) Hier wordt in geprogrammeerd en vervolgens ‘gecompiled’ naar ‘bytecode’ Java Development Kit (JDK) Een bibliotheek van programmacomponenten Java Virtual Machine (JVM) (of gewoon ‘Java’) Vertaler van ‘bytecode’ in machinecode (oftewel de ‘interpreter’) Les B-1 20 Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
21
informatica Schema voor Java Les B-1 21 Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
22
informatica Verschil Java / anderen Les B-1 22 Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn Java Anderen
23
informatica objectgeoriënteerde talen Java maakt gebruik van de OO-techniek (Object Oriëntatie) een object de gegevens zijn de kern eigenschappen en bewerkingen worden aan de gegevens gekoppeld natuurlijker en beter te visualiseren makkelijker meerdere programmeurs de compiler verzamelt en verbindt de objecten Les B-1 23 Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
24
informatica Begrippen in OO-techniek Klassen –Het bouwplan voor het object (uiterlijk, doel) Objecten –Onderdeel binnen de klasse (erbuiten vaak zelf een klasse) Gegevensleden –Variabelen binnen de klasse Methoden –Functionaliteit binnen de klasse Inkapseling Overerving –Dezelfde attributen behouden binnen een klasse Les B-1 24 Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
25
informatica Concreet voorbeeld Klassen –je hebt de klasse ‘auto’ Objecten –persoonsauto, bestelwagen, Gegevensleden –Variabelen binnen de klasse Methoden –repareren –tanken Overerving –elke auto heeft een bouwjaar, merk, kleur, waarde, etc. Les B-1 25 Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
26
informatica Voorbeeld Java public class Meubel { public String meubeltekst = "Ik ben een meubelstuk"; public Meubel() { } public class Winkel { public Winkel() { } public static void main(String[] args) { Meubel kast = new Meubel(); Meubel stoel = new Meubel(); stoel.meubeltekst = "Ik ben een stoel !"; System.out.println(kast.meubeltekst); System.out.println(stoel.meubeltekst); System.out.println(kast.meubeltekst); } Les B-1 26 Klasse object (in klasse) gegevenslid Methode Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
27
informatica probleemoplossende talen (5GL) probleem gericht (niet de uitwerking, maar alleen het probleem programmeren) problemen opdelen in subproblemen, etc. problemen onafhankelijk van elkaar programmeren ingewikkeld, omslachtig, abstract Voorbeelden: PROLOG “Watson” Les B-1 27 Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
28
informatica Watson Watson is een zelflerende computer 4 TB aan geheugen en 200 miljoen pagina’s aan informatie. Zelf aanleren waar het beste de informatie te zoeken Won in 2011 spelshow Jeopardy. “Artificial Intelligence?” Les B-1 28 Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn
29
informatica Doelen van de les Welke lagen in programmeren zijn er? Wat zijn de verschillen in programmeergeneraties? Wat is sourcecode en wat is objectcode? Wat is nodig om een programma te laten draaien? Wat betekent objectgeoriënteerd programmeren? –Wat zijn de begrippen binnen OO en wat betekenen ze? Les B-1 29 Inhoud Intro 1GL 2GL 3GL 4GL 5GL Java OO-techn Vragen?
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.