KEMBAR78
Xtend - A Language Made for Java Developers | KEY
A Language
       made for
      Java Developers



             (c) 2012 itemis AG
About me
@szarnekow
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
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

Xtend - A Language Made for Java Developers

  • 1.
    A Language made for Java Developers (c) 2012 itemis AG
  • 2.
  • 7.
  • 8.
  • 9.
  • 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.
  • 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, fastand statically typed Groovy
  • 20.
    A simpler Scala,with 100% Java interoperability
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
    Java’s Annotation ProcessingTool (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 ProcessingTool (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 ProcessingTool (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 ProcessingTool (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 ProcessingTool (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
  • 31.
  • 32.
  • 33.
    Active Annotations Participate inCompilation Enhance Derived Java Code
  • 34.
    Active Annotations Participate in Compilation Enhance Derived Java Code Apply Domain-Specific Constraints
  • 35.
  • 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