SlideShare a Scribd company logo
A Language
       made for
      Java Developers



             (c) 2012 itemis AG
About me
@szarnekow
Xtend - A Language Made for Java Developers
Xtend - A Language Made for Java Developers
Xtend - A Language Made for Java Developers
Xtend - A Language Made for Java Developers
IDEs, Tools,...
IDEs, Tools,...




Open-Source
IDEs, Tools,...




Open-Source




              Community
IDEs, Tools,...




Open-Source                     Standard Library




              Community
IDEs, Tools,...

   Should we really throw all those assets away?

Open-Source                            Standard Library




                   Community
IDEs, Tools,...

  Should we really throw all those assets away?

   How about just fixing the
Open-Source                Standard Library
            problematic bits?
                  Community
Xtend - A Language Made for Java Developers
Java’s Type System & Libraries
Java’s Type System & Libraries
       Java’s IDE Support
Java’s Type System & Libraries
       Java’s IDE Support
   Functional Programming
Java’s Type System & Libraries
       Java’s IDE Support
   Functional Programming
      Extension Methods
Java’s Type System & Libraries
       Java’s IDE Support
   Functional Programming
      Extension Methods
  Exceptional DSL Support
A clean, fast and
statically typed Groovy
A simpler Scala, with
100% Java interoperability
CoffeeScript for Java
Demo
Exceptional DSL Support
Exceptional DSL Support
      Annotations
      on
 Steroids
Java’s Annotation Processing Tool (apt):


   apt is a [..] utility for annotation processing. It includes a set
   of reflective APIs [..] to process program annotations[..].
   These [..] APIs provide a build-time, source-based, read-only
   view of program structure. They [..] model the Java™
   programming language's type system[..].
   [..] annotation processors [..] can produce new source code
   and other files. [..]


                                http://docs.oracle.com/javase/6/docs/technotes/guides/apt/index.html
Java’s Annotation Processing Tool (apt):


   apt is a [..] utility for annotation processing. It includes a set
   of reflective APIs [..] to process program annotations[..].
   These [..] APIs provide a build-time, source-based, read-only
   view of program structure. They [..] model the Java™
   programming language's type system[..].
   [..] annotation processors [..] can produce new source code
   and other files. [..]


                                http://docs.oracle.com/javase/6/docs/technotes/guides/apt/index.html
Java’s Annotation Processing Tool (apt):


   apt is a [..] utility for annotation processing. It includes a set
   of reflective APIs [..] to process program annotations[..].
   These [..] APIs provide a build-time, source-based, read-only
   view of program structure. They [..] model the Java™
   programming language's type system[..].
   [..] annotation processors [..] can produce new source code
   and other files. [..]


                                http://docs.oracle.com/javase/6/docs/technotes/guides/apt/index.html
Java’s Annotation Processing Tool (apt):


   apt is a [..] utility for annotation processing. It includes a set
   of reflective APIs [..] to process program annotations[..].
   These [..] APIs provide a build-time, source-based, read-only
   view of program structure. They [..] model the Java™
   programming language's type system[..].
   [..] annotation processors [..] can produce new source code
   and other files. [..]


                                http://docs.oracle.com/javase/6/docs/technotes/guides/apt/index.html
Java’s Annotation Processing Tool (apt):


   apt is a [..] utility for annotation processing. It includes a set
   of reflective APIs [..] to process program annotations[..].
   These [..] APIs provide a build-time, source-based, read-only
   view of program structure. They [..] model the Java™
   programming language's type system[..].
   [..] annotation processors [..] can produce new source code
   and other files. [..]


                                http://docs.oracle.com/javase/6/docs/technotes/guides/apt/index.html
Active Annotations
Active Annotations

Participate in Compilation
Active Annotations

Participate in Compilation
Enhance Derived Java Code
Active Annotations

    Participate in Compilation
   Enhance Derived Java Code
Apply Domain-Specific Constraints
Demo

More Related Content

KEY
Eclipse Xtend
PDF
Code Generation idioms with Xtend
PDF
Xtend - better java with -less- noise
PPTX
Java 101 Intro to Java Programming
PPT
Java basics
PPTX
Basic online java course - Brainsmartlabs
PDF
Core Java Tutorial
PPT
Java introduction
Eclipse Xtend
Code Generation idioms with Xtend
Xtend - better java with -less- noise
Java 101 Intro to Java Programming
Java basics
Basic online java course - Brainsmartlabs
Core Java Tutorial
Java introduction

What's hot (18)

PPTX
Core java introduction
PPTX
Building Your Own DSL with Xtext
PDF
Top 10 Java Interview Questions and Answers 2014
PPTX
Core Java
PPTX
Core java programming tutorial - Brainsmartlabs
PPTX
Let's start with Java- Basic Concepts
PPTX
Core java online training
PPTX
Java 101 intro to programming with java
PPTX
When Sightly Meets Slice by Tomasz Niedźwiedź
PDF
Functional programming with Xtend
PDF
Java 8 features
PDF
Language Engineering With Xtext
PDF
Elixir in a nutshell - Ecosystem (session 1)
PPT
Core java slides
PPTX
Introduction to Core Java Programming
PDF
Introduction to java
PDF
Smart Migration to JDK 8
PPTX
Java 201 Intro to Test Driven Development in Java
Core java introduction
Building Your Own DSL with Xtext
Top 10 Java Interview Questions and Answers 2014
Core Java
Core java programming tutorial - Brainsmartlabs
Let's start with Java- Basic Concepts
Core java online training
Java 101 intro to programming with java
When Sightly Meets Slice by Tomasz Niedźwiedź
Functional programming with Xtend
Java 8 features
Language Engineering With Xtext
Elixir in a nutshell - Ecosystem (session 1)
Core java slides
Introduction to Core Java Programming
Introduction to java
Smart Migration to JDK 8
Java 201 Intro to Test Driven Development in Java
Ad

Viewers also liked (20)

KEY
Java Performance MythBusters
KEY
Xtext Best Practices
PDF
Scoping Tips and Tricks
PDF
Future of Xtext
PDF
Parsing Expression With Xtext
PDF
Extending the Xbase Typesystem
PDF
Recipes to build Code Generators for Non-Xtext Models with Xtend
PDF
The Xtext Grammar Language
KEY
EMF - Beyond The Basics
DOC
EMF Tips n Tricks
PDF
Serializing EMF models with Xtext
PDF
DSLs for Java Developers
PDF
Graphical Views For Xtext With FXDiagram
PDF
Jazoon 2010 - Building DSLs with Eclipse
PDF
Graphical Views For Xtext
PDF
Eclipse DemoCamp in Paris: Language Development with Xtext
PPTX
Enhancing Xtext for General Purpose Languages
PDF
From Stairway to Heaven onto the Highway to Hell with Xtext
PDF
ARText - Driving Developments with Xtext
PDF
Xtext, diagrams and ux
Java Performance MythBusters
Xtext Best Practices
Scoping Tips and Tricks
Future of Xtext
Parsing Expression With Xtext
Extending the Xbase Typesystem
Recipes to build Code Generators for Non-Xtext Models with Xtend
The Xtext Grammar Language
EMF - Beyond The Basics
EMF Tips n Tricks
Serializing EMF models with Xtext
DSLs for Java Developers
Graphical Views For Xtext With FXDiagram
Jazoon 2010 - Building DSLs with Eclipse
Graphical Views For Xtext
Eclipse DemoCamp in Paris: Language Development with Xtext
Enhancing Xtext for General Purpose Languages
From Stairway to Heaven onto the Highway to Hell with Xtext
ARText - Driving Developments with Xtext
Xtext, diagrams and ux
Ad

Similar to Xtend - A Language Made for Java Developers (20)

KEY
Xtend @ EclipseCon 2012
PDF
How to train the jdt dragon
PDF
Panama4Newbies_Jfokus2_slides.pdf
DOC
Java 5
PPTX
The Art of Metaprogramming in Java
PDF
Panama4Newbies_Atlanta.pdf
PDF
Gwt and JSR 269's Pluggable Annotation Processing API
PDF
On Processors, Compilers and @Configurations
PDF
Panama4Newbies_Atlanta.pdf
PDF
Eclipsecon 2010 - Scala Support in Eclipse
PDF
Java 7 Preview
PPTX
GOTO Night with Charles Nutter Slides
PDF
The Diabolical Developer's Guide to Surviving Java 9
PDF
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
PDF
Tooling around in the jdk
PPTX
PDF
Java Course 15: Ant, Scripting, Spring, Hibernate
PDF
Preparing your code for Java 9
PDF
Scala Support in Eclipse - Monkey-patching the JDT for fun and profit?
PDF
Java: Rumours of my demise are greatly exaggerated
Xtend @ EclipseCon 2012
How to train the jdt dragon
Panama4Newbies_Jfokus2_slides.pdf
Java 5
The Art of Metaprogramming in Java
Panama4Newbies_Atlanta.pdf
Gwt and JSR 269's Pluggable Annotation Processing API
On Processors, Compilers and @Configurations
Panama4Newbies_Atlanta.pdf
Eclipsecon 2010 - Scala Support in Eclipse
Java 7 Preview
GOTO Night with Charles Nutter Slides
The Diabolical Developer's Guide to Surviving Java 9
JVM Languages Support in Eclipse - Monkey-patching the JDT for fun and profit?
Tooling around in the jdk
Java Course 15: Ant, Scripting, Spring, Hibernate
Preparing your code for Java 9
Scala Support in Eclipse - Monkey-patching the JDT for fun and profit?
Java: Rumours of my demise are greatly exaggerated

Recently uploaded (20)

PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Encapsulation_ Review paper, used for researhc scholars
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PDF
Network Security Unit 5.pdf for BCA BBA.
PDF
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
PPTX
Big Data Technologies - Introduction.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
Advanced methodologies resolving dimensionality complications for autism neur...
Encapsulation_ Review paper, used for researhc scholars
Building Integrated photovoltaic BIPV_UPV.pdf
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Reach Out and Touch Someone: Haptics and Empathic Computing
Unlocking AI with Model Context Protocol (MCP)
Digital-Transformation-Roadmap-for-Companies.pptx
Chapter 3 Spatial Domain Image Processing.pdf
Network Security Unit 5.pdf for BCA BBA.
Peak of Data & AI Encore- AI for Metadata and Smarter Workflows
Big Data Technologies - Introduction.pptx
Spectral efficient network and resource selection model in 5G networks
The Rise and Fall of 3GPP – Time for a Sabbatical?
KOM of Painting work and Equipment Insulation REV00 update 25-dec.pptx
Review of recent advances in non-invasive hemoglobin estimation
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...

Xtend - A Language Made for Java Developers

  • 1. A Language made for Java Developers (c) 2012 itemis AG
  • 10. IDEs, Tools,... Open-Source Standard Library Community
  • 11. IDEs, Tools,... Should we really throw all those assets away? Open-Source Standard Library Community
  • 12. IDEs, Tools,... Should we really throw all those assets away? How about just fixing the Open-Source Standard Library problematic bits? Community
  • 14. Java’s Type System & Libraries
  • 15. Java’s Type System & Libraries Java’s IDE Support
  • 16. Java’s Type System & Libraries Java’s IDE Support Functional Programming
  • 17. Java’s Type System & Libraries Java’s IDE Support Functional Programming Extension Methods
  • 18. Java’s Type System & Libraries Java’s IDE Support Functional Programming Extension Methods Exceptional DSL Support
  • 19. A clean, fast and statically typed Groovy
  • 20. A simpler Scala, with 100% Java interoperability
  • 22. Demo
  • 24. Exceptional DSL Support Annotations on
  • 26. Java’s Annotation Processing Tool (apt): apt is a [..] utility for annotation processing. It includes a set of reflective APIs [..] to process program annotations[..]. These [..] APIs provide a build-time, source-based, read-only view of program structure. They [..] model the Java™ programming language's type system[..]. [..] annotation processors [..] can produce new source code and other files. [..] http://docs.oracle.com/javase/6/docs/technotes/guides/apt/index.html
  • 27. Java’s Annotation Processing Tool (apt): apt is a [..] utility for annotation processing. It includes a set of reflective APIs [..] to process program annotations[..]. These [..] APIs provide a build-time, source-based, read-only view of program structure. They [..] model the Java™ programming language's type system[..]. [..] annotation processors [..] can produce new source code and other files. [..] http://docs.oracle.com/javase/6/docs/technotes/guides/apt/index.html
  • 28. Java’s Annotation Processing Tool (apt): apt is a [..] utility for annotation processing. It includes a set of reflective APIs [..] to process program annotations[..]. These [..] APIs provide a build-time, source-based, read-only view of program structure. They [..] model the Java™ programming language's type system[..]. [..] annotation processors [..] can produce new source code and other files. [..] http://docs.oracle.com/javase/6/docs/technotes/guides/apt/index.html
  • 29. Java’s Annotation Processing Tool (apt): apt is a [..] utility for annotation processing. It includes a set of reflective APIs [..] to process program annotations[..]. These [..] APIs provide a build-time, source-based, read-only view of program structure. They [..] model the Java™ programming language's type system[..]. [..] annotation processors [..] can produce new source code and other files. [..] http://docs.oracle.com/javase/6/docs/technotes/guides/apt/index.html
  • 30. Java’s Annotation Processing Tool (apt): apt is a [..] utility for annotation processing. It includes a set of reflective APIs [..] to process program annotations[..]. These [..] APIs provide a build-time, source-based, read-only view of program structure. They [..] model the Java™ programming language's type system[..]. [..] annotation processors [..] can produce new source code and other files. [..] http://docs.oracle.com/javase/6/docs/technotes/guides/apt/index.html
  • 33. Active Annotations Participate in Compilation Enhance Derived Java Code
  • 34. Active Annotations Participate in Compilation Enhance Derived Java Code Apply Domain-Specific Constraints
  • 35. Demo
  • 36. xtend-lang.org @xtendlang @szarnekow Thank you! (c) 2012 itemis AG

Editor's Notes

  • #2: - A statically typed, functional programming language for the JVM\n- Developed at Eclipse.org and provides a couple of very interesting and unique Features.\n
  • #3: \n
  • #4: \n
  • #5: \n
  • #6: \n
  • #7: - Eclipse JDT, IntelliJ and Netbeans are the best IDEs in the world for any language\n- Findbugs, Profilers, JRebel\n\n- huge amount of open-source projects. There’s something for everything!\n- well supported by a nice community\n- consisting of almost 10 mio developes\n
  • #8: - Eclipse JDT, IntelliJ and Netbeans are the best IDEs in the world for any language\n- Findbugs, Profilers, JRebel\n\n- huge amount of open-source projects. There’s something for everything!\n- well supported by a nice community\n- consisting of almost 10 mio developes\n
  • #9: - Eclipse JDT, IntelliJ and Netbeans are the best IDEs in the world for any language\n- Findbugs, Profilers, JRebel\n\n- huge amount of open-source projects. There’s something for everything!\n- well supported by a nice community\n- consisting of almost 10 mio developes\n
  • #10: - Eclipse JDT, IntelliJ and Netbeans are the best IDEs in the world for any language\n- Findbugs, Profilers, JRebel\n\n- huge amount of open-source projects. There’s something for everything!\n- well supported by a nice community\n- consisting of almost 10 mio developes\n
  • #11: \n
  • #12: \n
  • #13: \n
  • #14: \n
  • #15: \n
  • #16: \n
  • #17: \n
  • #18: \n
  • #19: \n
  • #20: \n
  • #21: \n
  • #22: \n
  • #23: \n
  • #24: \n
  • #25: \n
  • #26: \n
  • #27: \n
  • #28: \n
  • #29: \n
  • #30: \n
  • #31: \n
  • #32: \n