Angelika Langer - Training & Consulting
HOME | COURSES | TALKS | ARTICLES | GENERICS | LAMBDAS | IOSTREAMS | ABOUT | NEWSLETTER | CONTACT | Twitter | Lanyrd | Linkedin
HOME 


  UPCOMING
  PREVIOUS
  MATERIALS
 
GENERICS 
LAMBDAS 
IOSTREAMS 
ABOUT 
NEWSLETTER 
CONTACT 
Functional Programming in Java - Closure/Lambdas in Java 8

Functional Programming in Java - Closure/Lambdas in Java 8  
ABSTRACT

Teil 1: Einführung in die funktionale Programmierung für Java-Entwickler  

 
Die Session wendet sich an Java-Entwickler, die noch nicht mit funktionalen Sprachen in Berührung gekommen sind, sich aber dennoch auf die zukünftigen Erweiterungen von Java (Stichwort "Lambdas") einstellen wollen. Es wird eine Einführung in die Prinzipien der funktionalen Programmierung gegeben.  Wofür braucht man so etwas wie First-Class-Funktions, Lambda-Ausdrücke oder Closures?  Was kann man damit besser oder anders machen als mit "normalem" Java? 

Es gibt seit geraumer Zeit Bestrebungen, Java um Elemente der funktionalen Programmierung zu erweitern.  Die wohl bekannteste Diskussion zu diesem Thema dreht sich um das umstrittene neue Sprachmittel der Lambdas (vormals als Closures bekannt).  Mit Java 8 wird es dafür Sprachunterstützung geben und auch JDK-Komponenten (java.util.concurrent.ParallelArray), die funktional angelegt sind.  Worum geht es bei alledem?

Die Session wendet sich an Java-Entwickler, die noch nicht mit funktionalen Sprachen (z.B. Haskell, ML, F#, Clojure, Scala, Groovy) in Berührung gekommen sind, sich aber dennoch auf die zukünftigen Erweiterungen von Java einstellen wollen.

Es soll in der Session nicht um Lambdas in Java gehen, sondern um eine Einführung in die Prinzipien der funktionalen Programmierung.  Wofür braucht man so etwas wie First-Class-Funktions, Lambda-Ausdrücke oder Closures?  Was kann man damit besser oder anders machen als mit "normalem" Java? 

Die Beschäftigung mit funktionale Paradigmen ist nicht nur eine Vorbereitung auf die zukünftige Spracherweiterungen von Java, sondern kann den Entwickler ganz generell auf neue Ideen bringen.  Denn prinzipiell lassen sich Ideen aus der funktionalen Programmierung bereits heute schon in Java einsetzen.  Man muss dazu über die vertrauten objekt-orientierten Paradigmen hinausgehen und sich in die funktionale Arbeitsweise hineindenken. Hier wird die Session Denkanstöße liefern. 
 

  Teil 2: Closures/Lambdas in Java 8  
 
Seit einigen Jahren wird diskutiert, ob und wie Java um Elemente der funktionalen Programmierung erweitert werden soll.  Für den Release 8 von Java ist nun eine entsprechende Spracherweiterung angekündigt: es wird sogenannte Lambdas (vormals als Closures bekannt) geben.

In dieser Session werden die neuen Sprachmittel ausführlich vorgestellt: SAM(Single Abstract Method)-Klassen, Lambda-Ausdrücke, Exception Transparency, Defender-Methoden, Method References und Local Variable Capture.
 

 
PREREQUISITES

 
 
Level: einführend - mittel
Duration: 60 min
Prerequisites: Java-Entwickler, die noch nicht mit funktionalen Sprachen (z.B. Haskell, ML, F#, Clojure, Scala) in Berührung gekommen sind, sich aber dennoch auf die zukünftigen Erweiterungen von Java einstellen wollen.
Presented at: JAX 2011 , Mainz, Germany, May 2-6, 2011
W-JAX 2011 , Munich, Germany, November 7-11, 2011

 
 
 

If you are interested to hear more about this and related topics you might want to check out the following seminar or skim through some further reading:
Seminars
 
Lambdas & Streams
2-day seminar (open enrollment and on-site)

 

Articles
 
Lambda & Streams Tutorial and Reference
In-Depth Coverage of all aspects of lambdas & streams
Lambdas in Java 8
Conference Presentation at JFokus 2012 (slides)
Lambdas in Java 8
Conference Presentation at JavaZone 2012 (video/English)
Funktionale Programmierung für Java-Entwickler
Conference Presentation at W-JAX 2011 (video/German)
 
 

 
 
  © Copyright 1995-2013 by Angelika Langer.  All Rights Reserved.    URL: < http://www.AngelikaLanger.com/Conferences/Abstracts/FunctionalProgrammingDoubleFeature.htm  last update: 18 Jul 2013