Picking a JVM Language: Which One Is Right for You?

Picking a JVM Language: Which One Is Right for You?

Picking a JVM Language: which one is right for you? Venkat Subramaniam [email protected] @venkat_s How it started Java Simple Powerful JDK Versatile Multi Platform Scalable GC Multithreaded JVM Performance 2 How it started Simple Java Simpler than C++ Powerful JDK Versatile Multi Platform Scalable GC Multithreaded JVM Performance 3 How it evolved Java Weakest link Powerful Widely used JDK Versatile Ubiquitous Multi Platform Scalable GC Multithreaded JVM Performance 4 Emergence Ruby/ Groovy, Rails Scala JRuby, Exodus Clojure Renaissance 2000 2003 Where we’re now Java Scala Groovy JRuby Clojure Powerful Widely used JDK Versatile Ubiquitous Multi Platform Scalable GC Multithreaded JVM Performance 6 What do these offer? 7 Productivity gain Ease Functional Style Once we get past the learning curve 8 Typing Static Scala C++ Java Strong Weak Groovy JRuby Perl Clojure Dynamic 9 Essence vs. Ceremony Essence Groovy JRuby Clojure Scala Java8 Java Ceremony 10 Functional Style Functional Purity and Style Clojure Scala JRuby Groovy Java8 Java Non-Functional 11 Concurrency Facilitator Immutable Clojure Scala JRuby Groovy Java8 Java Shared Mutable State 12 Metaprogramming Metaprogramming Groovy JRuby Clojure Scala Java Reflection 13 Fluency Fluent Scala JRuby Groovy Clojure Java8 Java Not so fluent 14 How does this matter? Internal DSL == Metaprogramming + Fluency Groovy and JRuby shine here 15 What Made Lisp Special Paul Graham’s list 1. Conditionals 2. A function type 3. Recursion 4. Concept of variables 5. Garbage-collection 6. Composed of Expressions 7. A symbol type 8. Notation for tree of symbols 9. Whole Program always available 16 Evaluating Suitability Sample only, don’t use these numbers literally 17.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    17 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us