De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Hoofdstuk 1 Programmeren.

Verwante presentaties


Presentatie over: "Hoofdstuk 1 Programmeren."— Transcript van de presentatie:

1 Hoofdstuk 1 Programmeren

2 Imperatief programmeren
Von Neumann’s computer-model (1950): computer = + geheugen om waarden op te slaan processor om opdrachten uit te voeren

3 Opdrachten Opdracht: voorschrift om het geheugen te veranderen
Programma: lange reeks opdrachten, die één voor één worden uitgevoerd door de processor opdrachten staan zelf ook in het geheugen maar veranderen zichzelf niet

4 Programmeertalen Programmeertaal: notatie voor programma’s
sinds 1945: 4000 verschillende talen gepubliceerd

5 Geschiedenis van computers&programmeren: 1940-45
Z3 (Dld 1941) Eniac (USA 1943) “Electronic Numeric Integrator And Computer”. Z3 (Duitsland 1941) heette oorspronkelijk V3 maar dat gaf verwarring met raketten; werd niettemin gebombardeerd – de foto is reconstructie uit de 60er jaren met ontwerper Konrad Zuse; had een heuse programmeertaal “PlanKalkül”, maar dat wist na de oorlog niemand meer. Colossus, Engels apparaat voor decodering van de Enigma – eigenlijk geen computer, want niet programmeerbaar. ENIAC (USA 1943) Colossus (Eng 1943)

6 Geschiedenis van computers&programmeren: 1945-50
Programmeertaal: Machinetaal Mark-I (Eng 1948) Illiac (USA 1948) Illiac-II, Mark-I

7 Geschiedenis van computers&programmeren: 1950-55
Programmeertaal: Assembler Univac (1951) Univac (1951) “Universal automatic Computer”

8 Geschiedenis van computers&programmeren: 1955-60
Programmeertaal: Fortran NCR304 (1957) fabrikant “National Cash Registers” Zebra (“Zeer Eenvoudige Binaire Reken Automaat”), gebouwd bij het Mathematich Centrum in A’dam (voorloper van het CWI) NCR304 (1957) Zebra (NL, 1958)

9 Geschiedenis van computers&programmeren: 1960-65
Programmeertaal: Cobol Algol Lisp IBM mainframe (“International Business Machines”), en Dec (Digital Equipment Company) PDP-1 (“Programmable Data Processor”) (minicomputer, ca $ ) IBM PDP-1

10 Geschiedenis van computers&programmeren: 1965-70
Programmeertaal: Basic LINC-8 (1966) PDP-8 (1966) PDP-8 (1966) LINC-8 (1966)

11 Geschiedenis van computers&programmeren: 1970-75
Programmeertaal: Pascal PDP-11/40 (1970) (minicomputer, $20.000) PDP-11 (1970)

12 Geschiedenis van computers&programmeren: 1975-80
Programmeertaal: Simula Apple-II (1977) (microcomputer, $2000) Apple-][ (1977)

13 Geschiedenis van computers&programmeren: 1980-85
Programmeertaal: C Vax-11 (1981) VAX-11 (80er jaren), IBM PC (1981) “Personal computer”, commodore64 (1984) spelcomputer Commodore64 (1984) IBM-PC (1981)

14 Geschiedenis van computers&programmeren: 1985-90
Apple Mac (1985) Windows 2.0 (1988)

15 Geschiedenis van computers&programmeren: 1990-95
Programmeertaal: C++ Moscaic (1994), XS4all eerste NL internetprovider (1993), windows 3.1

16 Geschiedenis van computers&programmeren: 1995-2000
Programmeertaal: Java Netscape ( ), Google (1998) SGI Onyx (1996)

17 Geschiedenis van computers&programmeren: 2000-2005
Windows-XP, Apple OS-X

18 Geschiedenis van computers&programmeren: 2000-2005
Programmeertaal: C# PHP Windows-XP, Apple OS-X

19 Geschiedenis van computers&programmeren: 2005-2010
Netbook, iBook, iPhone

20 Geschiedenis van computers&programmeren: 2010-2015
iPad

21 Geschiedenis van programmeertalen
1945 1950 1955 1960 1965 1970 1975 1980 1985 1990 1995 2000 Assembler Mach.taal Fortran Algol Basic Pascal Simula C C++ Java Cobol SQL Lisp Prolog Haskell PHP Perl Python Functioneel Programmeren (jaar 2) Databases (periode 3) Internet- Programmeren (jaar 2) Imperatief Programmeren C#

22 Geheugencapaciteit 65er jaren: 8 kB RAM ponskaarten
70er jaren: 16 kB RAM tape 80er jaren: 64 kB RAM floppy-disk 85er jaren: 640 kB RAM 90er jaren: 4 MB RAM harddisk 95er jaren: 16 MB RAM CD 00er jaren: 128 MB RAM DVD 05er jaren: 1GB RAM 10er jaren: 8GB RAM BlueRay

23 Programmeer-problemen
vroeger: hoe kan ik het geheugen zo efficiënt mogelijk gebruiken? nu: hoe kan ik die overvloed van geheugen nog overzien?

24 Indeling van het geheugen
plaats in het geheugen met een naam groepje variabelen dat bij elkaar hoort variabele object object groepje objecten dat bij elkaar hoort

25 Indeling van het programma
voorschrift om het geheugen te veranderen groepje opdrachten dat bij elkaar hoort opdracht methode klasse groepje methoden dat bij elkaar hoort namespace groepje klassen dat bij elkaar hoort

26 Programmeer-paradigma’s
Imperatief Declaratief Assembler Fortran Basic Functioneel Lisp Procedureel Algol Excel Haskell Pascal C Object georiënteerd Logisch Simula Prolog C++ Java C#

27 Vertalen 1/5: Assembler Een assembler vertaalt machine-specifieke broncode naar objectcode, die vervolgens kan worden uitgevoerd .asm sourcecode voor processor 1 Assembler voor processor 1 .exe machinecode voor processor 1 .asm sourcecode voor processor 2 Assembler voor processor 2 .a machinecode voor processor 2

28 Vertalen 2/5: Compiler Een compiler vertaalt de broncode naar machine-specifieke objectcode, die vervolgens kan worden uitgevoerd .cpp sourcecode Compiler voor processor 1 .exe machinecode voor processor 1 Compiler voor processor 2 .a machinecode voor processor 2

29 Vertalen 3/5: Interpreter
Een processor-specifieke interpreter leest de broncode en voert die uit .php sourcecode Interpreter voor processor 1 Interpreter voor processor 2

30 Vertalen 4/5: Compiler+Interpr.
Een universele compiler vertaalt de broncode naar een bytecode, die gemakkelijk kan worden geïnterpreteerd .java sourcecode .class bytecode Interpreter voor processor 1 Compiler Interpreter voor processor 2

31 Vertalen 5/5: Compiler+Compiler
Een compiler vertaalt de broncode naar een intermediate language , die vervolgens wordt gecompileerd .cs sourcecode .il Intermediate language Compiler voor processor 1 .exe machinecode voor processor 1 Compiler .a machinecode voor processor 2 Compiler voor processor 2

32 Vertalen 5/5: Compiler+Compiler
Een compiler vertaalt de broncode naar een intermediate language , die vervolgens wordt gecompileerd .cs sourcecode Compiler .il Intermediate language Compiler voor processor 1 .exe machinecode voor processor 1 .vb sourcecode .a machinecode voor processor 2 Compiler voor processor 2 Compiler

33 Programmeer-cyclus Modelleer Specificeer Implementeer Edit Compile Run


Download ppt "Hoofdstuk 1 Programmeren."

Verwante presentaties


Ads door Google