JDT Embraces Lambda Expressions - EclipseCon North America 2014
Upcoming SlideShare
Loading in...5
×
 

JDT Embraces Lambda Expressions - EclipseCon North America 2014

on

  • 459 views

Java 8 is coming. It is happening right here. Developers of your favorite Java IDE are participating in shaping this long awaited milestone for the Java ecosystem: On time with the GA of Java 8, JDT ...

Java 8 is coming. It is happening right here. Developers of your favorite Java IDE are participating in shaping this long awaited milestone for the Java ecosystem: On time with the GA of Java 8, JDT will ship its first release with support for developing in Java 8.

If you have a basic understanding of the new features in Java 8, come here and learn how the JDT team mastered the challenges of lifting the Eclipse Java IDE to the next language version.

The main focus of this talk will be on lambda expressions, touching also some changes in the libraries that leverage lambda expressions. We will expose some examples demonstrating the complexity of the language and mention some caveats which should help you avoid some unpleasent surprises.

We will demo how to get started using Java 8 in Eclipse and show the latest tool features for working with lambda expressions including new quick assists etc.

Finally, we'll give a retrospective discussion of the situation of the JDT team, in terms of team changes, contributors, deadlines, interaction with expert groups, with the Eclipse community, and more.

Statistics

Views

Total Views
459
Views on SlideShare
424
Embed Views
35

Actions

Likes
0
Downloads
6
Comments
0

1 Embed 35

http://noopur2507.wordpress.com 35

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    JDT Embraces Lambda Expressions - EclipseCon North America 2014 JDT Embraces Lambda Expressions - EclipseCon North America 2014 Presentation Transcript

    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 1 Srikanth Sankaran IBM India Stephan Herrmann GK Software Noopur Gupta IBM India
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 2 Java 8 features: JSR335 - Project Lambda  Lambda Expressions & Method References  Extensions to Overload resolution & Type inference  Support for “code carrying” interface methods. JSR308 - Type Annotations JEP120 - Repeating Annotations JEP118 - Method Parameter Reflection JSR269 - Pluggable Annotation Processor API & javax.lang.model API enhancements for Java 8
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 3
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 4
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 5
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 6
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 7
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 8
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 9
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 10 LambdaExpression ::= LambdaParameters '->' LambdaBody LambdaParameters -> BeginLambda LambdaParameterList LambdaParameterList -> '(' FormalParameterListopt ')„ LambdaBody -> Expression LambdaBody -> Block I i = BeginLambda (x) -> { };
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 11
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 12
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 13
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 14
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 15 Scanning + Parsing => Parse tree + Resolution => Resolved parse tree + Data/control flow analysis => Flow analyzed parse tree + Code generation => Class files. () -> { throw new Exception(); } is void and value compatible.
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 16
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 17 o Changes the very notion of a type. o Some subsystems should view @NonNull String != @ReadOnly String o while others should view them as being the same. o Abstractions need to support either world view efficiently. String is a String is a String
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 18
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 19
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 20
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 21 Collectors.<Person,String,Integer>toMap(..) Collectors.toMap(..) Collector<String,Integer> coll = new MyCollector<>();
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 22
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 23
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 24
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 25
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 26
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 27
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 28
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 29  Recipe for disaster: ● implement java.util.List → compile against JRE 7 → OK ● upgrade to JRE 8 but compile as 1.7  Undefined compiler behavior ● 1.7 compiler cannot handle default methods (from .class) ● exact answer depends on compiler implementation details ● there is no specification ● ecj and javac differ ● assimilation is difficult
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 30
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 31
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions Enter +Ctrl 1 32
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 33 Enter +Ctrl 1
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 34 Enter +Ctrl 1
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 35 Enter +Ctrl 1
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 36
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 37 Lambda Expression: Method Reference:
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 38 Demo Examples:
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 39
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 40
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 41
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 42
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 43
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 44
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 45
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 46
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 47
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 48 Far too risky to cram late into 8 (Nov 2013)
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 49 List <: List<String> ? Raw types
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 50 “Problem detected during type inference: ...”
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 51
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 52
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 53
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 54
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 55
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 56
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 57
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 58
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 59
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 60 Dramatis personæ - The usual suspects Jay Arthanareeswaran Deepak Azad Shankha Banerjee Anirban Chakarborty Vikas Chandra Noopur Gupta Ayushman Jain Manju Mathew Manoj Palat Srikanth Sankaran Sarika Sinha Jesper S. Møller Stephan Herrmann Markus Keller Dani Megert Andy Clement Steve Francisco Michael Rennie Olivier Thomann Curtis Windatt Walter Harley David Williams
    • EclipseCon NA 2014 | JDT Embraces Lambda Expressions 61
    • EVALUATE THIS SESSION Sign-in: www.eclipsecon.org Select session from schedule Evaluate: 1 2 3