6. Programmiersprachen im Überblick
|
|
- Ella Biermann
- vor 8 Jahren
- Abrufe
Transkript
1 Was ist das: eine Programmiersprache? 6. im Überblick Formale Sprache *), die zur Beschreibung von Berechnungen in omputern verwendet wird: Programme = Daten + Algorithmen *) Mengen von Wörtern über einem Alphabet: L A* (Folge von Symbolen) Wichtig: - Sprache für menschlichen Leser verständlich; - effizient implementierbar Sprache hat Syntax (vgl. Grammatiken, EBNF) und Semantik (Bedeutung, Wirkung). Version: 21. Okt Probleme und Fragen : eine Auswahl Mehr als 1000 unterschiedliche in Forschungsgruppen, internationalen Komitees sowie in omputerfirmen entwickelt [Wilson 93] IBM:, PL1 Sprachen, Dialekte, Versionen... und das Hauptproblem der Vielfalt: Portabilität Klassifikation: Wie kann eine Ordnung in die Vielfalt gebracht werden? Klassifikation... nach Anwendungsgebieten... nach der Historie... nach generationen... nach Programmierparadigmen... nach Verbreitungsgrad Sun: IFIP: Algol 60, Algol 68 Universitäten:,, LU DoD: obol, Simula 67 obol Object obol 95 Mesa Smalltalk Snobol Objective- ++ Maschinensprachen Occam APL DL 2 BPL SETL Lotus Algol 60 hill Modula-3 SPSS Turbo- DELPHI Oberon Prolog II # SP Beta Standard-ML Algol 68 Prolog Forth oncurrent Alphard Opal LU Haskell OPS-5 lipper RPG T Linda Hope Miranda Scheme ommon Oberon-2 PHP LEX SQL YA awk SDL Latex Postscript HTML UML Z Act-One VDM 3 4
2 und Varianten Welche Programmiersprache... -P Standard- oncurrent VAX- DE- Turbo- - Version Version Version Version Version 6... Object DELPHI Sprachdialekt Version ompiler Portabilitätsprobleme 77 IV 90, 95 HP sollte man beherrschen?... ist weit verbreitet?... ist die beste?... ist modern? Sollte man möglichst viele beherrschen? Hauptziel: Portabilität keine Dialekte - Version 1.3 (Mai 2000) - Version Version Version Version 8 (März 2014) Kernighan-Ritchie- ANSI (Standard) Visual Borland... Wie kann eine Ordnung in die Vielfalt von gebracht werden? nach Anwendungsgebieten... nach der Historie... nach generationen... nach Programmierparadigmen... nach Verbreitungsgrad... nach Anwendungsgebieten 7 8
3 und Anwendungen (1) und Anwendungen (2) Wissenschaftlich-technischer Bereich (Physik): Kommerzieller Bereich (Banken, Verwaltung): obol Künstliche Intelligenz (Expertensysteme...): Prolog,, Haskell... Systemsoftware (ompiler, Betriebssysteme):, ++,,, DL 2 Echtzeit: 95, Pearl Datenbanken: SQL Telekommunikation: hill Achtung: Viele Sprachen sind universell anwendbar (, ++,,,, Python...) Statistik: SPSS R (statistische Auswertung von big data, 1990, pupulär ab 2010) Schriften / Texte: Latex, Postscript ompiler-generatoren: Lex, Yacc formale Spezifikationen: Z SW-Architekturen: UML Nicht mehr im engeren Sinne 9 10 Entwicklung von (Quelle: nach Appelrath, Ludewig 'Scriptum Informatik 1995)... nach der Historie FORTH alte Sprachen APL IV OO Sprachen Simula 67 oncurrent Algol-Familie Algol58 Algol60 Algol-W obol Algol68 Außenseiter BPL PROLOG Smalltalk-80 Modula Mesa OPS HP- Delphi 95 Ruby (1995), Python (1995), PHP (1997), # (2000), Swift (Apple, 2014), uda (2015) 12
4 Internet: Informationen zu Liste (aller) (Stand ): Liste objektorientierter (Stand 30. Mai 2015): Zeittafel: nach generationen Programmiersprachgenerationen der 1. Generation: Maschinensprachen der 2. Generation: der 3. Generation: höhere algorithmische u. objektorientierte Sprachen,,,,... der 4. Generation: Tabellenkalkulation, Datenbanksprachen Lotus, Superalc, dbase... der 5. Generation: Sprachen der künstlichen Intelligenz Prolog,, OPS-5... deskriptive Sprachen Abstraktionsniveau... nach Programmierparadigmen Ganz wichtig! 15 16
5 Programmiermodell (Paradigma) Programmiermodell (Paradigma) imperative (algorithmische) maschinennah höhere objektorientierte funktionale deskriptive logische imperative Klassifikation (algorithmische) wird später deskriptive noch einmal maschinennah höhere objektorientierte diskutiert funktionale nale logische,,,, obol, hill, Forth, Achtung: Mischformen - : objektorientiert, imperativ - ommon : objektorientiert, funktional, imperativ Oberon-2,, Simula 67, ++, Object obol, Beta,, Delphi # Haskell,, Scheme, Hope, Miranda, Standard ML Prolog, Prolog II, OPS-2 Programmentwicklung folgt einem Modell konzentriert sich auf Beschreibung von - Algorithmen - Objekten - Funktionalen Zusammenhängen - Logik des Problems 17,,,, obol, hill, Forth, Achtung: Mischformen - : objektorientiert, imperativ - ommon : objektorientiert, funktional, imperativ Oberon-2,, Simula 67, ++, Object obol, Beta,, Delphi # Haskell,, Scheme, Hope, Miranda, Standard ML Prolog, Prolog II, OPS-2 18 Programmiermodell: imperativ Programmiermodell: objektorientiert Orientiert am Algorithmusbegriff: Orientiert auf Beschreibung von kooperierenden Objekten: - Programme als Folgen sequentiell auszuführender Anweisungen Auf von-neumann-rechner ausgerichtet: - Anweisungen verändern Daten im Speicher Basiskonzepte: - Variable: zur Datenspeicherung - Anweisung: zur Bearbeitung von Variablen-Werten Objekt = Semantische Einheit aus - Daten (Variablen) - Operationen / Algorithmen zur Bearbeitung der Daten Strukturierungsmethode: - Teilalgorithmus, d. h. Prozedur, Methode, Funktion Klasse = Beschreibungsform für ähnliche Objekte Programm = Menge von Klassen 19 20
6 Programmiermodell: logisch Programm = auf die logische Beschreibung eines Problems orientiert Beispiel: Beschreibung von Relationen zwischen 'Daten' / d.h. zwischen 'Objekten der Realität' mittels der Prädikatenlogik elternteil (lisa, maria). elternteil (hans, maria). schwester (X, Y) :- elternteil (Z, X), elternteil (Z, Y), weiblich (X). Programmiermodell: funktional Programm = Ein funktionales Programm beschreibt eine Komposition von (mathematischen) Funktionen. Mathematische Funktion f: D W (Definitionsbereich, Wertevorrat) - Keine Zuweisung von Werten an Variablen; - Keine Beschreibung von Algorithmen; z.b. kein Zyklus - Kein Von-Neumann-Rechner als Hardware-Modell Beispiel: Programmmap, das Funktion f auf alle Elemente einer Liste anwendet, z.b map (add 1) [1,2,3] => [2,3,4] map (mult 2) [1,2,3] => [2,4,6] weiblich (maria). weiblich (lisa). maennlich (hans). Problem beschrieben; nicht: Algorithmus 21 Realisiert durch folgendes funktionales Programm map: map f [] = [] (1. Fall: leere Liste []) map f (x:xs) = f x : map f xs (2. Fall: nicht-leere Liste) (Funktion f auf nicht-leere Liste x:xs angewandt, wobei x erstes Element, xs die Restliste ist; : ist Verkettung)) 22 Gegenstand der Vorlesung GdP Resümee maschinennah höhere objektorientierte imperative (algorithmische),,,, obol, hill, Forth, Oberon-2,, Simula 67, ++, Object obol, Beta,, Delphi # funktionale Haskell,, Scheme, Hope, Miranda, Standard ML deskriptive logische Prolog, Prolog II, OPS-2 Logik für Informatiker 23 Es kommt nicht so sehr darauf an, möglichst viele zu beherrschen, sondern vielmehr: Konzepte (Anweisungen, Typen...) Programmiertechniken (Sortieren, Suchen...) Komponentenbildung (Modularisierung: Zerlegung von großen Programmen) Paradigmen (objektorientiert, imperativ, logisch, funktional) Methoden zur Entwicklung komplexer Software (Software Engineering) theoretische Grundlagen der Programmierung Teamarbeit Kenntnisse der Fachdisziplin Man muss in der Lage sein, sich zielgerichtet in eine neue Sprache einzuarbeiten! Man sollte Vertreter wichtiger Sprachklassen aktiv beherrschen: (oder ++,, Smalltalk, Delphi), (oder ), Prolog,... 24
7 : Warum so viele und immer wieder neue? Warum denn so viele und immer wieder neue? Simula 67 obol Object obol 95 Mesa Smalltalk APL Snobol DL 2 BPL SETL Algol 60 Turbo- DELPHI Oberon Modula-3 ++ hill SPSS Prolog II # SP Algol 68 Prolog Beta oncurrent Forth Alphard Opal LU Haskell OPS-5 Hope Miranda Scheme ommon Oberon-2 LEX SQL Latex HTML YA Z awk SDL Postscript UML Act-One Objective- Standard-ML Maschinensprachen Occam Lotus lipper RPG T Linda PHP VDM 25 PHP (1997), # (2000) 26 Kooperationsprojekte der Gruppe Softwaretechnik (Bothe) Warum denn so viele und immer wieder neue? Kandidaten für DIE endgültige Sprache in der Vergangenheit 1950 Daimler (Stuttgart): (Diplomarbeit) Leipniz-Institut: 77, 90, 95 (zwei Diplomarbeiten) Institut für Physik der HU: ++ Hahn-Meitner-Institut: Turbo-, LabVIEW (visuelle Programmierung) Siemens: # Institut für Psychologie der HU: Smalltalk APL IV FORTH 77 Simula 67 Smalltalk-80 oncurrent Algol58 Algol60 Algol-W Modula Mesa obol Algol68 BPL PROLOG OPS HP- Delphi 95 Ruby (1995), Python (1995), PHP (1997), # (2000), Swift (Apple, 2014), uda (2015) 28
8 Alte Sprachen und immer wieder neue Sprachen: neue Programmiertechnologien und -aufgaben Die Macht der alten Sprachen FORTH Die Macht der 1962 APL 1966 alten Sprachen IV 77 Spezialaufgaben: wiss. Rechnen, kommerzieller Bereich HP- Smalltalk-80 Delphi Algol58 Algol60 Strukturierte Simula Programmierung: 67 Algol-W Anweisungen und Daten Komplexität von SW: Modulare oncurrent und Objektorientierte Programmierung Modula Mesa obol Algol68 Neue Erkenntnisse und Technologien 95 Paradigmen BPL ++ Andere PROLOG Spezielle Ziele: - Portabilität OPS5 - Flexibilität - Sicherheit -.. Fakten zu obol 1960 entwickelt Anwendung: kommerzieller Bereich (Banken, Verwaltung) weltweit mehr als 200 Milliarden LO obol-ode im Einsatz pro Jahr: 5 Milliarden LO neu geschriebener obol-ode 86 % aller Geschäftsdaten durch obol-systeme verarbeitet Gründe: - Reife von obol durch ihre Weiterentwicklung, - Spezialalgorithmen für kaufmännische Berechnungen, - Routine (Quelle: omputer Zeitung, 3. März 2003) Ruby (1995), K. Bothe, Institut für Informatik, HU Verändertes Python (1995), PHP (1997), # (2000), Swift (Apple, 2014), uda (2015) Berlin, GdP, WS 2015/16 technologisches Umfeld: Internet, Webseiten The 2015 Top Ten Programming Languages *)... nach Verbreitungsgrad *) Quelle: IEEE Spectrum, Juli
9 The 2015 Top Ten Programming Languages The 2015 Top Ten Programming Languages What are the most popular programming languages? The only honest answer: It depends. Are you trying to land a job at a hot mobile app startup, model electricity flows across a continent, or create an electronic art project? Languages are tools, and what s a must have in one domain can be a whatever in another. (2015) (2014) and are in first place, data-analysis language R is rising in popularity, newcomers like Apple's Swift and Nvidia's uda are making waves. Quelle: IEEE Spectrum, Juli Quelle: IEEE Spectrum, Juli
6. Programmiersprachen im Überblick. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16
6. Programmiersprachen im Überblick K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 21. Okt. 2015 2 Was ist das: eine Programmiersprache? Formale Sprache *), die zur Beschreibung
Mehr1. Grundkonzepte der logischen Programmierung 2. Syntax von Prolog 3. Rechnen in Prolog. IV.1 Grundkonzepte der logischen Programmierung - 1 -
1. Grundkonzepte der logischen Programmierung 2. Syntax von Prolog 3. Rechnen in Prolog IV.1 Grundkonzepte der logischen Programmierung - 1 - Übersicht Imperative Sprachen Deklarative Sprachen Folge von
Mehrn 1. Grundkonzepte der logischen Programmierung n 2. Syntax von Prolog n 3. Rechnen in Prolog IV.1 Grundkonzepte der logischen Programmierung - 1 -
n 1. Grundkonzepte der logischen Programmierung n 2. Syntax von Prolog n 3. Rechnen in Prolog IV.1 Grundkonzepte der logischen Programmierung - 1 - Übersicht Imperative Sprachen Deklarative Sprachen l
Mehr1. Einführung Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt
1. Einführung Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Ein Zitat zu Beginn Vor der Wahl, ein theoretischer Physiker oder ein Programmierer
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
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
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
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
MehrIII.1 Prinzipien der funktionalen Programmierung - 1 -
1. Prinzipien der funktionalen Programmierung 2. Deklarationen 3. Ausdrücke 4. Muster (Patterns) 5. Typen und Datenstrukturen 6. Funktionale Programmiertechniken III.1 Prinzipien der funktionalen Programmierung
Mehrn 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen - 1 -
n 1. Der Begriff Informatik n 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik n "Informatik" = Kunstwort aus Information
MehrGliederung. n Teil I: Einleitung und Grundbegriffe. n Teil II: Imperative und objektorientierte Programmierung
Gliederung n Teil I: Einleitung und Grundbegriffe l 1. Organisatorisches l 2. Grundlagen von Programmiersprachen n Teil II: Imperative und objektorientierte Programmierung l 1. Grundelemente der Programmierung
Mehr7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik
7. Programmierungs- Phase Software Engineering (FB EIT) Wintersemester 2007 / 2008 Prof. Dr. Bernhard Humm Hochschule Darmstadt, FB Informatik 1 Prof. Dr. Bernhard Humm, Hochschule Darmstadt, FB Informatik:
Mehr10. Programmierungs-Phase: Objektorientierung Software Engineering
10. Programmierungs-Phase: Objektorientierung Software Engineering Fachhochschule Darmstadt Haardtring 100 D-64295 Darmstadt Prof. Dr. Bernhard Humm FH Darmstadt, 15. Dezember 2005 Einordnung in den Kontext
MehrGeschichte der Programmiersprachen
Erster Vorläufer: das Plankalkül, 1942 von K. Zuse, erst 1975 erstmals vollständig beschrieben und implementiert, keine praktische Relevanz Sprachen der 1. Generation (1.GL): Maschinensprachen: binär,
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
Mehr1.3 Geschichte der Programmiersprachen
50er Jahre erste Definition höherer Programmiersprachen Effizienz maßgebliches Designziel FORTRAN (Backus) als Sprache für wissenschaftliches Rechnen (komplexe Berechnungen, einfachen Daten), Arrays, Schleifen,
MehrProgrammiersprachen: Klassifizierung und Methoden. Programmier-Paradigmen. Grundlagen der Programmierung 2 (1.C) - 1 -
Programmiersprachen: Klassifizierung und Methoden Programmier-Paradigmen Grundlagen der Programmierung 2 (1.C) - 1 - Programmiersprachen: Begriffe Syntax Beschreibung der Programme als Texte let xyz =
Mehr2. JAVA-Programmierung. Informatik II für Verkehrsingenieure
2. JAVA-Programmierung Informatik II für Verkehrsingenieure Problem-Algorithmus-Umsetzung Problemstellung Algorithmus Umsetzung 2 Beispiele für Algorithmen 3 Definitionsversuch Algorithmus Anleitung, wie
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
MehrInhalt. n Algorithmus. n Euklidscher Algorithmus. n Sortieren. n Programmiersprachen. n Entwicklungsschritte eines Programms.
Inhalt Algorithmus Euklidscher Algorithmus Sortieren Programmiersprachen Entwicklungsschritte eines Programms Algorithmen 1 Algorithmus Eindeutige Beschreibung eines allgemeinen Verfahrens unter Verwendung
MehrProgrammiersprachen Proseminar
Programmiersprachen Proseminar Prof. Dr. Manfred Schmidt-Schauß Künstliche Intelligenz/Softwaretechnologie Programmiersprachen Proseminar SS 2005 p.1/25 Personen Prof. Dr. Manfred Schmidt-Schauß, Zimmer
MehrProf. Dr. Jürgen Giesl Lehr- und Forschungsgebiet Informatik 2. Proseminar - 1 -
Prof. Dr. Jürgen Giesl Lehr- und Forschungsgebiet Informatik 2 Proseminar - 1 - Lernziele des Proseminars Wie komme ich zu gesicherten Ergebnissen? Stimmen Angaben? Andere Quellen? Neuere Entwicklungen?
MehrInformatik-Seminar. Auftakt. Informatik. Grundlagen
Informatik-Seminar Auftakt Informatik Grundlagen Vorstellung M. Sc. Jan Christoph Peters 27 Jahre alt Promotionsstudent an der TU Kaiserslautern wohne derzeit auch in KL Kontakt: j_peters10@cs.uni-kl.de
MehrInhalte des Moduls Programmieren 1
Inhalte des Moduls Programmieren 1 Einführung: Algorithmus und Programm, Programmiersprache Erste Schritte in Java Grundlagen der Sprache: Datentypen, Ausdrücke und Anweisungen, imperative Programmierung
MehrInformatische Allgemeinbildung
nformatische Allgemeinbildung André Hilbig Prof. Dr. Ludger Humbert Dr. Dorothee Müller Stephan Noller 24. Januar 2017 Drei Projekte zur Entwicklung der nformatischen Allgemeinbildung Theoretische im Alltag
MehrVorlesungsinhalte. Programmiersprachen: Haskell 98: funktional, höherer Ordnung, polymorph typisiert, Interpreter
Vorlesungsinhalte Programmiersprachen: Haskell 98: www.haskell.org funktional, höherer Ordnung, polymorph typisiert, Interpreter Python 2.3: www.python.org imperativ, objektorientiert, schwach typisiert,
Mehr11. Rekursion, Komplexität von Algorithmen
11. Rekursion, Komplexität von Algorithmen Teil 2 Java-Beispiele: Power1.java Hanoi.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 23. Nov. 2015 Anwendung der Rekursion Rekursiv
MehrEinführung in die Programmierung
Einleitung Gliederung Einführung in die Programmierung Wintersemester 2017/18 Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering
MehrEinführung in die Programmierung
Einleitung Gliederung Einführung in die Programmierung Wintersemester 08/09 Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering
MehrWebbasierte Programmierung
Webbasierte Programmierung Eine Einführung mit anschaulichen Beispielen aus der HTML5-Welt apl. Prof. Dr. Achim Ebert Inhalt Kapitel 0: Organisation Allgemeine Informationen Wer sind wir? Anforderungen
Mehr(Building) Flexible Functional Programming Interfaces. Von Amos Treiber
(Building) Flexible Functional Programming Interfaces Von Amos Treiber Gliederung Funktionale Programmierung Einführung Aspekte Vergleich: Funktional vs Imperativ Bending the language towards the problem
MehrKapitel 1: Einleitung. Gliederung. Zum Begriff Informatik Zum Begriff Algorithmus Zum Begriff Programmieren
Kapitel 1: Einleitung Wintersemester 2006/07 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Gliederung Zum Begriff Informatik
MehrEs gibt keinen Algorithmus zum Schreiben eines Programms bzw. Algorithmus.
1 Einführung Programmiersprachen: Ermöglichen formale Beschreibung von Problemlösungsverfahren, die auf einem Computer oder Computersystemen ausführbar sind. Bilden die Basis zur Entwicklung von Software
MehrEinführung in die Programmierung Wintersemester 2016/17
Einführung in die Programmierung Wintersemester 2016/17 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Einleitung Gliederung Zum Begriff Informatik Zum
MehrDefinitionen/Vorarbeit zum Thema Java
Definitionen/Vorarbeit zum Thema Java Programmiersprachen: System von Wörtern und Symbolen, die zur Formulierung von Programmen für die elektronische Datenverarbeitung verwendet werden. Arten: z.b. Javascript
Mehr1 Inhalt der Vorlesung B-PS1
1 Inhalt der Vorlesung B-PS1 1.1 Tag 1 1.1.1 Vormittag Geschichte der Programmiersprachen Wie viele Programmiersprachen gibt es? https://en.wikipedia.org/wiki/list_of_programming_languages Esoterische
MehrAllgemeine Methodenlehre, Datenerhebung und Datenauswertung, deskriptive Statistik
M1 Allgemeine Methodenlehre, Datenerhebung und Datenauswertung, deskriptive Statistik In diesem Modul erlernen die Studierenden die grundlegenden Konzepte, Ansätze und Verfahren methodischen Arbeitens.
Mehr2. Einführung. Informatik II für Verkehrsingenieure
2. Einführung Informatik II für Verkehrsingenieure Überblick ZIEL DER EINFÜHRUNG Was ist Informatik Historische Entwicklung von Programmiersprachen 2 Was ist Informatik? 3 Was ist Informatik? FRANZÖSISCH
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 für das modularisierte Lehramt. September 2011, 8. Vorlesung. Stuttgart, den 22. September Dr. Heiko Schulz.
Programmierkurs für das modularisierte Lehramt September 2011, 8. Vorlesung Dr. Heiko Schulz Universität Stuttgart, Fachbereich Mathematik Hauptquellen: Stuttgart, den 22. September 2011 L Programmierkurs
MehrInfo B VL 1: Einführung p.1
Info B VL 1: Einführung Objektorientiere Programmierung in Java 2003 Ute Schmid (Vorlesung) Elmar Ludwig (Übung) FB Mathematik/Informatik, Universität Osnabrück Info B VL 1: Einführung p.1 Programmier-Paradigmen
MehrTeil III. Objektorientierung und SW-Entwicklung
Teil III Objektorientierung und SW-Entwicklung K. Bothe K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 2. Dez. 2015 2 III: Objektorientierung und SW-Entwicklung 1. Grundkonzepte
MehrFunktionale Programmierung Einführung
Einführung Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 13.09.2017 15:29 Inhaltsverzeichnis Was ist imperative Programmierung.......................
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,
MehrEIDI 1 Einführung in die Informatik 1. PGdP Praktikum Grundlagen der Programmierung. Harald Räcke 2/217
EIDI 1 Einführung in die Informatik 1 PGdP Praktikum Grundlagen der Programmierung Harald Räcke 2/217 Wie löst man Probleme mithilfe von Computern? 0 Harald Räcke 3/217 Inhalte: EIDI 1 1. Was ist das Problem?
Mehr1 Programmiersprachen 1.1 1
1 Programmiersprachen 1.1 1 Meilensteine imperativer Programmiersprachen (teilweise objektorientiert) Fortran 1960 Cobol Algol 60 PL/I Algol W Simula 67 Algol 68 1970 Pascal C Smalltalk Modula 1980 Ada
MehrProgrammierung Paradigmen und Konzepte
Programmierung Paradigmen und Konzepte Mit 79 Bildern, 85 Beispielen, 130 Aufgaben und Kontrollfragen und 19 Referatsthemen Fachbuchverlag Leipzig im Carl Hanser Verlag 1 Einführung und Überblick 11 1.1
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
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
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:
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
MehrEinführung in die Programmierung
Einführung in die Programmierung Als Programmierung bezeichnet man die Tätigkeit Computerprogramme (software) zu erstellen. Konzeptioneller Entwurf Umsetzung des Entwurfs in Programmcode (Implementation):
MehrWas ist Informatik? Alexander Lange
Was ist Informatik? Was ist Informatik? Alexander Lange 12.11.2003 Was ist Informatik? Inhalt 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Das Wort»Informatik«Die Idee Teilgebiete der Informatik Technische Informatik
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
MehrSemantik von Programmiersprachen
Semantik von Programmiersprachen 1. Einführung Werner Struckmann Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Sommersemester 2017 1. Einführung 1.1 Sprachen und
MehrHöhere Programmiersprachen
Höhere Programmiersprachen Prof. Dr. Dr. h.c. Gerhard Goos Dipl.-Inform. Sebastian Hack (ggoos hack)@ipd.info.uni-karlsruhe.de Institut für Programmstrukturen und Datenorganisation Universität Karlsruhe
MehrInhalt. Einführung in die Strukturierte Programmierung 15
Inhalt Einführung in die Strukturierte Programmierung 15 1.1 Was bedeutet Programmieren? 17 1.2 Was bedeutet Strukturierte Programmierung? 18 1.3 Was ist Pascal? 19 1.4 Was ist PS/k? 20 1.5 Warum wird
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 Agenda Elementare Einführung C Programm Syntax Datentypen, Variablen und Konstanten Operatoren und Ausdrücke Kontrollstrukturen
MehrEinführung in die Programmiertechnik
Einführung in die Programmiertechnik Formale Beschreibung von Programmiersprachen Lexikalische Regeln Definition von Wörtern (Lexem, Token) Gruppierung von Zeichen Lexikalische Kategorien: Klassen ähnlicher
Mehr5. Algorithmen. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16
5. Algorithmen K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 21. Okt. 2015 1. Berechne 2 n. Zu lösende Probleme 2. Berechne die Fakultät einer nat. Zahl: n! = 1 * 2 *... n 3. Entscheide,
MehrEinführung in die Informatik I (autip)
Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 37
Skript Informatik Seite 1 von 37 Was ist Informatik? - Informatik ist die Wissenschaft von der systematischen Verarbeitung von Informationen, insbesondere deren automatisierte Verarbeitung mit Hilfe von
MehrKonzepte von Programmiersprachen
Konzepte von Programmiersprachen 1. Einführung Ziele der Vorlesung: Entwurfsalternativen von Programmiersprachen erkunden deklarative Programmierung am Beispiel von Haskell erlernen Programmiertechniken
MehrAMTLICHE BEKANNTMACHUNG
AMTLICHE BEKANNTMACHUNG NUMMER 2017/094 SEITEN 1-6 DATUM 07.04.2017 REDAKTION Sylvia Glaser 3. Ordnung zur Änderung der studiengangspezifischen Prüfungsordnung für den Bachelorstudiengang Informatik der
MehrZiele der Vorlesung: Entwurfsalternativen von Programmiersprachen erkunden Deklarative Programmierung am Beispiel von Haskell erlernen
Konzepte von Programmiersprachen 1. Einführung Ziele der Vorlesung: Entwurfsalternativen von Programmiersprachen erkunden Deklarative Programmierung am Beispiel von Haskell erlernen Programmiertechniken
MehrDUDEN. Basiswissen Schule. Informatik Abitur. PAETEC Verlag für Bildungsmedien Berlin : Dudenverlag Mannheim Leipzig Wien Zürich
DUDEN Basiswissen Schule Informatik Abitur PAETEC Verlag für Bildungsmedien Berlin : Dudenverlag Mannheim Leipzig Wien Zürich vv 3 j Inhaltsverzeichnis 1 Grundbegriffe 7 1.1 Die Informatik als junge Wissenschaft
MehrSprachen und Programmiersprachen
Sprachen und Programmiersprachen Natürliche Sprachen versus Programmiersprachen / Spezifikationssprachen Syntax legt die grammatikalische Korrektheit fest. Semantik legt die Bedeutung von syntaktisch korrekten
Mehr1 Einleitung. 1.1 Definition und Geschichte. Holger Vogelsang und Peter A. Henning
17 1 Einleitung Holger Vogelsang und Peter A. Henning 1.1 Definition und Geschichte Ein Programm ist eine Abfolge von Daten und Befehlen an einen Prozessor, um diese Daten in andere Daten umzuwandeln.
MehrInterdisziplinäre fachdidaktische Übung: Formale Sprache Definitionen, Funktionen
Interdisziplinäre fachdidaktische Übung: Formale Sprache Definitionen, en SS 2013: Grossmann, Jenko 1 Definitionen Folgenden Begriffe werden oft synonym verwendet: Formale Sprache Programmiersprache Computersprache
MehrWS 2011/2012. Georg Sauthoff 1. October 12, 2011
in in WS 2011/2012 Georg 1 AG Praktische Informatik October 12, 2011 1 gsauthof@techfak.uni-bielefeld.de Kontakt in Dr. Georg Email: gsauthof@techfak.uni-bielefeld.de M3-128 in Organisation der Übungen
MehrCARL HANSER VERLAG. Peter Henning, Holger Vogelsang. Taschenbuch Programmiersprachen
CARL HANSER VERLAG Peter Henning, Holger Vogelsang Taschenbuch Programmiersprachen 3-446-22580-3 www.hanser.de 17 1 Einleitung Holger Vogelsang und Peter A. Henning 1.1 Definition und Geschichte Ein Programm
MehrSoftware-Entwicklung
SWE-0 Software-Entwicklung Prof. Dr. Uwe Kastens 2001 bei Prof. Dr. Uwe Kastens Vorlesung Software-Entwicklung / Folie 00 Ziele der Vorlesung SWE-1 Die Studierenden sollen die Programmentwicklung in Java
MehrDas Studium im Fach Informatik
[Projekttage Studien- und Berufsorientierung der Jgst. 12] Fachbereich Informatik Fakultät für Mathematik und Informatik FernUniversität Hagen 17. Februar 2009 Was Informatik nicht ist Was ist Informatik?
MehrPolyvalenter Bachelor Lehramt Informatik
10-203-2005-1 Modultitel Modellierung und Programmierung 1 1. Semester Angewandte Telematik jedes Wintersemester Vorlesung "Modellierung und Programmierung I" (2 SWS) = 30 h Präsenzzeit und 36 h Selbststudium
MehrEckpunkte der Informatik-Geschichte
Eckpunkte der -Geschichte bis 1960: als Teil der Wissenschaftsdisziplinen Logik, Mathematik, Elektrotechnik u.a. seit 1960 eigenständige Wissenschaft Einige Eckpunkte: 450 v. Chr.: Verwendung des Abakus
MehrVisuelle DSLs Trends in der Softwaretechnik: Domänenspezifische Sprachen (Seminar WS 2010/11) Thorsten Arendt
Visuelle DSLs Trends in der Softwaretechnik: Domänenspezifische Sprachen (Seminar WS 2010/11) Thorsten Arendt Problemlösung = Abstrahierung Entwicklung der Programmiersprachen Maschinencode/Binärcode:
MehrPraktische Informatik I
Praktische Informatik I WS 2005/2005 Prof. Dr. Wolfgang Effelsberg Lehrstuhl für Praktische Informatik IV Universität Mannheim 1. Einführung 1-1 Inhaltsverzeichnis (1) 1. Einführung 1.1 Was ist Informatik?
MehrPropädeutischen Fächer
Studienplan für die Propädeutischen Fächer und die Zusatzfächer angeboten von der Math.-Natw. Fakultät im Rahmen eines Bachelor of Science oder für andere Studiengänge mit diesen Programmen Zusatzfächer
MehrLogische Programmierung
Logische Programmierung Einleitung Elmar Eder () 1 / 27 Verschiedene Paradigmen der Programmierung Imperative Programmierung Einfache imperative Programmierung Prozedurale Programmierung Objektorientierte
MehrVorlesung Programmieren
Vorlesung Programmieren Programmierparadigmen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Programmiersprachen-Paradigmen Eine Programmiersprache
MehrVorlesung Programmieren. Programmiersprachen-Paradigmen. Programmierparadigmen. Eine Programmiersprache dient dem Aufschreiben von Algorithmen
Vorlesung Programmieren Programmierparadigmen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Programmiersprachen-Paradigmen Eine Programmiersprache
MehrVU Software Paradigmen
VU Software Paradigmen Bernhard Aichernig und Alexander Felfernig Institut für Softwaretechnologie {aichernig, alexander.felfernig}@ist.tugraz.at Institute for Software Technology Inhalt Organisatorisches
MehrBeispiel: Hamming-Folge Erzeuge eine Folge X = x 0,x 2,... mit folgenden Eigenschaften: 1. x i+1 > x i für alle i
Beispiel: Hamming-Folge Erzeuge eine Folge X = x 0,x 2,... mit folgenden Eigenschaften: 1. x i+1 > x i für alle i FP-8.7 2. x 0 = 1 3. Falls x in der Folge X auftritt, dann auch 2x, 3x und 5x. 4. Nur die
MehrInterdisziplinäre fachdidaktische Übung: Sprache und Modelle. SS 2015: Grossmann, Jenko
Interdisziplinäre fachdidaktische Übung: Sprache und Modelle SS 2015: Grossmann, Jenko Einleitung Was ist ein Modell? Sprachlich orientierte Modelle Beispiele Wie entstehen Modelle? Zusammenhang Modell
Mehr1 Funktionale vs. Imperative Programmierung
1 Funktionale vs. Imperative Programmierung 1.1 Einführung Programme einer funktionalen Programmiersprache (functional programming language, FPL) bestehen ausschließlich aus Funktionsdefinitionen und Funktionsaufrufen.
MehrGrundlagen der Modellierung und Programmierung, Übung
Grundlagen der Modellierung und Programmierung Übung Prof. Wolfram Amme LS Softwaretechnik Prof. Klaus Küspert LS Datenbanksysteme Prof. Birgitta König-Ries LS Verteilte Systeme Prof. Dr. Wilhelm Rossak
MehrVorlesung Programmieren
Vorlesung Programmieren Einführung 20.10.2014 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
MehrINFORMATIK FÜR BIOLOGEN
Technische Universität Dresden 15012015 Institut für Theoretische Informatik Professur für Automatentheorie INFORMATIK FÜR BIOLOGEN Musterklausur WS 2014/15 Studiengang Biologie und Molekulare Biotechnologie
MehrSoftware Entwicklung 1
Software Entwicklung 1 Annette Bieniusa AG Softech FB Informatik TU Kaiserslautern Überblick für heute Programmierparadigmen Imperative vs. deklarative Programmierung Beispiele Funktionale Programmierung
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
MehrVU Software Paradigmen / SS 2014
VU Software Paradigmen 716.060 / SS 2014 Bernhard Aichernig und Alexander Felfernig Institut für Softwaretechnologie {aichernig, alexander.felfernig}@ist.tugraz.at Institute for Software Technology Inhalt
MehrProgrammieren in Haskell Einführung
Programmieren in Haskell Einführung Peter Steffen Universität Bielefeld Technische Fakultät 17.10.2008 1 Programmieren in Haskell Veranstalter Dr. Peter Steffen Raum: M3-124 Tel.: 0521/106-2906 Email:
MehrAlgorithmen. Von Hammurapi bis Gödel. von Jochen Ziegenbalg, Oliver Ziegenbalg, Bernd Ziegenbalg. überarbeitet
Algorithmen Von Hammurapi bis Gödel von Jochen Ziegenbalg, Oliver Ziegenbalg, Bernd Ziegenbalg überarbeitet Algorithmen Ziegenbalg / Ziegenbalg / Ziegenbalg schnell und portofrei erhältlich bei beck-shop.de
MehrBemerkung: Termine und Orte für die einzelnen Lehrveranstaltungen sind dem Stundenplan zu entnehmen.
Allgemeine Modulbeschreibungen für das erste Semester Bachelor Informatik 1. Objektorientierte Programmierung Bestehend aus - Vorlesung Objektorientierte Programmierung (Prof. Zimmermann) - Übung zu obiger
MehrMultiparadigmen- Programmiersprachen
Multiparadigmen- Programmiersprachen Martin Grabmüller magr@cs.tu-berlin.de Fachgebiet Übersetzerbau und Programmiersprachen Fakultät IV Elektrotechnik und Informatik Technische Universität Berlin Multiparadigmen-Programmiersprachen
Mehr9. Ausnahmebehandlung 10. Softwareentwicklung: Anforderungsanalyse und Problemdefinition - ein Beispiel Abstrakte Datentypen,
III: Objektorientierung und SW-Entwicklung 1. Grundkonzepte der Objektorientierung (1): abstrakte Datentypen, Objekte, Klassen 2. Objektorientierung: Grundlegende Fallbeispiele 3. Grundkonzepte der Objektorientierung
MehrProgrammiersprachen und Programmierkonzepte
Programmiersprachen und Programmierkonzepte Inhalt Programmiersprachen- Entwicklung Programmiersprachen und Programmierparadigmen Die Geschichte der Programmiersprachen Anfänge vor 200 Jahren Programmierbare
Mehr