(Building) Flexible Functional Programming Interfaces. Von Amos Treiber
|
|
- Hinrich Martin
- vor 5 Jahren
- Abrufe
Transkript
1 (Building) Flexible Functional Programming Interfaces Von Amos Treiber
2 Gliederung Funktionale Programmierung Einführung Aspekte Vergleich: Funktional vs Imperativ Bending the language towards the problem (1) Application: Scala Beispiel: Html Producer Konklusion 2 (1)
3 Funktionale Programmierung Einführung - Geschichtliches 1930er: Lamda-Kalkül 1950er: Lisp λ 1977: Can Programming Be Liberated From the von Neumann Style? 1987: Haskell In den letzten Jahren gesteigertes Interesse: Scala Clojure Functional Java Bild: 3
4 Funktionale Programmierung Einführung - Geschichtliches Früher eher in akademischen Bereichen populär Heute: mehr Nutzung in Industrie Scala: Twitter und Erlang: Telekommunikationssysteme in 1980er, ähnliche Nutzung bei T-mobile und Facebook Lisp in frühen Apple Macintosh Computern Bilder: 4
5 Funktionale Programmierung Einführung - Einordnung Imperativ: Wie Deklarativ: Was? Programmierung Imperativ Deklarativ Prozedural (FORTRAN, C) Objektorientiert (C++, Java) Logisch (Prolog) Grundlegendes Paradigma: Evaluation von mathematischen Funktionen Einfacher Grundstein Funktional (Haskell, Erlang) Verhindern von States (imperatives Paradigma) 5
6 Funktionale Programmierung Aspekte Keine States => Keine Variablen Rekursion statt Iteration Coding Style: Komposition von Funktionen Keine einzelnen Schritte => Reihenfolge egal => Resultat wird nicht benötigt? Kann gelöscht werden 6
7 Funktionale Programmierung Aspekte Higher-order functions: Funktionen als Parameter oder als Rückgabe => Annahmen über Komposition des Programms => dynamische und adaptive Systeme First-class functions: Funktionen wie Objekt behandelt => Focus on results, not steps (2) (2) 7
8 Funktionale Programmierung Aspekte Evaluation: strict(eager) oder nonstrict(lazy) Bsp.: println( length [3,4,1/0]) => strict: error! => lazy: 3 => unendliche Datentypen Typ-System: typed oder untyped lamda calculus 8
9 (3) Funktionale Programmierung Aspekte Funktional/Imperativ Closure: A closure is a function that carries an implicit binding to all the variables referenced within it (3) Einfach: Funktion, die Variablen/Objekte außerhalb ihres Scopes nutzt Oft mit Higher-order functions wie map genutzt, um Mechanismen portabel zu machen Allow the runtime to manage state (3) 9
10 Closure Beispiel in Scala: 10
11 Closure Beispiel in Scala: => 11
12 Closure Beispiel in Scala: => => 12
13 Funktionale Programmierung Funktional vs Imperativ States (pure:) nicht existent Existent und wichtig Manipulation First class functions Instanzen von Strukturen/Klassen Reihenfolge unwichtig wichtig Flow control Funktionsaufrufe (Rekursion) Schleifen, Function (method) calls CPU-Verbrauch Eher höher Eher niedriger Vorteile Keine Fehler durch States, einfache Abstrahierung => besseres structured Programming (Deklarativ), einfaches Testen durch Isolation, In der Regel kürzer Viele Befehle/Datenstrukturen (z.b. Arrays) so in Hardware implementiert, meist intuitiver, stärkere Anwendung und Popularität in der Industrie 13
14 Functional Interfaces Bending the language towards the problem (1) Arbeit vieler Entwickler: Problemstellung muss in Sprache übersetzt werden Sprachen erzwingen Herangehensweise Domain-specific language (DSL) => [Developers] bend the language more towards their problem rather than the problem toward their language (1) Eines der Konzepte von Scala 14 (1)
15 Application: Scala Entwickelt am École polytechnique fédérale de Lausanne Ab 2001: Scala Scala = Scalable language Läuft auf JVM Schöpfer Martin Odersky: 2-Fache Reduktion in Aufwand zu Java (4) (4) Bilder: Logo.svg.png 15
16 Application: Scala Vereinigt Paradigmen: Objektorientiert (Imperativ) und Funktional (Deklarativ) Rein funktionale Programmierung möglich Auch eine rein Objekt-orientierte Sprache: Alles ist ein Objekt 16
17 Application: Scala Vereinigt Paradigmen: Objektorientiert (Imperativ) und Funktional (Deklarativ) Rein funktionale Programmierung möglich Auch eine rein Objekt-orientierte Sprache: Alles ist ein Objekt Programmierung Imperativ Deklarativ Prozedural (FORTRAN, C) Objektorientiert (C++, Java) Logisch (Prolog) Funktional (Haskell, Erlang) 17
18 Application: Scala Vereinigt Paradigmen: Objektorientiert (Imperativ) und Funktional (Deklarativ) Rein funktionale Programmierung möglich Auch eine rein Objekt-orientierte Sprache: Alles ist ein Objekt Programmierung Imperativ Deklarativ Prozedural (FORTRAN, C) Objektorientiert (C++, Java) Logisch (Prolog) Scala Funktional (Haskell, Erlang) 18
19 Functional Interfaces Html Producer Beispiel für Bending the language towards the problem (1) Baumstruktur => baumstrukturierter Code (1) Bild: 19
20 Functional Interfaces Html Producer Bottom-up: 20
21 Top-down: 21
22 Top-down: 22
23 Konklusion Funktionale Programmierung: Paradigma, dessen Kern (mathematische) Funktionen sind und das States vermeidet Scala ist eine moderne funktionale Sprache, die imperative und funktionale Paradigmen vereinigt Bending the language toward the problem (1): Mit Scala Tools und Interfaces erstellen, die dem Problem entsprechen (1) 23
24 Vielen Dank für die Aufmerksamkeit! 24
25 Quellen
Funktionale 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.......................
MehrFunktionale Programmiersprachen
Funktionale Programmiersprachen An den Beispielen Haskell und Erlang Übersicht Programmiersprachen λ-kalkül Syntax, Definitionen Besonderheiten von funktionalen Programmiersprache, bzw. Haskell Objektorientierte
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
MehrProgrammierparadigmen und Sprachen
Fakultät Informatik Institut für Software- und Multimediatechnik Professur Softwaretechnologie Programmierparadigmen und Sprachen Scala Paul Henke Dresden, 07.05.2009 Gliederung Hello World Scala? Features
MehrHaskell for Hackers... or why functional programming matters
... or why functional programming matters Franz Pletz CCC München 27-06-2009 @ GPN8 Fahrplan Ablauf Motivation 1 Ablauf Motivation 2 3 4 Ablauf Ablauf Motivation bei Fragen/Unklarheiten:
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
MehrFunktionale Konzepte in objektorientierten Sprachen LAMBDAS / CLOSURES
Funktionale Konzepte in objektorientierten Sprachen LAMBDAS / CLOSURES Motivation Überblick Was macht Funktionale Programmierung aus? Sind Funktionale Programmierung und Objektorientierte Programmierung
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
MehrFunktionale Programmierung
Schleifen 1 Funktionale Programmierung Jörg Kreiker Uni Kassel und SMA Solar Technology AG Wintersemester 2011/2012 3 Teil I Jedem Anfang wohnt ein Zauber inne 4 Über mich Diplom in Informatik in Saarbrücken
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
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
MehrEin Blick über den Tellerrand Funktionale Ideen in der praktischen Programmierung
Ein Blick über den Tellerrand Funktionale Ideen in der praktischen Programmierung Jasper van de Ven (jasper@informatik.uni-bremen.de) Praktische Informatik 3 Universität Bremen Wintersemester 09/10 Motivation
MehrObjekt-Funktionale Programmierung. am Beispiel von SCALA. Thorsten Jolitz
Objekt-Funktionale Programmierung am Beispiel von SCALA Thorsten Jolitz 1. Auflage 2012 Inhaltsverzeichnis 1. Einleitung 1 1. Ausgangspunkt Imperative Programmierung 5 2. Elemente der Imperativen Programmierung
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
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
MehrGliederung. Programmierparadigmen. Aussagen. Aktuelle Entwicklungen. Aktuelle Entwicklungen. Aktuelle Entwicklungen Aussagen Köpfe. D.
Gliederung D. Rösner Institut für Wissens- und Sprachverarbeitung Fakultät für Informatik Otto-von-Guericke Universität Magdeburg 1 Sommer 2013, 9. Juli 2013 c 2009-2013 D.Rösner D. Rösner PGP 2013...
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
MehrSieben Wochen, sieben Sprachen
The Pragmatic Programmers Sieben Wochen, sieben Sprachen Verstehen Sie die modernen Sprachkonzepte Deutsche Übersetzung von O REILLY Bruce A. Tate Übersetzt von Peter Klicman Ein wenig über viele Sprachen
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.
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
MehrPraktische Informatik 3: Funktionale Programmierung Vorlesung 13 vom : Scala Eine praktische Einführung
09:29:47 2017-01-25 1 [18] Praktische Informatik 3: Funktionale Programmierung Vorlesung 13 vom 24.01.17: Scala Eine praktische Einführung Christoph Lüth Universität Bremen Wintersemester 2016/17 PI3 WS
MehrComputergrundlagen Programmiersprachen, Interpreter, Compiler, Linker
Computergrundlagen Programmiersprachen, Interpreter, Compiler, Linker Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 Was sind Programme? In dieser Vorlesung: Python,
MehrEinführung in die Informatik
Einführung in die Informatik Klaus Knopper 09.11.2004 Inhaltsverzeichnis Programmiersprachen Eine Programmiersprache ist eine formale Sprache zur Darstellung (Notation) von Computerprogrammen. Sie vermittelt
MehrComputergrundlagen Programmiersprachen, Interpreter, Compiler, Linker
Computergrundlagen Programmiersprachen, Interpreter, Compiler, Linker Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2010/11 Was sind Programme? In dieser Vorlesung: Python,
MehrScala & Lift. Ferenc Lajko 04.02.2010
Scala & Lift Ferenc Lajko 04.02.2010 Gliederung 1. Scala 1.1. Allgemein 1.2. Merkmale 1.3. Unterschiede zu Java 1.4. Code-Beispiel 1.5. Vorteile zu anderen Sprachen 2. Lift 2.1. Allgemein 2.2. Idee 2.3.
MehrNotationen für Transformationsregeln
Notationen für Transformationsregeln Seminar Transformationen Dennis Gerke 20.01.06 Fragestellung Wie werden die Transformationsregeln in den einzelnen Systemen angegeben? Welche theoretischen Grundlagen
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,
MehrInhaltsverzeichnis. Lothar Piepmeyer. Grundkurs funktionale Programmierung mit Scala ISBN:
Lothar Piepmeyer Grundkurs funktionale Programmierung mit Scala ISBN: 978-3-446-42092-2 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42092-2 sowie im Buchhandel. Carl Hanser
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
MehrVorlesung Programmierung
- 1 - Vorlesung Programmierung n Inhalt der Vorlesung l Was ist ein Programm? l Was sind grundlegende Programmierkonzepte? l Wie konstruiert (entwickelt) man ein Programm? l Welche Programmier-Paradigmen
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?
MehrPraxisorientierte Einführung in C++ Lektion: "Allgemeines"
Praxisorientierte Einführung in C++ Lektion: "Allgemeines" Christof Elbrechter, Florian P. Schmidt Neuroinformatics Group, CITEC April 4, 2011 Christof Elbrechter Praxisorientierte Einführung in C++ April
MehrVorkurs Informatik WiSe 17/18
Java Einführung Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 04.10.2017 Technische Universität Braunschweig, IPS Überblick Organisatorisches Arbeitsablauf Hello World 04.10.2017 Dr. Werner Struckmann
MehrComputergrundlagen Turingmaschinen und Programmierung
Computergrundlagen Turingmaschinen und Programmierung Jens Smiatek und Axel Arnold Institut für Computerphysik Universität Stuttgart Wintersemester 2016/17 Was ist ein Computer? Ein Computer (Rechner oder
MehrÜbersicht. Einführung in die Funktionale Programmierung: Einleitung & Motivation. Klassifizierung von Programmiersprachen (1)
Stand der Folien: 18. Oktober 2010 Motivation Funktionale Programmiersprachen Haskell Übersicht Einführung in die Funktionale Programmierung: Einleitung & Motivation Dr. David Sabel 1 Motivation Übersicht
MehrVorlesung Programmierung
- 1 - Vorlesung Programmierung Inhalt der Vorlesung Was ist ein Programm? Was sind grundlegende Programmierkonzepte? Wie konstruiert (entwickelt) man ein Programm? Welche Programmier-Paradigmen gibt es?
MehrEinführung in die Programmierung mit Java
Einführung in die Programmierung mit Java Martin Wirsing 2 Ziele Geschichte der OO-Programmiersprachen Warum Java als Programmiersprache verwenden? Ein einfaches Java-Programm erstellen, übersetzen und
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
MehrLösungsvorschlag Serie 2 Rekursion
(/) Lösungsvorschlag Serie Rekursion. Algorithmen-Paradigmen Es gibt verschiedene Algorithmen-Paradigmen, also grundsätzliche Arten, wie man einen Algorithmus formulieren kann. Im funktionalen Paradigma
MehrVorlesung Programmierung
- 1 - Vorlesung Programmierung Inhalt der Vorlesung Was ist ein Programm? Was sind grundlegende Programmierkonzepte? Wie konstruiert (entwickelt) man ein Programm? Welche Programmier-Paradigmen gibt es?
MehrVorkurs Informatik WiSe 16/17
Java Einführung Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 04.10.2016 Technische Universität Braunschweig, IPS Überblick Organisatorisches Hello! 04.10.2016 Dr. Werner Struckmann / Stephan Mielke,
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
Mehrvii 4 t.scheme: Funktionale Programmierung Funktionen als Daten erster Klasse
Inhaltsverzeichnis Einleitung 1 Kaffee oder Tee?................................ 1 Die t.sprachen.................................. 2 Die Java-Implementierung........................... 5 Ockhams Rasiermesser.............................
MehrMixed Language Programming POLINA RAJKO - MIXED LANGUAGE PROGRAMMING 1/35
Mixed Language Programming PROSEMINAR EFFIZIENTE PROGRAMMIERUNG SOSE 2018 POLINA RAJKO POLINA RAJKO - MIXED LANGUAGE PROGRAMMING 1/35 Einführung Java public class Main { public static int quadrat(int i)
MehrProgrammierparadigmen: Funktionale Programmierung
Programmierparadigmen: Funktionale Programmierung Thilo Gorfer 6. Juni 2013 Zusammenfassung Ein kurzer Überblick über die funktionale Programmierung am Beispiel Haskell Abstract A short overview of functional
MehrVorlesung Programmierung
- 1 - Vorlesung Programmierung Inhalt der Vorlesung Was ist ein Programm? Was sind grundlegende Programmierkonzepte? Wie konstruiert (entwickelt) man ein Programm? Welche Programmier-Paradigmen gibt es?
MehrSOLID für.net und JavaScript
SOLID für.net und JavaScript www.binarygears.de Stefan Dirschnabel Twitter: @StefanDirschnab #dncgn SOFTWARE ENTWICKLUNG BERATUNG SCHULUNG 5 Prinzipien für das Design von Software Wartbarer Code Leicht
MehrJVM Functional Language Battle
JVM Functional Language Battle Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 www.oio.de info@oio.de Ihr Sprecher Falk Sippach (@sippsack) Trainer, Berater, Entwickler Co-Organisator
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
MehrBru ckenkurs Programmieren
Bru ckenkurs Programmieren Tag 1: Variablen und Verzweigungen Jakob Czekansky Technische Hochschule Mittelhessen 26. September 2016 Inhalt Organisatorisches Einleitung: Was ist Programmieren? Hello World
MehrJava Einführung Vererbung und Polymorphie. Kapitel 13
Java Einführung Vererbung und Polymorphie Kapitel 13 Inhalt Klassifikation (UML) Implementierung von Vererbungshierarchien Überschreiben von Methoden Polymorphismus: Up-Casting und Dynamisches Binden Schlüsselwort
MehrAnwendungen der Logik: Deklarative bzw. Logik-Programmierung in PROLOG
Logik für Informatik Technische Universität Darmstadt Sommersemester 2003 Fachbereich Mathematik Mathias Kegelmann 8. Juli 2003 Anwendungen der Logik: Deklarative bzw. Logik-Programmierung in PROLOG Übersicht
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
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
Mehr13. Funktionale Konzepte in Java
Funktionale vs. Imperative Programmierung 13. Funktionale Konzepte in Java Funktionale Programmierung, Lambda Ausdrücke, Datenströme, Pipelines Imperative Konzepte Ausführen von Anweisungen Zustand (z.b.
Mehr11. Funktionale Konzepte in Java
Funktionale vs. Imperative Programmierung 11. Funktionale Konzepte in Java Funktionale Programmierung, Lambda Ausdrücke, Datenströme, Pipelines Imperative Konzepte Ausführen von Anweisungen Zustand (z.b.
MehrLogische Programmierung
1. Vorbemerkungen 1-1 Logische Programmierung Stefan Brass Institut für Informatik Fachgebiet Datenbanken und Informationssysteme Prof. Dr. Udo W. Lipeck 1. Vorbemerkungen 1-2 Organisatorisches Sprechstunde:
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:
MehrFunktionale Programmierung
FP-1.0 Funktionale Programmierung Prof. Dr. Uwe Kastens SS 2013 Vorlesung Funktionale Programmierung SS 2013 / Folie 100 Begrüßung Functional Programming is Fun FP-1.1 Fun ctional Programming is Fun ctional
MehrDas Doppelpack für die Informatik
Das Doppelpack für die Informatik Einführung in die Informatik 1 (EIDI 1) Praktikum Grundlagen der Programmierung (PGdP) Prof.Dr. Anne Brüggemann-Klein Übungsleitung: Raphaela Palenta N.N.s Im Kontext
MehrEINFÜHRUNG IN DIE PROGRAMMIERUNG
EINFÜHRUNG IN DIE PROGRAMMIERUNG GRUNDLAGEN Tobias Witt!! 24.03.2014 ORGANISATORISCHES 09:00-10:30! Täglich Übungen zur Vertiefung! Laptop hier nicht erforderlich! Linux, OS X! Freitag: http://hhu-fscs.de/linux-install-party/
MehrEinführung in Funktionale Programmierung. Klassifizierung von Programmierparadigmen und -sprachen. Einleitung & Motivation
Einführung in Funktionale Programmierung Einleitung & Motivation PD Dr. David Sabel Klassifizierung von Programmierparadigmen und -sprachen Insbesondere: Was unterscheidet Funktionale Programmiersprachen
MehrAspektorientierte Programmierung. Modellierung und Programmierung 2
Modellierung und Programmierung 2 Überblick Literatur: G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, J. Irwin: Aspect-Oriented Programming. In: Proceedings of the European
MehrMatlab. Alexandra Mehlhase & Felix Böckelmann. 26. Juni Analysetechniken in der Softwaretechnik Technische Universität Berlin SS 2008
Was ist /Simulink Modellierung mit Modellierung mit /Simulink Vergleich -Modelica Analysetechniken in der Softwaretechnik Technische Universität Berlin SS 2008 26. Juni 2008 Inhaltsverzeichnis Was ist
MehrFORTRAN77. eine höllische Programmiersprache. Christian Sternecker. Sommersemester TU-München
FORTRAN77 eine höllische Programmiersprache Christian Sternecker TU-München Sommersemester 2010 Aufbau des Vortrags Geschichte Merkmale Höllische Konzepte Typsicherheit Programmstruktur Speicherverwaltung
MehrParadigmen zur Algorithmenbeschreibung
Paradigmen zur Algorithmenbeschreibung In einem objektorientierten Algorithmus werden Datenstrukturen und Methoden zu einer Klasse zusammengefasst. Von jeder Klasse können Objekte gemäß der Datenstruktur
MehrJVM Functional Language Battle
JVM Functional Language Battle Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 www.oio.de info@oio.de Ihr Sprecher Falk Sippach (@sippsack) Trainer, Berater, Entwickler Co-Organisator
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
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
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
MehrScala. Funktionale (Zustandslose) Objekte
Scala Funktionale (Zustandslose) Objekte Agenda Was sind Funktionale Objekte? veränderliche Objekte vs. unveränderliche Objekte Klassen Parameter Konstruktoren Private Member Methoden und Operatoren Overriding
MehrJVM Functional Language Battle
JVM Functional Language Battle JUG Hamburg, 12.04.2017 Orientation in Objects GmbH Weinheimer Str. 68 68309 Mannheim Version: 1.0 www.oio.de info@oio.de Ihr Sprecher Falk Sippach (@sippsack) Trainer, Berater,
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
MehrEinführung in die Informatik: Programmierung und Software-Entwicklung, WS 16/17. 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
MehrKonsequent agile Entwicklung mit funk4onaler Programmierung. Michael Sperber
Konsequent agile Entwicklung mit funk4onaler Programmierung Michael Sperber Individualso4ware branchenunabhängig Scala, Clojure, Erlang, Haskell, F# Schulungen, Coaching www.acave- group.de funkaonale-
MehrErste Java-Programme (Scopes und Rekursion)
Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/
MehrParadigmen zur Algorithmenbeschreibung
Paradigmen zur Algorithmenbeschreibung In einem objektorientierten Algorithmus werden Datenstrukturen und Methoden zu einer Klasse zusammengefasst. Von jeder Klasse können Objekte gemäß der Datenstruktur
MehrÜbergang von funktionaler zu OOP. Algorithmen und Datenstrukturen II 1
Übergang von funktionaler zu OOP Algorithmen und Datenstrukturen II 1 Imperative vs. funktionale Programmierung Plakativ lassen sich folgende Aussagen treffen: funktional: imperativ: Berechnung von Werten
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
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
MehrProgrammierparadigmen
Programmierparadigmen Paradigma = Denkweise oder Art der Weltanschauung klassische Einteilung: Programmiersprache imperativ deklarativ prozedural objektorientiert funktional logisch Zusammenhänge tatsächlich
MehrTutorium - Haskell in der Schule. Ralf Dorn - Dennis Buchmann - Felix Last - Carl Ambroselli
Tutorium - Haskell in der Schule Wer sind wir? Otto-Nagel-Gymnasium in Berlin-Biesdorf Hochbegabtenförderung und MacBook-Schule Leistungskurse seit 2005 Einführung Was ist funktionale Programmierung? Einführung
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
MehrVererbung und Traits
Vererbung und Kiermaier Ulrich FWP-Fach: Scala: Java-Nachfolger oder akademisches Experiment? 11.5.2010 Übersicht Aufbau nach dem Buch Programming in Scala von Martin Odersky, Lex Spoon, Bill Venners Vererbung
MehrObjektorientierte Programmierung. Agenda für heute, 26. März, Eines der drei wichtigsten Programmierparadigmen
Agenda für heute, 26. März, 2009 Imperatives vs. objektorientiertes Programmieren Lesen Sie den Begleittext Seite 79 85 Eines der drei wichtigsten Programmierparadigmen (Paradigma: Denkmuster) Imperative
MehrGrundlagen der Programmierung in C Klassen
Grundlagen der Programmierung in C Klassen Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Das C++ Typsystem simple address pointer reference structured integral
MehrXML Verarbeitung mit einer in Haskell eingebetteten DSL. Manuel Ohlendorf (xi2079)
XML Verarbeitung mit einer in Haskell eingebetteten DSL Manuel Ohlendorf (xi2079) 2.0.200 Manuel Ohlendorf Übersicht 1 2 Einführung Datenstruktur Verarbeitung Vergleich mit anderen Verfahren Fazit 2 Übersicht
MehrH.1 FORMI: An RMI Extension for Adaptive Applications H.1 FORMI: An RMI Extension for Adaptive Applications
Motivation The ed-object Approach Java RMI ed Objects in Java RMI Conclusions Universität Erlangen-Nürnberg Informatik 4, 2007 H-Formi-.fm 2007-12-14 13.11 H.1 1 Motivation Distributed object-oriented
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
MehrInformatik. Studiengang Chemische Technologie. Michael Roth Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013.
Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VIII Einstieg in Java II Michael Roth (h_da) Informatik
Mehr