1 / 38

Hoorcollege 1b

Hoorcollege 1b. (Game) programmeren. geheugen. processor. om waarden op te slaan. om opdrachten uit te voeren. Gameprogrammeren. Von Neumann’s computer-model (1950):. computer = +. Opdrachten. Opdracht: voorschrift om het geheugen te veranderen

ilario
Download Presentation

Hoorcollege 1b

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Hoorcollege 1b (Game)programmeren

  2. geheugen processor omwaardenop teslaan omopdrachtenuittevoeren Gameprogrammeren • Von Neumann’s computer-model (1950): computer=+

  3. Opdrachten • Opdracht:voorschrift om het geheugen te veranderen • Programma:lange reeks opdrachten, die één voor één worden uitgevoerd door de processor opdrachtenstaanzelfook in het geheugen maar veranderenzichzelfniet

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

  5. Geschiedenis van computers, programmeren, games: 1940-45 Z3 (Dld 1941) ENIAC (USA 1943) Colossus (Eng 1943)

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

  7. Geschiedenis van computers, programmeren, games: 1950-55 • Programmeertaal:Assembler Univac (1951)

  8. Geschiedenis van computers, programmeren, games: 1955-60 • Programmeertaal:Fortran NCR304 (1957) Zebra (NL, 1958)

  9. Geschiedenis van computers, programmeren, games: 1955-60 Tennis for Two (1958) • Brookhaven National Laboratory, dept. of Energy

  10. Geschiedenis van computers, programmeren, games: 1960-65 IBM • Programmeertaal:Cobol, Algol, Lisp PDP-1

  11. Geschiedenis van computers, programmeren, games: 1965-70 • Programmeertaal:Basic LINC-8 (1966) PDP-8 (1966)

  12. Geschiedenis van computers, programmeren, games: 1970-75 • Programmeertaal:Pascal PDP-11 (1970)

  13. Geschiedenis van computers, programmeren, games: 1970-75 Eerste arcade games Magnavox Odyssey (1972)

  14. Geschiedenis van computers, programmeren, games: 1975-80 • Programmeertaal:Simula Atari (1977) Apple-II (1977)

  15. Geschiedenis van computers, programmeren, games: 1980-85 Commodore64 (1984) Vax-11 (1981) • Programmeertaal:(Objective)C IBM-PC (1981) Donkey Kong (1981)

  16. Geschiedenis van computers, programmeren, games: 1980-85 • Odyssey2, Coleco, Atari 5200 • Commodore 64GS, Nintendo Famicon, Coleco Adam

  17. Geschiedenis van computers, programmeren, games: 1985-90

  18. Geschiedenis van computers, programmeren, games: 1990-95 • Programmeertaal:C++

  19. Geschiedenis van computers, programmeren, games: 1990-95 • Nieuwere consoles (Sega Saturn, Playstation, N64)… • Doom

  20. Geschiedenis van computers, programmeren, games: 1995-2000 • Programmeertaal:Java, JavaScript

  21. Geschiedenis van computers, programmeren, games: 2000-2005

  22. Geschiedenis van computers, programmeren, games: 2000-2005 • Programmeertaal:C#PHP

  23. Geschiedenis van computers, programmeren, games: 2005-2010

  24. Geschiedenis van computers, programmeren, games: 2010-2015

  25. Mach.taal Assembler Fortran Algol Cobol Lisp Basic Databases(periode 3) Pascal Prolog Simula FunctioneelProgrammeren(jaar 2) Web- technologie(jaar 2) (Obj.)C SQL C++ Perl Java Haskell PHP Python Geschiedenis van programmeertalen 1945 1950 1955 1960 1965 1970 1975 1980 1985 1990 1995 Game-programmeren JavaScript 2000 C# 2010 2015 Swift

  26. 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: 16GB RAM SSD, “The cloud”

  27. Programmeer-problemen • vroeger:hoe kan ik het geheugen zoefficiënt mogelijk gebruiken? • nu:hoe kan ik die overvloed vangeheugen nog overzien?

  28. Indeling van het geheugen • plaats in het geheugen met een naam • groepje variabelen dat bij elkaar hoort • groepje objectendat bij elkaar hoort variabele object object

  29. Indeling van het programma • voorschrift om hetgeheugen te veranderen • groepje opdrachten dat bij elkaar hoort • groepje methodendat bij elkaar hoort • groepje klassendat bij elkaar hoort opdracht methode klasse namespace

  30. 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#

  31. Vertalen 1/5: Assembler • Een assembler vertaalt machine-specifieke broncode naar objectcode,die vervolgens kan worden uitgevoerd .asmsourcecodevoor processor 1 Assembler voor processor 1 .exemachinecodevoor processor 1 .asmsourcecodevoor processor 2 Assembler voor processor 2 .amachinecodevoor processor 2

  32. Vertalen 2/5: Compiler • Een compiler vertaalt de broncodenaar machine-specifieke objectcode,die vervolgens kan worden uitgevoerd .cppsourcecode Compiler voor processor 1 .exemachinecodevoor processor 1 Compiler voor processor 2 .amachinecodevoor processor 2

  33. Vertalen 3/5: Interpreter • Een processor-specifieke interpreterleest de broncode en voert die uit .phpsourcecode Interpreter voor processor 1 Interpreter voor processor 2

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

  35. .amachinecodevoor processor 2 Compiler voor processor 2 Vertalen 5/5: Compiler+Compiler • Een compiler vertaalt de broncode naar een intermediate language , die vervolgens wordt gecompileerd .cssourcecode .il Intermediatelanguage Compiler voor processor 1 .exemachinecodevoor processor 1 Compiler

  36. .amachinecodevoor processor 2 Compiler voor processor 2 Vertalen 5/5: Compiler+Compiler • Een compiler vertaalt de broncode naar een intermediate language , die vervolgens wordt gecompileerd .cssourcecode .il Intermediatelanguage Compiler Compiler voor processor 1 .exemachinecodevoor processor 1 .vbsourcecode Compiler

  37. Programmeer-cyclus Modelleer Specificeer Implementeer Edit Compile Run

  38. Practicum/werkcollege: BBG106/112/175/017/020 Hoorcollege: ANDRO-C101

More Related