ALP I Geschichtliche Einführung in die Programmiersprachen
|
|
- Fabian Kappel
- vor 6 Jahren
- Abrufe
Transkript
1 ALP I Geschichtliche Einführung in die Programmiersprachen Sammet, J. Programming Languages. History and Fundamentals. Prentice Hall, SS
2 Wie viele Programmiersprachen? Es gibt mehr als 2000 Programmiersprachen, die im kommerziellen Bereich bekannt sind oder gewesen sind. mehr als 200 davon haben sich im Laufe der Geschichte stärker verbreitet (einige) Firmen entwickeln eigene private Sprachen es gibt viele akademische Programmiersprachen und es kommen immer mehr Programmiersprachen hinzu 2
3 Programmiersprachen Eine Programmiersprache ist ein durch einen Rechner interpretierbarer Formalismus mit eindeutig definierter Syntax und Semantik. Die Syntax einer Programmiersprache regelt die erlaubten Kombinationen von Symbolen. Die Semantik einer Programmiersprache ist die Definition der den zulässigen Programmen zugeordneten Bedeutungen. 3
4 Erste programmgesteuerte Maschine Lochkarten-Steuerung der Jacquard-Maschine Jacquard Looms 1801 "Programm 4
5 Programm gesteuerter Rechner 1941 Konrad Zuse Programm Maschinensprache 5
6 Steinzeit der elektronischen Computer Bevor das Wort Software existierte Elektronisch Vakuumröhren 30 Tonnen Schnell: 5000 Additionen pro Sekunde Dezimalzahlen Programmierbar durch Datenfluss 6
7 Programmierung eigentlich kein Programm 7
8 Programmsteuerung 8
9 40er Jahre Das Wort Software existierte noch nicht. die ENIAC hatte keine Software am Anfang stand "Layette" bei der UNIVAC Corporation für die Programme Wurde später durch das Wort "Software" ersetzt 9
10 30er Jahre Erste Programmiersprache Alonzo Church Stephen C. Kleene Lambda-Kalkül universelle abstrakte Programmiersprache nur die Hardware fehlte 10
11 30er Jahre Alan Turing ( ) On computable numbers, with an application to the Entscheidungsproblem Turing-Maschine Ein Modell, um die Klasse der intuitiv berechenbaren Funktionen zu bilden. 11
12 Die eigentliche Geschichte der Programmiersprachen begann, bevor es Rechner gab. Konkretisiert wurde später mit: der Entwicklung der ersten elektronischen Rechenmaschinen, dem Konzept der von-neumann-maschine, die 1945 die Notwendigkeit eines gespeicherten Programms postulierte, und mit dem Konzept des imperativen Programmierens 12
13 Programmiersprachen Maschinensprache Assembler- Programmiersprache Höhere Programmiersprachen LOAD LOAD #1 C #2 B MULT #1 #2 #3 LOAD #4 A ADD #3 #4 #1 STORE #1 C C = A + B*C Die ersten Programmiersprachen sind rein imperativ! Ein Programm wird als eine Folge von Befehlen, die den internen Zustand einer Maschine (bzw. die Speicherinhalte) verändern, interpretiert. 13
14 Assembler-Programm Beispiel: LABEL: LOAD #1 A LOAD #2 B ADD #1 #2 #3 STORE #3 C JUMP LABEL Register
15 Erste Höhere Programmiersprachen Zuweisung D = A + B*C rein imperativ! LOAD #1 C LOAD #2 B MULT #1 #2 #3 LOAD #4 A ADD #3 #4 #1 STORE #1 D Der Inhalt einer Speichervariable wird verändert. 15
16 Die ersten drei höheren Programmiersprachen John Backus John McCarthy FORmula TRANslator Lisp Grace Hopper LISt Processor Cobol COmmon Business Oriented Language 16
17 Lisp 1958 schrieb McCarthy ein Paper mit einem einfachen Lisp- Interpreter, der wiederum in Lisp geschrieben war. Lambda-Kalkül ist die grundlegende Basis für seine minimalen Lisp- Funktionen. Es gibt keinen grundsätzlichen Unterschied zwischen Daten und Programmanweisungen. Dies ermöglicht unter anderem, Programme zur Laufzeit beliebig zu manipulieren Ein Lisp-Programm ist eine Liste, die einen abstrakten Syntaxbaum darstellt. ( + (+ a (* b c) d ) 17
18 Software-Krise 60er und 70er Jahre hohe Entwicklungskosten Software-Fehler sind sehr teuer die Sicherheitsprobleme steigen - Hardware wurde billiger - Software wurde erheblich teurer - viele Programmiersprachen! - viele neue Programmiertechniken! 18
19 Schichten-Architektur 50-70er Höhere Programmiersprachen Anwendungsprogramme Assembler Texteditoren Übersetzer für verschiedene Sprachen Betriebssystem Hardware 19
20 Software-Krise John Bakus 1977 Lecture for the ACM Turing award session "Can Programming be liberated from the von Neumann Style? A Functional Style and its Algebra of Programs FP (Funktionale Programmiersprache) 20
21 UNIX + C Gerätetreiber C LOAD #1 C LOAD #2 B LOAD #4 A STORE #1 C C-Compiler C Dateisystem C C-Compiler C Netzdienste C Graphische Benutzeroberfläche C++ LOAD #1 C LOAD #2 B MULT #1 #2 #3 LOAD #4 A ADD #3 #4 #1 STORE #1 C Mini-Kernel u.s.w Gerätetreiber Netzdienste Graphische Benutzeroberfläche C++ C C Mini-Kernel Dateisystem C u.s.w
22 UNIX + C Hardware ist ständig billiger geworden. Das UNIX-Betriebssystem wird kostenlos verteilt. Mit UNIX entstehen viele neue Hardwarefirmen. Viele Rechner entstehen, die nur in C programmierbar sind. Ab 1973 verbreitete sich C sehr stark als Programmiersprache C C++ Java C# 22
23 C Hochprogrammiersprachen C-Sprache C wurde ursprünglich für die Programmierung von Betriebssystemen entworfen. Assemblersprachen 23
24 Eigenschaften von C Die Programme sind sehr kompakt Erlaubt Hardware nahe Programmierung In C lassen sich sehr effiziente Programme schreiben Es ist weiterhin sehr verbreitet 24
25 Eigenschaften von C Gute Der Programmierer kann machen, was er will. Schlechte Der Programmierer kann machen, was er will. Der C-Compiler geht davon aus, dass der Programmierer genau weiß, was er will, und meldet fast keine Warnungen beim Übersetzen des Programms. Die meisten Fehler bei C-Programmen treten erst zur Laufzeit auf. 25
26 C ist eine formatfreie Sprache! m(f,a,s)char*s; {char c;return f&1?a!=*s++?m(f,a,s):s[11]:f&2?a!=*s++?1+m(f,a,s):1:f&4?a--? putchar(*s),m(f,a,s):a:f&8?*s?m(8,32,(c=m(1,*s++,"arjan Kenter. \no$../.\""), m(4,m(2,*s++,"pocnwauvbvxrsoqatkjurgxyydqbzhlwknjdmtgeischfmplizef"),&c),s)): 65:(m(8,34,"rgeQjPruaOnDaPeWrAaPnPrCnOrPaPnPjPrCaPrPnPrPaOrvaPndeOrAnOrPnOrP\ noapnpjpaorpnprpnprptpnpraapnbrnnsrnnbapeorcnproncapnoapnpjptpnaapnprpnprcapn\ BrAnxrAnVePrCnBjPrOnvrCnxrAnxrAnsrOnvjPrOnUrOnornnsrnnorOtCnCjPrCtPnCrnnirWtP\ ncjprcapnotprcneranojpronvtpnnrcnnrnnrepjprptnrunnrntpnbtpraapncrnnorpjprrtpn\ CaPrWtCnKtPnOtPrBnCjPronCaPrVtPnOtOnAtnrxaPnCjPrqnnaPrtaOrsaPnCtPjPratPnnaPrA\ apnaaptpnnaprvapnnjprktpnwaorwtonnapnwaprcapnntojprrtonwanrotpncapnbtcjpryton\ UaOrPnVjPrwtnnxjPrMnBjPrTnUjP"),0);} main(){return m(0,75,"miwltouqjgsbnikyvtxodafbucfzspmwnchegrdlapkyvrjxeqzh");} smile.c The International Obfuscated C Code Contest 26
27 Die Welt der Programmiersprachen teilte sich Höhere Programmiersprachen Deklarative Sprachen Was? Imperative Sprachen Wie? Prozedurale Funktionale Sprachen Logische Sprachen Objektorientierte Programmiersprachen Aspektorientierte Programmiersprachen in ALP I in ALP II 27
28 Deklarative Programmiersprachen Programm in Prolog Mutter( luise, maria ). Mutter( anne, maria ). Mutter( maria, andrea ). Vater( luise, peter ). Vater( maria, joachim ). Oma( X, Y ) :- Mutter( X, Z ), Mutter( Z, Y ). Oma( X, Y ) :- Vater( X, Z ), Mutter( Z, Y ). Geschwister( X, Y ) :- Mutter( X, Z ), Mutter( Y, Z ). Geschwister( X, Y ) :- Vater( X, Z ), Vater( Y, Z ).?Oma( anne, andrea ). 28
29 deklarativ vs. imperativ - Sprachen basieren auf einem mathematischen Formalismus - Wissen über ein Problem rein deklarativ darstellbar - Intelligentes System, das Fragen an das Programm beantworten kann - Sprachen sind von der dahinterstehenden Hardware geprägt - Befehlssequenz (Zustände) - zeitlicher Ablauf im Programm sichtbar kompakter robuster einfacher effizienter 29
30 Deklarative Programmiersprachen LISP v COMMON LISP COMMON LISP ANSI SCHEME SASL FP v FL HOPE ML Erlang MIRANDA HASKELL Clean Haskell Curry Caml OCaml PROLOG PARLOG 30
31 Warum Haskell? sehr einfach Programme sind klein, übersichtlich und einfacher zu warten sehr nützlich als Spezifikationssprache Programmeigenschaften sind einfacher zu beweisen Algorithmen können auf einem höheren Niveau formuliert und analysiert werden Moderne Programmiersprache mit Anwendung in der Industrie Ausführungsgeschwindigkeit ist hier nicht wichtig! 31
32 FORTRAN PROGRAM PRINT *, "WELCOME TO FU!" END PROGRAM 32
33 Pascal program HelloWorld; begin Writeln( 'Welcome to FU!' ); end. 33
34 C #include <stdio.h> int main(void){ printf( "'Welcome to FU!'\n" ); return 0; } 34
35 C++ #include <iostream.h> class Hello { public: Hello () { cout << "'Welcome to FU!'" < endl; } }; int main(void){ Hello(); return 0; } 35
36 Java public class HelloWorldProgram { public static void main ( String[] args ) { System.out.println( "'Welcome to FU! " ); } } 36
37 C# using System; class HelloWorld { static void Main() { Console.WriteLine("Welcome to FU"); } } 37
38 Algol60 begin end string s := 'Welcome to FU'; integer i; for i := 1 step 1 until length(s) do outsymbol(2,s,i); 38
39 ADA with ada.text_io; use ada.text_io; procedure helloworld is begin put_line( "Welcome to FU" ); end helloworld; 39
40 Cobol IDENTIFICAL DIVISION PROGRAM-ID HELLO ENVIROMENT DIVISION CONFIGURATION SECTION SOURCE-COMPUTER IBM-PC OBJECT-COMPUTER IBM-PC INPUT-OUTPUT SECTION FILE-CONTROL SELECT AUSGABE ASSIGN TO SI DATA DIVISION FILE-SECTION FD AUSGABE LABEL RECORD OMITTED DATA RECORD ZEILE PICTURE X(80) WORKING STORAGE SECTION PROCEDURE DIVISION BEGIN OPEN OUTPUT AUSGABE MOVE "WELCOME TO FU!" TO ZEILE CLOSE AUSGABE STOP RUN. 40
41 Lisp (print "Welcome to FU!") Python print ('Welcome to Fu!') 41
42 Haskell "Welcome to FU!" GHCI Haskell-Interpreter GHC Haskell-Compiler main = putstrln "Welcome to FU!" Quelle: 42
Algorithmen und Programmieren II Konzepte imperativer und objektorientierter Programmierung
Algorithmen und Programmieren II Konzepte imperativer und objektorientierter Programmierung SS 2012 Prof. Dr. Margarita Esponda 1 Inhalt Inhalt 1. Konzepte imperativer Programmierung (Python) 2. Formale
MehrProgrammiersprachen und Programmierkonzepte
Programmiersprachen und Programmierkonzepte Inhalt Programmiersprachen- Entwicklung Programmiersprachen und Programmierparadigmen Die Geschichte der Programmiersprachen Anfänge vor 200 Jahren Programmierbare
MehrOrganisatorisches/Einstieg
1/31 Organisatorisches/Einstieg Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/31 Outline 1 Motivation Theoretische Grundlagen
MehrProgrammieren was ist das genau?
Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet
MehrEinführung in die Informatik für Schülerinnen SS 2001. Margarita Esponda esponda@inf.fu-berlin.de. Warum Java? Geschichte der Programmiersprachen
Einführung in die Informatik für Schülerinnen SS 2001 Margarita Esponda esponda@inf.fu-berlin.de Warum Java? Geschichte der Programmiersprachen Entstehung von Objektorientierten Programmiersprachen Geschichte
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 21. Oktober 2015 Automat versus Computer Ein Automat ist eine Maschine,
MehrWS 2011/2012. Georg Sauthoff 1. November 10, 2011
in in WS 2011/2012 Georg 1 AG Praktische Informatik November 10, 2011 1 gsauthof@techfak.uni-bielefeld.de Kontakt in Dr. Georg Email: gsauthof@techfak.uni-bielefeld.de M3-128 in Organisation der Übungen
MehrInformatik Programmiersprachen eine kurze Übersicht
Informatik eine kurze Übersicht Seite 1 natürliche Sprachen (nach Wikipedia) ca 6500 gesprochene Sprachen davon etwa die Hälfte im Aussterben etwa 500 Schriftsprachen mit gedruckten Texten P. Bueghel Turmbau
MehrDie Programmiersprache C Eine Einführung
Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert
MehrProgrammiersprachen. Organisation und Einführung. Berthold Hoffmann. Studiengang Informatik Universität Bremen
Organisation und Einführung Studiengang Informatik Universität Bremen Sommersemester 2010 (Vorlesung am Montag, der 12. April 2010) (Montag, der 12. April 2008) 1 Vorstellung 2 Organisation 3 Einführung
MehrProf. Dr.-Ing. Dietrich Schröder GIS und Programmiersprachen: Wohin geht die Reise?
Prof. Dr.-Ing. Dietrich Schröder GIS und Programmiersprachen: Wohin geht die Reise? 1954 1960 1965 1970 1975 1980 1985 1990 1995 01 02 03 04 40 Jahre Programmierenausbildung im Studiengang VG Programmiersprachen
MehrInformatik ist viel mehr als Delphi-Programmierung!
Gliederung 1. Objektorientierte Programmierung mit Object Pascal (5. Studienbrief, Kapitel 5) 9.4. + 16.4. 2. Software-Bausteine am Beispiel der Delphi-Komponenten (5. Studienbrief, Kapitel 5) 23.4. 3.
MehrProgrammiertechnik. Prof. Dr. Oliver Haase Raum G124 haase@htwg-konstanz.de Tel: 07531/206-150. Oliver Haase Hochschule Konstanz 1
Programmiertechnik Prof. Dr. Oliver Haase Raum G124 haase@htwg-konstanz.de Tel: 07531/206-150 Oliver Haase Hochschule Konstanz 1 Organisatorisches Vorlesung: montags, 8:00 9:30h, Raum C-109 freitags, 8:00
MehrEinführung in die Programmiertechnik
Einführung in die Programmiertechnik Programmiersprachen Algorithmen und Programme Computer führt Berechnungen auf deterministische Weise aus bei gleicher Eingabe und gleichem inneren Zustand erzeugt er
MehrVorlesung 2: Programmieren mit C
Vorlesung 2: Programmieren mit C URL zur Lehrveranstaltung http://www.fbmnd.fh-frankfurt.de/~raimann Folien zur Vorlesung, Übungsaufgaben,... Dr. J. Raimann 1 Dev C++ Kostenlose C/C++-Entwicklungsumgebung
MehrProgrammieren in Haskell Einführung
Programmieren in Haskell Einführung Peter Steffen Universität Bielefeld Technische Fakultät 16.10.2009 1 Programmieren in Haskell Veranstalter Dr. Peter Steffen Raum: M3-124 Tel.: 0521/106-2906 Email:
MehrFunktionale Programmierung (in Clojure)
Funktionale Programmierung (in Clojure) Einführung Burkhardt Renz Fachbereich MNI Technische Hochschule Mittelhessen Wintersemester 2014/15 Übersicht Paradigmen von Programmiersprachen Paradigmen von Programmiersprachen
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 1. Einführung und Grundbegriffe
1 Kapitel 1 2 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm, Compiler, Einordnung von Java Ein einfaches Java-Programm erstellen, übersetzen und ausführen Java-Programme dokumentieren 3 Informatik
Mehr1. Entwicklung der Datenverarbeitung
1. Entwicklung der Datenverarbeitung 1.1. Vom Abakus zum Pentium Schon im Altertum war man bestrebt, sich Hilfsmittel zu schaffen, die das Zählen und Rechnen erleichterten. Formulierung mechanischer Abläufe
MehrStichworte zur Ideengeschichte der Programmiersprachen
Stichworte zur Ideengeschichte der Programmiersprachen Faculty of Technology robert@techfak.uni-bielefeld.de Vorbemerkung Diese Notzien dienen zur Erläuterung des O Reilly Posters über die Entwicklung
MehrProgrammierkurs Python I
Programmierkurs Python I Michaela Regneri 2009-10-30 (Folien basieren auf dem gemeinsamen Kurs mit Stefan Thater, der für diese Vorlesung auf Alexander Kollers Java-Kurs basierte) Organisatorisches Wöchentliche
MehrKapitel 1: Einführung
10 Kapitel 1: Einführung 1.1 Was ist eine Programmiersprache? 1.2 Details zu C++ 1.3 Phasen der Programmierung 1.4 Ein erstes Programm: Hello World! 1.5 Addition zweier Zahlen 1.6 Entscheidungen 1.1 Was
MehrJava Schulung. Objektorientierte Programmierung in Java. Prof. Dr. Nikolaus Wulff
Java Schulung Objektorientierte Programmierung in Java Prof. Dr. Nikolaus Wulff Was ist Java? Java ist eine einfache, objektorientierte, verteilte, interpretierte, robuste, sichere, architekturneutrale,
Mehr4 Ausklang. ALP 2, Hannes Federrath, Sommersemester 2001
ALP 2, Hannes Federrath, Sommersemester 2001 4 Ausklang Inhalt des Kapitels im Überblick: In diesem Kapitel sollen zum Ausklang der Vorlesung folgende Schwerpunkte behandelt werden: Software-Entwicklungsprozess
MehrAlgorithmen und Programmieren II Konzepte imperativer und objektorientierter Programmierung
Algorithmen und Programmieren II Konzepte imperativer und objektorientierter Programmierung SS 2010 Prof. Dr. Margarita Esponda Prof. Dr. Margarita Esponda 1 Inhalt (Teil I) Konzepte imperativer Programmierung
MehrGrundlagen der Programmierung UE
Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, R. Wolfinger 1 Vortragende Dr. Herbert Praehofer (G1 u. G2) Mag. Reinhard Wolfinger (G3 u. G4) Institute for System Software
MehrL4. Erster Schritt zum Programmieren
L4. Erster Schritt zum Programmieren 1 Programmierung in Hoch Beispielprogramme in FORTRAN, PASCAL und C Die Programmiersprache C Erstellung und Übersetzung eines C-Programms Das Programm Hello World Eingabe
MehrIn den weiterführenden Vorlesungen
1.1 Inhalte dieser und weiterer Vorlesungen Elemente der sog. Strukturierten Programmierung zur Darstellung der Algorithmen (Kontrollstrukturen, Methoden) Datentypen (Datenstrukturen) zusammen --> Objekte!
MehrInformatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler. Joliot-Curie-Gymnasium GR 2010 Nico Steinbach
Informatik Java-Programmierkurs im Rahmen der Berufs- u. Studienorientierung für Schüler Joliot-Curie-Gymnasium GR 2010 Nico Steinbach 0. Organisatorisches Warum habt Ihr euch für den Kurs eingeschrieben?
MehrGrundlagen der Programmierung UE
Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, M Löberbauer 1 Vortragende Dipl.-Ing. Markus Löberbauer (G1) Dr. Herbert Praehofer (G2 u. G3) Institute for System Software
MehrProgrammieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff
Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Der Anfänger sollte nicht entmutigt sein, wenn er nicht die Voraussetzungen besitzt, um die Voraussetzungen zu verstehen...
MehrProgrammierung. Programme, Compiler, virtuelle Maschinen, Java
Programmierung Programme, Compiler, virtuelle Maschinen, Java Programme Ein Programm ist eine Folge von Anweisungen, die einem Computer sagen, was er tun soll tuwas.c for(int i=0; i=0; i
MehrProblemorientierte Programmiersprachen Nachteile von Programmen in Maschinensprache sehr aufwendig bei komplexeren Aufgabenstellungen fehleranfällig
Problemorientierte Programmiersprachen Nachteile von Programmen in Maschinensprache sehr aufwendig bei komplexeren Aufgabenstellungen fehleranfällig schwer verständlich nicht portabel, d.h. nicht auf Rechner
MehrGrundlagen der Informatik
Grundlagen der Informatik Prof. Dr. Bernhard Schiefer bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Wesentliche Inhalte Einführung Rechnergrundlagen Grundlagen der Programmierung Kern imperativer
MehrKapitel 3. Mein erstes C-Programm
Kapitel 3 Mein erstes C-Programm 1 Gliederung Kapitel 3 Mein erstes C-Programm 3.1 Einleitung 3.2 Mein erstes C-Programm 3.3 Zusammenfassung 2 Problem Algorithmus Mittelwert für Messwerte berechnen DGL
MehrProgrammieren für Physiker: C++
Programmieren für Physiker: C++ Termine: Vorlesung: Di. 8:00-9:30 Uhr, Lehmann-HS (M. Steinhauser) Hörsaalübungen: Fr. 8:00-9:30 Uhr, Lehmann-HS (A. Mildenberger) Computerübungen: (voraussichtlich) (Fragen
Mehr1. Digitale Medien. 2. Webtechnologien. 3. Web 2.0, Semantic Web. 4. Wissensmanagement. 1. Methoden des Wissensmanagements 2.
Überblick GRUNDKURS INFORMATIK 1 EINFÜHRUNG 1. Informatik Grundlagen: Informationsdarstellung, Information und Daten, Algorithmen, Problemlösung. 1. Digitale Medien 2. Webtechnologien 3. Web 2.0, Semantic
MehrFHZ. K01 Geschichte des Computers. Lernziele. Hochschule Technik+Architektur Luzern. Inhalt
Inhalt 1. Geschichte Folie 1 Lernziele Sie kennen die wichtigsten Punkte in der Geschichte des Computers Sie sind mit einigen Begriffen vertraut Folie 2 Seite 1 Computer als elektronische Rechenmaschine:
MehrAlgorithmen und Programmieren II Einführung in Python
Algorithmen und Programmieren II Einführung in Python SS 2012 Prof. Dr. Margarita Esponda 1 Was ist Python? eine Skript-Sprache Anfang der 90er Jahre entwickelt. Erfinder: Guido van Rossum an der Universität
MehrODER I EINFÜHRUNG, GESCHICHTE, PROGRAMMIEREN. Marcel Götze
GRUNDKURS INFORMATIK ODER WIE DENKEN INFORMATIKER? I EINFÜHRUNG, GESCHICHTE, PROGRAMMIEREN Marcel Götze Überblick 1. Organisatorisches 2. Themen und Ziele der Vorlesung 3. Übungen 4. Wb Web 5. Literatur
Mehr3. Grundlegende Sprachkonstruktionen imperativer Programme
3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 4. Nov. 2015 2 Schwerpunkte
Mehr1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi
1. Einführung Einführung in die Programmierung (fbw) Sommersemester 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, fbi 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik: Einführung in
MehrEinführung in die Programmierung mit Java
Einführung in die Programmierung mit Java Martin Wirsing in Zusammenarbeit mit Moritz Hammer und Axel Rauschmayer SS 06 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm... Warum Java als Programmiersprache
MehrVorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7
Vorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7 Seminare / Praktikum M1/C1 : Mathe 13:15-14:45, C-Kurs 15:15-16:45h M2/C2 : C-Kurs 13:15-14:45, Mathe 15:15-16:45h M*
MehrGrundlagen der Programmierung II BMI Bakk.
BMI Bakk. Teil 1 Rainer Schubert Institut für Biomedizinische Bildanalyse Organisation Inhalt: Mischung aus Vorlesung und praktischen Programmierübungen. Programmierübungen weitgehend als Hausarbeit Prüfung:
MehrEinleitung und Begriffliches. Einleitung. Programmiersprachen. Software-Komplexität ist inhärent und hat vor allem folgende Ursachen
Einleitung Einleitung und Begriffliches Software-Komplexität ist inhärent und hat vor allem folgende Ursachen Komplexität des gegebenen Problems Schwierigkeiten beim Management des Entwicklungsprozesses
MehrProgrammieren in Java
Einführung in die (imperative) Programmierung 2 Programmierung Ziel: Zielsystem soll eine bestimmte Aktion ausführen Zielsystem: Eine Plattform wie Windows oder MacOS oder ein bestimmter Prozessor Aktion:
MehrAlgorithmus, siehe (1)
Der Computer als elektronische Rechenmaschine entstand in den vierziger Jahren des 20. Jahrhunderts. Die Gedankenwelt der Informatik lässt sich aber bedeutend weiter zurückverfolgen. Mit diesem Kapitel
MehrÜbung - Modellierung & Programmierung II
1 Übung - Modellierung & Programmierung II Mathias Goldau, Stefan Koch, Wieland Reich, Dirk Zeckzer, Stefan Philips, Sebastian Volke math@informatik.uni-leipzig.de stefan.koch@informatik.uni-leipzig.de
MehrTelecooperation/RBG. Grundlagen der Informatik I Thema 0: Einführung. Dr. Guido Rößling. Copyrighted material; for TUD student use only
Technische Universität Darmstadt Telecooperation/RBG Grundlagen der Informatik I Thema 0: Einführung Dr. Guido Rößling Copyrighted material; for TUD student use only 1 Worum es in der Informatik nicht
MehrEinführung in die Programmierung mit Java
Einführung in die Programmierung mit Martin Wirsing 2 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm... Warum als Programmiersprache verwenden? Ein einfaches -Programm erstellen, übersetzen
MehrCOBOL COBOL. Tobias Denzler Eve Morel. Für das Seminar: 10 Programmiersprachen
COBOL Tobias Denzler Eve Morel Für das Seminar: 10 Programmiersprachen COBOL Common Business Oriented Language Cobol verwirrt das Gehirn; diese Sprache zu lehren, sollte deshalb als kriminelle Tat verfolgt
MehrJava. Warum Programmierung? Programmierung Beispiel Taschenrechner
Java Programmierung Höhere Programmiersprachen Java als Programmiersprache Aufbau der Java-Software Verwendung von JOE 201-1 Warum Programmierung? Prozessor versteht nur Folgen von 0 und 1 Wie erstellt
MehrAssembler-Programme. Systemprogrammierung (37-023) Elementare Komponenten eines Assembler-Programmes
Systemprogrammierung (37-023) Assemblerprogrammierung Betriebssystemgrundlagen Maschinenmodelle Dozent: Prof. Thomas Stricker krankheitshalber vertreten durch: Felix Rauch WebSite: http://www.cs.inf.ethz.ch/37-023/
MehrOrganisatorisches. Einführung in die Programmierung in C Hochschule Regensburg 13.03.2012.-13.07.2012 Universitätsstraße 31, 93053 Regensburg
Organisatorisches Einführung in die Programmierung in C Hochschule Regensburg 13.03.2012.-13.07.2012 Universitätsstraße 31, 93053 Regensburg Prof. Dr. Jan Dünnweber Wenn Sie kommen...... kommen Sie pünktlich
MehrErgebnisse der Untersuchung zur Eignung einer Programmiersprache für die schnelle Softwareentwicklung kann der Informatikunterricht davon profitieren?
Ergebnisse der Untersuchung zur Eignung einer Programmiersprache für die schnelle Softwareentwicklung kann der Informatikunterricht davon profitieren? Zur Diplomarbeit: Eignet sich die Skriptsprache Python
MehrHello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.
Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike
Mehr4. Objektorientierte Programmierung mit C++
4. Objektorientierte Programmierung mit C++ Einführung C++ / Entwicklung/ Sprachfamilie Nicht objektorientierte Erweiterungen von C Grundlagen des Typkonzepts von C++ Ziele der Objektorientierung Objekt
MehrZiele. C und C++ Was ist C? Übersicht. Überblick. C und C++ im Vergleich zu anderen Programmiersprachen einordnen können
Ziele C und C++ im Vergleich zu anderen Programmiersprachen einordnen können C und C++ Überblick Einige Unterschiede zwischen C, C++ und Java kennen Unterschied zwischen prozeduraler und objektorientierter
MehrIdeen der Informatik. Wie funktionieren Computer? Kurt Mehlhorn
Ideen der Informatik Wie funktionieren Computer? Kurt Mehlhorn Übersicht Wie funktionieren Computer? Der von Neumann Rechner. Universalität von Rechnern: Basis für Siegeszug der Informatik. Jeder Rechner
Mehr2 Grundlagen der Programmierung
2 Grundlagen der Programmierung In diesem Kapitel bereiten wir die Grundlagen für ein systematisches Programmieren. Wichtigstes Ziel ist dabei die Herausarbeitung der fundamentalen Konzepte von Programmiersprache.
MehrEinführung in die Programmierung
Prof. Dr. Rudolf Berrendorf Fachbereich Informatik Fachhochschule Bonn-Rhein-Sieg URM - Programmierung Dipl.-Inf. Sigrid Weil Fachbereich Informatik Fachhochschule Bonn-Rhein-Sieg Einordnung Programmier-Paradigma:
MehrDie Geschichte von C
Die Geschichte von C Stefan Thomas Im Proseminar C-Programmierung - Grundlagen und Konzepte 1/20 Der Weg zu C Gliederung Die Verbreitung von C Konsequenzen und Notwendigkeiten Zusammenfassung/Fazit 2/20
MehrInformatik I (D-MAVT)
Informatik I (D-MAVT) Übungsstunde 1 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich kurze Stunden mit Stoffueberblick -> mehr Zeit fuer Fragen This semester s menu... Imperative Programmierung
MehrSoftwaretechnik. Wesentliche Inhalte der Vorlesung
Softwaretechnik Prof. Dr. Bernhard Schiefer schiefer@informatik.fh-kl.de http://www.informatik.fh-kl.de/~schiefer Prof. Dr. Bernhard Schiefer 1-1 Wesentliche Inhalte der Vorlesung Phasen der Software-Entwicklung
MehrKV Software Engineering Übungsaufgaben SS 2005
KV Software Engineering Übungsaufgaben SS 2005 Martin Glinz, Silvio Meier, Nancy Merlo-Schett, Katja Gräfenhain Übung 1 Aufgabe 1 (10 Punkte) Lesen Sie das Originalpapier von Dijkstra Go To Statement Considered
MehrEinführung in das Programmieren für Technische Mathematiker
Einführung in das Programmieren für Technische Mathematiker Einführung in C++ C++ Marcus Page, MSc. Prof. Dr. Dirk Praetorius I Was ist C++ I Programmierparadigmen I C++ im Vergleich mit C Fr. :15-11:5,
MehrPragmatik von Programmiersprachen
Pragmatik von Programmiersprachen Im Kontext der Notation von Quelltexten Mike Becker, 11. Dezember 2014 Szenario: IT Dienstleister Unternehmen: Produkte: Kunden: IT Dienstleistung Beratung und Software
Mehr8a. Exkurs.NET. 8a.1.NET Architektur
8a. Exkurs.NET Inhalt: 8a.1.NET Architektur 8a.2 Kooperation von Anwendungen über ADO -.NET 8a.3 Unterschiede gegenüber gewöhnlicher WIN32- Programmierung 1 8a.1.NET Architektur Bislang wurden die C/C++
MehrEinführung in die Programmierung WS 2014/15. 2. Algorithmus, Berechenbarkeit und Programmiersprachen 2-1
Einführung in die Programmierung WS 2014/15 2. Algorithmus, Berechenbarkeit und Programmiersprachen 2-1 2. Alg., Ber. & PS Inhalt 1. Algorithmen 2. Programmiersprachen Algorithmus und Programm(iersprache)
MehrJAVA als erste Programmiersprache Semesterkurs
JAVA als erste Programmiersprache Semesterkurs 0 - Einstieg WS 2012 / 2013 Prof. Dr. Bodo Kraft Prof. Dr. Bodo Kraft FH Aachen University of Applied Sciences Fachbereich Medizintechnik und Technomathematik
MehrALP I Einführung in Haskell
ALP I Einführung in Haskell WS 2012/2013 Was ist Haskell? Haskell ist eine rein Funktionale Programmiersprache mit einer nach Bedarf Auswertung-Strategie oder "Lazy Evaluation". Was bedeutet rein funktional?
MehrJava I Vorlesung 1 Einführung in Java
Java I Vorlesung 1 Einführung in Java Alexander Koller koller@coli.uni-sb.de 26.4.2004 Problem Algorithmus Programm Programmiersprachen Warum Java? Unser erstes Java-Programm Organisatorisches Was heißt
MehrInformatik - Lehrgang 2000/2001 GRUNDLAGEN
Informatik - Lehrgang 2000/2001 GRUNDLAGEN Ein Überblick! Das Werden der Informatik! Daten! Technische Informatik Der von Neumann Computer Versuch einer Entmystifizierung 2 Grundlagen Micheuz Peter Das
MehrWie entsteht ein Computerprogramm?
Wie entsteht ein Computerprogramm Grundstrukturen von Programmen Programmiersprachen Entwicklungsschritte eines Programms Programmdokumentation Seite 1 Telefonanruf-Algorithmus Start Rufnummer bereitstellen
MehrJava Einführung Programmcode
Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:
MehrÜbersicht. Einführung in die Funktionale Programmierung: Einleitung & Motivation. Klassifizierung von Programmiersprachen (1)
Motivation Funktionale Programmiersprachen Haskell Übersicht Einführung in die Funktionale Programmierung: Einleitung & Motivation Prof Dr. Manfred Schmidt-Schauß 1 Motivation Übersicht Programmierparadigmen
MehrDer Computer von Neumann
1. Einführung Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)!Aufbau eines Computers!Systemumgebung!Vorgang des Programmierens!Editor, Debugger, Linker!Programmiersprachen - Geschichte Copyright:
MehrPr og r ammier kur s
Pr og r ammier kur s SoSe 2013 Markus Geveler Inst. f. Applied Mathematics, TU Dortmund markus.geveler@math.tu-dortmund.de HOME http://www.mathematik.tu-dortmund.de/sites/pk-ss13 Lesson 1 Was machen wir
MehrEinführung in die C-Programmierung
Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).
MehrErste Schritte in Java
Erste Schritte in Java Im einführenden Kapitel haben wir die Grundbegriffe der imperativen Programmierung an einem Beispiel (Algorithmus von Euklid) kennengelernt. In diesem Kapitel sehen wir uns an einem
MehrGeschichte der Informatik
Entwicklung von Informationstechnik und Durchdringung des Alltags seit der 2. Hälfte des 20 Jahrhunderts explosionsartig Informationsgesellschaft Zunehmende Bedeutung und Wert von Informationen Schnelle
MehrGrundlagen der Informatik für Ingenieure I
3 Einführung in das objektorientierte Programmier-Paradigma 3 Einführung in das objektorientierte Programmier-Paradigma 3.1.1 Top-down structured design 3.1.2 Data-driven design 3.1.3 Object-oriented design
MehrAllgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>
Allgemeines Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C #include main() { printf( hello world\n ); } Peter Sobe 1 Die Großfamilie der C-Sprachen
MehrProgrammierkurs C++ Grundlagen. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.
Programmierkurs C++ Grundlagen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Algorithmen, Maschinen- und Programmiersprachen Algorithmen
MehrFachhochschule Wiesbaden - Fachbereich DCSM. Skriptsprachen. Moderne, objekt-orientierte Skriptsprachen mit Betonung auf Ruby
Fachhochschule Wiesbaden - Fachbereich DCSM Skriptsprachen Moderne, objekt-orientierte Skriptsprachen mit Betonung auf Ruby 16.10.2008 2003, 2008 H. Werntges, FB Design Informatik Medien (DCSM), FH Wiesbaden
MehrDiplomarbeit Antrittsvortrag
Diplomarbeit Antrittsvortrag Christian Müller Run-time byte code compilation, interpretation and optimization for Alice Betreuer: Guido Tack Verantwortlicher Prof.: Gert Smolka Die nächsten 15 Minuten...
MehrEinführung in die Programmierung mit Java
Einführung in die Programmierung mit Java Martin Wirsing 2 Ziele Begriffsbildungen: Informatik, Algorithmus, Programm... Warum Java als Programmiersprache verwenden? Ein einfaches Java-Programm erstellen,
MehrBrainfuck. 1 Brainfuck. 1.1 Brainfuck Geschichte und Umfeld. 1.2 Esoterische Programmiersprachen
Brainfuck 1 Brainfuck 1.1 Brainfuck Geschichte und Umfeld Brainfuck ist eine sogenannte esoterische Programmiersprache. Sie wurde 1993 vom Schweizer Urban Müller entworfen mit dem Ziel, eine Sprache mit
MehrIm Original veränderbare Word-Dateien
Das Von-Neumann-Prinzip Prinzipien der Datenverarbeitung Fast alle modernen Computer funktionieren nach dem Von- Neumann-Prinzip. Der Erfinder dieses Konzeptes John von Neumann (1903-1957) war ein in den
MehrEinführung ins Programmieren
Einführung ins Programmieren Prof. Dr. Markus Gross Informatik I für D-MAVT (FS 2015) Aufbau eines Computers Systemumgebung Vorgang des Programmierens Editor, Debugger, Linker Programmiersprachen - Geschichte
MehrProgrammiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2011 3. April 2011 Sprachen als Kommunikationsmittel Natürliche Sprachen dienen zur mündlichen und schriftlichen Kommunikation zwischen Menschen Künstliche
MehrGrundlagen der Informatik Übungen 1.Termin
Grundlagen der Informatik Übungen 1.Termin Dr. Ing Natalia Currle-Linde Institut für Höchstleistungsrechnen 1 Kurzvorstellung Dr.-Ing. Natalia Currle-Linde linde@hlrs.de Institut für Höchstleistungsrechnen
MehrPraktische Softwaretechnologie
Praktische Softwaretechnologie Martin Giese Johann Radon Institute for Computational and Applied Mathematics Österr. Akademie der Wissenschaften Linz PSWT 2006 p.1/31 Organisation PSWT 2006 p.2/31 Bestandteile
MehrProgrammieren für Fortgeschrittene
Programmieren für Fortgeschrittene 1. Einführung Werner Struckmann Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Wintersemester 2013/2014 1. Einführung 1.1 Sprachen
Mehr09.10.2015. 02.10.2015 + 07.10.2015 Seite 1. 02.10.2015 + 07.10.2015 Seite 2
02.10.2015 + 07.10.2015 Seite 1 02.10.2015 + 07.10.2015 Seite 2 1 Anzahl der Klassenarbeiten: Mindestens zwei Klassenarbeiten pro Halbjahr (= 4 KA pro Jahr) Im ersten Ausbildungsjahr gibt es jedoch kein
MehrVorlesung Programmieren
Vorlesung Programmieren Einführung 21.10.2015 Prof. Dr. Ralf H. Reussner Version 1.0 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD), FAKULTÄT
Mehr