F-Sharp (F#) Eine multiparadigmatische Sprache. Merkmale von F# Multiparadigmatisch.NET-Sprache Skalierbar und effizient Als Forschungsprojekt von Microsoft.

Slides:



Advertisements
Ähnliche Präsentationen
Service Oriented Architectures for Remote Instrumentation
Advertisements

Word Order in German Subordiante Clauses
C Sharp (C#) Martin Saternus Senior Student Partner
Z-Transformation Die bilaterale Z-Transformation eines Signals x[n] ist die formale Reihe X(z): wobei n alle ganzen Zahlen durchläuft und z, im Allgemeinen,
M a r c – o l i v e r p a h l Informatik I – Kapitel 7 Klassen und höhere Datentypen Zusammenfassung des Kapitel 7 Küchlin, Weber, Einführung in die Informatik,
PL/SQL - Kurze Einführung -.
Agenda Sitzung 2 für den Programmaufbau
Neue Mobilität Frank Prengel Developer Evangelist Developer Platform & Strategy Group Microsoft Deutschland GmbH
1. 2 Microsoft.NET Überblick Dirk Primbs Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH.
Klassen in Java.
Fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte,
Zusammenfassung / Ausblick Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Binäre Bäume Richard Göbel.
ATHOS Benutzertreffen 2007
Installation des Add-In SOLVERSTAT
Projektübung Klimamodellierung
Projektübung Klimamodellierung André Paul. Vorbesprechung Projektübung Klimamodellierung ( ) – A. Paul.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 3 Claudio Moraga, Gisbert Dittrich FBI Unido
PL/SQL - Programmierung von Programmeinheiten. © Prof. T. Kudraß, HTWK Leipzig Gespeicherte Prozeduren – Eine Prozedur ist ein benannter PL/SQL Block,
Objektorientierte Programmierung JDK-Klassenbibliothek
F açade P attern By Nicolas Lanquetin. Façade Pattern Structural Pattern Bietet ein gemeinsames Interface, anstatt vieler Interfaces eines Subsystems.
WebCast: Managed Smart Tags mit VSTO Jens Häupel.NET Technologieberater Microsoft Deutschland GmbH
Presenter: Daniel Walzenbach Technologieberater
Munz – IT/TG - Lörrach. Goals of this intensive lecture To learn: To learn: –What does it means programming in Java ? –What is JAVA good/bad for ? –Which.
FH-Hof Sortieren mit Binären Bäumen Richard Göbel.
Los! Find vocab for the following categories
Hallo/Hi – inf. , (Hello/Hi) Grüß Gott (AUT)/Guten Tag (DE) – f
Bonn-to-code.net Obfuscation mit {smartassembly} Jan Welker Website:
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 4 Folie 2 Message Passing mittels Sockets (1) s.a.
Smart 2 Unit 2 What a week! – That’s why Barker barked!
Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
OO implementieren Teil IV Objekte erzeugen. © René ProbstModul 226IV - 2 Von der Klasse zum Objekt Plan Bau Objekt Klasse Instanzierung Objekt Das Objekt.
Test Driven Development - Romano Adler-
Automated Software Testing
No. 239 Marcel Gnoth, NTeam GmbH Datenstrukturen Das Framework der Jäger und Sammler.
Deutsch 2B Wise guys Jason Gary Period 6 © your company name. All rights reserved.Title of your presentation.
BAS5SE | Fachhochschule Hagenberg | Daniel Khan | S SPR5 MVC Plugin Development SPR6P.
Traildevils Mobile Web-App X-Platform Stefan Oderbolz Jürg Hunziker 16. Dezember 2011.
Deutsch 1 G Stunde. Dienstag, der 11. September 2012 Deutsch 1 (G Stunde)Heute ist ein E - Tag Unit: Introduction to German & Germany Objectives: Learn.
Topic: Work. Problem - Lösung Problem der Klasse: Mangelnde mündliche Beteiligung im Unterrichtsgespräch Lösungsansatz? Reflektion der eigenen Leistung.
Deutsch 1 G Stunde. Montag, der 10. September 2012 Deutsch 1 (G Stunde)Heute ist ein D - Tag Unit: Introduction to German & Germany Objectives: Introducing.
Entity Mapping Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
Advanced Mapping Persistente Domänenmodelle mit JPA 2.0 und Bean Validation.
70RxGz8clw. Welches Tier? Can you match up the German with the picture 1.Fisch 2.Schlange 3.Hund 4.Katze a c d b.
Neno Loje Berater & MVP für Visual Studio ALM und TFS (ehemals VSTS) Hochqualitative Produkte mit Visual Studio & TFS 2010.
Frank Fischer + Bernhard Frank Microsoft Deutschland GmbH.
Christian Binder Senior Platform Strategy Manager Microsoft
3/28/2017 8:11 PM Visual Studio Tools für Office { Rapid Application Development für Office } Jens Häupel Platform Strategy Manager Microsoft Deutschland.
Spricht Ihre Anwendung schon Open XML?
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 1 Folie 2 Microsoft.NET Framework: Quelle:
Entwicklung verteilter Anwendungen II, SS 13 Prof. Dr. Herrad Schmidt SS 2013 Kapitel 6 Folie 2 WCF Data Services (1) s.a.
Key words for today Guten Tag! Hallo! Wie geht’s? Gut, danke.
Virtual Earth Visualisierung von Geodaten Daniel Walzenbach, Microsoft Deutschland GmbH
Deutsch: Greetings Montag Dezember 12, 2011 Kick Off: Do you remember how to say, my name is? Objectives: Greet one another (WL 8.1.1) Introduce oneself.
Template v5 October 12, Copyright © Infor. All Rights Reserved.
Unit 1 Review from Day 1 Wer ist das?. Tell your partner 5 ways of saying hello in German! Tell your partner 5 ways of saying good-bye in German!
Einführung in das Wissenschaftliche Arbeiten Andreas Hechenblaickner Programmiersprache Eiffel
Projekt Systemintegration Datler, Kroiß, Sachs Systemintegration ILV, FL / MIC- 2 (SS2014)
Jan-Cornelius Molnar Student Partner.
Office Business Anwendungen mit SharePoint Fabian Moritz | MVP Office SharePoint Server.
Talking about yourself
Graph Pattern Semantik Michael Schmidt,
CuP - Java Zwölfte Vorlesung Klassen – Komposition und Vererbung Freitag, 15. November 2002.
Team-Foundation-Server in der Praxis
AVL-Trees (according to Adelson-Velskii & Landis, 1962) In normal search trees, the complexity of find, insert and delete operations in search.
RZPD Deutsches Ressourcenzentrum für Genomforschung GmbH DESPRAD-Meeting 02/09/2003 Steffen Schulze-Kremer (until 7/2003) Bernd Drescher (since 8/2003)
Launch ON Global.vi System ID object name classname Services to suscribe Observer Control Ref vi-path Service name Step 1 : Objects register to the Global.vi´s,
SQL Server 2005 CLR Integration Sebastian Weber Microsoft Deutschland GmbH
Toni Tiger Schulsachen
- moodle – a internet based learning platform
 Präsentation transkript:

F-Sharp (F#) Eine multiparadigmatische Sprache

Merkmale von F# Multiparadigmatisch.NET-Sprache Skalierbar und effizient Als Forschungsprojekt von Microsoft Research entwickelt und 2002 publiziert Starke syntaktische Ähnlichkeit mit OCaml

Einsatzgebiete von F# Sicherheitskritische Aufgaben Datenverarbeitung Beschreibung komplexer physikalischer, mathematischer Zusammenhänge

Unterschiede zu Haskell Haskell ist eine rein funktionale Sprache Kein deklarieren von Funktionen in F# Rekursive Funktionen müssen in F# mit rec markiert sein In F# muss alles mit let definiert werden F# bietet Units of Measure F# hat direkten Zugriff zum.NET-Framework

Discriminated Unions open System //wegen Convert.ToString() type Tree = | Leaf | Branch of Tree * 'a * Tree with member this.Print = match this with | Leaf -> printfn "Blatt" | Branch(_, key, _) -> printfn "Knoten mit dem Wert %s" (Convert.ToString(key)) let tree1 = Branch(Leaf, 10, Leaf) tree1.Print

Klassen, Vererbung, Schnittstellen type Shape(x : float, y : float) = let mutable x_pos = x let mutable y_pos = y new () = Shape( 0.0, 0.0) member this.X = x_pos; member this.Y = y_pos; member this.Move dX dY = x_pos <- x_pos + dX y_pos <- y_pos + dY type IDrawable = abstract member Draw : unit -> unit type Circle( x: float, y : float, r : float) = inherit Shape(x, y) let mutable radius = r interface IDrawable with member this.Draw() = printfn "Draw Circle(%f, %f)" this.X this.Y

Pattern matching let SayHello name lang = match name, lang with | "Frank", _ -> printfn "Hi, Frank" | _, "ger" -> printfn "Hallo, %s. Wie geht's?" name | _, "eng" -> printfn "Hello, %s." name | "Mike", _ | "Alie", _ -> printfn "Na du!" | _, _ -> printfn "Hey!" let sign = functionlet sign x = | 0 -> 0match x with | x when x > 0 -> 1 == | 0-> 0 | _ -> -1| x when x > 0-> 1 | _->-1

Funktionen höherer Ordnung let list = [1..30] let double_list = List.map (fun x -> x * 2) list let filter_list = List.filter (fun x -> (x % 2) = 0) list let zip_list = List.zip double_list filter_list //Fehler: Listen sind nicht gleich lang let rec myZip f list1 list2 = match list1, list2 with | [], [] | _, [] | [], _ -> [] | x :: xss, y :: yss -> (x, y, (f x y)) :: myZip f xss yss

Lazy Evaluation let rec fibu = function | 0 -> 0 | 1 -> 1 | x -> fibu (x - 1) + fibu (x - 2) let x = Lazy.Create(fun _ -> printfn "Werte x aus..."; fibu 20) let y = Lazy.Create(fun _ -> printfn "Werte y aus..."; x.Value + 10)

Quellen Programming F# - A Comprehensive Guide for Writing Simple Code to Solve Complex Problems, Chris Smith