Angelika Langer - Training & Consulting

 
HOME | SEMINARS | TALKS | ARTICLES | BOOKS | LINKS | IOSTREAMS | GENERICS | ABOUT | NEWSLETTER | CONTACT | SITEMAP
Functional Programming in Java - Closure/Lambdas in Java 8

HOME 
SEMINARS 

TALKS
  UPCOMING
  PREVIOUS
  PRESENTATIONS
 
ARTICLES 
BOOKS 
LINKS 
IOSTREAMS 
GENERICS 
ABOUT 
NEWSLETTER 
CONTACT 
SITEMAP 
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
 
Effective Java
4 day seminar (open enrollment and on-site)

 

Articles
 
online FAQ Understanding the closures debate
 Java World, Juni 2008

 

 


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