Niklaus Wirth: Prinzipien der Programmiersprachen und PASCAL - PowerPoint PPT Presentation

About This Presentation
Title:

Niklaus Wirth: Prinzipien der Programmiersprachen und PASCAL

Description:

Title: Folie 1 Author: kappes Last modified by: The mighty LeChuck Created Date: 2/27/2002 5:38:26 AM Document presentation format: Bildschirmpr sentation – PowerPoint PPT presentation

Number of Views:52
Avg rating:3.0/5.0
Slides: 26
Provided by: kappes
Category:

less

Transcript and Presenter's Notes

Title: Niklaus Wirth: Prinzipien der Programmiersprachen und PASCAL


1
Niklaus Wirth Prinzipien der Programmiersprachen
und PASCAL
  • Seminar Geschichte der Informatik
  • Christoph Grün

2
Überblick
  • Leben und Arbeit Nikolaus Wirths in der USA und
    der Schweiz
  • Übersicht über Generationen von
    Programmiersprachen
  • Wirths Verdienste an höheren Programmiersprachen

3
Nikolaus Wirth
  • Geboren 1934 in Winterthur in der Schweiz
  • Interesse an Technik, insbesondere
    Modellflugzeugen
  • Gymnasium
  • Interesse an Elektronik, Funkfernsteuerungen im
    Modellbau

4
  • 1954-58 Studium der Elektrotechnik an der ETH
    Zürich, Diplom 1959
  • 1959-60 Assistenzstelle Universität Quebec in
    Kanada
  • 1960-63 Doktorand an der Universität Berkeley als
    Stipendiat
  • Mitarbeit in einer Gruppe an dem Bau erster
    Compiler

5
ALGOL 60 Report
  • Erste mathematisch klare und eindeutige
    Definition von Programmiernotation
  • 13 Wissenschaftler aus aller Welt, darunter der
    Holländer v. Wiingaarden
  • Idee von mehr Ordnung in Programmiersprachen,
    Aufbau von wenigen, allgemeingültigen Konzepten
  • Dissertationsthema Generalized Algol

6
  • 1963-67 Assistant Professor for Computer Science
    an der Stanford University
  • Weitere Arbeiten in Richtung seiner Doktorarbeit
  • Mitarbeit im Komitee für ALGOL 68
  • 1967-68 Urlaubssemester an der Universität Zürich

7
Rückkehr in die Schweiz
  • Seit 1968 Professor für Computerwissenschaften an
    der ETH Zürich
  • 1970 entwickelt er PASCAL
  • 1980 Informatik eigenständiger Studiengang auf
    Druck der Industrie

8
  • 1976-77 Urlaubssemester bei Firma Xerox in Palo
    Alto
  • Bau von unabhängigen Arbeitsplatzrechnern
  • In der Schweiz Bau eines eigenen Rechners
  • Schaffung weiterer Programmiersprachen

9
  • 1984 Turing Award
  • 1988 IEEE Computer Society, Computer Pioneer
    Award
  • 1989 IBM Europe Science and Technology Prize 1988
  • 1992 Member, Swiss Academy of Engineering
  • 1994 Foreign Associate, US Academy of Engieering
  • 1996 Orden Pour le merite
  • 1999 ACM SIGSOFT, Outstanding Research Award in
    Software Engineering
  • 1999 Leonardo da Vinci Medal. Societe Europeenne
    pour la Formation des Ingenieurs (SEFI)
  • Zahlreiche Ehrendoktorate

10
Generationen von Programmiersprachen
  1. Maschinensprache
  2. Assembler
  3. Höhere Sprachenproblemorientierte Sprachen
    (Fortran, Basic, Pascal)objektorientierte
    Sprachen (Prolog, Lisp, C) oder
    lösungsorientierte (SQL)

11
Maschinensprache 0000 0101 0001 0001 0000
1000 0001 0010 ... 0010 0010 0010 0001 0010
0001 0100 0000 0011 0000 0001 0000
z.B. Pascal r15 r28 .... r0r1r1r2
Assembler CON 5 STR R1 CON 8 STR R2 ... LD R2 LD
R1 LD R1 MUL ADD STR R0
12
(No Transcript)
13
Maschinensprache 0000 0101 0001 0001 0000
1000 0001 0010 ... 0010 0010 0010 0001 0010
0001 0100 0000 0011 0000 0001 0000
z.B. Pascal r15 r28 .... r0r1r1r2
Assembler CON 5 STR R1 CON 8 STR R2 ... LD R2 LD
R1 LD R1 MUL ADD STR R0
Assembler
Compiler/Interpreter
14
Arten von Übersetzern
  • Interpreter
  • Zeilenweise, immer neu übersetzte Ausführung des
    Programms
  • Compiler
  • Übersetzung in Selbstausführende Datei, die
    immer im Maschinencode vorliegt

15
Höhere Programmiersprachen
  • FORTRAN Formula Translator
  • 1954 für wissenschaftliche Rechnungen eingeführt
  • keine genaue Grammatik
  • verwirrend durch GOTO-Sprünge und Zeilennummern

16
  • COBOL
  • 1960 von John Backus vorgestellt
  • Verarbeitung von Daten, Texten und Buchungen
  • Textlastig
  • Ebenfalls keine strukturierte Programmierung
  • Millenium Bug

17
  • ALGOL 60
  • Urahn der prozeduralen Programmiersprachen
  • Einheitliche Notation zur Formulierung von
    Algorithmen
  • klar strukturierte Syntax, Konzept von SchleIFen
    und Blöcken

18
  • IF a lt 0 THEN UV ELSE IF a b lt 17 THEN U/V
    ELSE IF k ltgt y THEN V/U ELSE 0
  • a SIN(omega t)
  • IF q THEN n-1 ELSE n
  • BEGIN
  • FILE F (KINDREMOTE)
  • EBCDIC ARRAY E 011
  • REPLACE E BY HELLO WORLD!
  • WHILE TRUE DO
  • BEGIN
  • WRITE (F,,E)
  • END
  • END.

19
  • PASCAL
  • Übernahme elementarer Konzepte ALGOLS
  • Strenge Syntax
  • Eigene Datentypen, Mengen und Verbundtypen
  • Zeiger zur dynamischen Variablenerzeugung
  • Stapelmaschine mit lokalen Variablen
  • Vollwertige Stringroutinen
  • Ausgefeiltes Blockkonzept

20
  • Pascal weiter
  • Gute Lesbarkeit - Lehrsprache
  • Sehr erfolgreich mit etlichen Ablegern
  • Heute noch zu finden in Borland Delphi als
    Objekt-Pascal
  • Nachteile Mangelnde Modularisierung zur
    Erstellung größerer Projekte

21
  • Modula 2
  • 1982 von Wirth vorgestellt
  • Neue Sprache mit Modulkonzept
  • (information hiding)
  • und getrennter Übersetzung von Modulen
  • Genaue Schnittstellendefinitionen
  • Wenig erfolgreich wegen Erweiterung Turbo Pascals
    durch Units

22
  • Oberon
  • 1986 von Wirth vorgestellt
  • Teil des Oberon-Betriebssystems
  • Einführung von Typerweiterung alsobjektorientiert
    er Ansatz
  • Nutzung in der Lehre

23
Ordnung in die Programmierung
  • Von der Idee über die Programmiersprache zum
    Rechner
  • Vom Rechner über die Programmiersprache zum
    Verständnis der Idee

24
  • Heute sehe ich mit Schrecken, wie viele
    Studenten bei uns Elektrotechnik studieren, die
    noch nie etwas selbst gebastelt haben. Genauso
    ist es in der Informatik Viele haben noch nie
    selber ein Programm geschrieben.

25
Vielen Dank für Ihre Aufmerksamkeit
Write a Comment
User Comments (0)
About PowerShow.com