Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

of

A Quick Tour of JVM Languages Slide 1 A Quick Tour of JVM Languages Slide 2 A Quick Tour of JVM Languages Slide 3 A Quick Tour of JVM Languages Slide 4 A Quick Tour of JVM Languages Slide 5 A Quick Tour of JVM Languages Slide 6 A Quick Tour of JVM Languages Slide 7 A Quick Tour of JVM Languages Slide 8 A Quick Tour of JVM Languages Slide 9 A Quick Tour of JVM Languages Slide 10
Upcoming SlideShare
What's new in Nuxeo 5.2? - Solutions Linux 2009
Next
Download to read offline and view in fullscreen.

2 Likes

Share

Download to read offline

A Quick Tour of JVM Languages

Download to read offline

Talk given at Open World Forum 2009

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

A Quick Tour of JVM Languages

  1. 1. A Quick Tour of JVM Languages S. Fermigier, Open World Forum, Oct 2009
  2. 2. History • Java 1.0 in January 1996 • 40 alt. languages implementations in 1997 • ...169 in 2004 • ...240 today (including research and toy languages) • JVM Language Summits in 2008 and 2009
  3. 3. Why New Languages? • New challenges have emerged: increased software complexity, agile dev methodologies, multi-core parallelism, DSLs, etc. • Scientist and language enthousiasts want to try new language features or paradigms • But the Java Language must evolve in a very conservative way to cater to a huge existing code base + skills investment
  4. 4. PROs of Targeting the JVM • The JVM is very robust, multiplatform, highly optimized (HotSpot) • Chance to leverage existing Java code base or libraries • Wealth of tools for development (profiling, debug) and operations (monitoring)
  5. 5. CONs of Targeting the JVM • JVM is (currently) not explicitly designed for certain categories of languages (ex: scripting, functional) • Not suited for all types of systems because memory or CPU constraints (ex: embedded) • For existing languages (ex: Jython), new implementation not compatible with existing native extensions
  6. 6. Currently Popular • Jython (1997), an implementation of Python • Rhino (1997), an implementation of JavaScript • JRuby (2001), an implementation of Ruby • Groovy (2003), a dynamic language • Scala (2003), an object-oriented and functional programming language • JavaFX Script (2005), a scripting language targeting the Rich Internet application domain • Clojure (2007), a Lisp dialect
  7. 7. Common Features • Dynamic typing (scripting): Jython, JRuby, Groovy • Stronger type systems: Scala • Functional programming style: Clojure, Scala (also: Jython, JRuby and Groovy) • Parallelism: Scala Actors, Clojure STM
  8. 8. Original Scala Groovy Clojure Static Dynamic typing typing Rhino Jython Existing JRuby
  9. 9. Da Vinci Project aka MLVM • (Better) scripting support: JSR 292 = • new InvokeDynamic instruction at the JVM level • change classes and methods at runtime dynamically • Continuations • Tail-call elimination • Interface injection • Etc.
  10. 10. Next Speakers • Guillaume Lafforge, Groovy Project Leader / SpringSource • François Armand, Scala enthousiast • Alexis Moussine-Pouchkine, Sun Microsystems
  • arj197

    Apr. 21, 2010
  • aplaconic

    Mar. 5, 2010

Talk given at Open World Forum 2009

Views

Total views

1,596

On Slideshare

0

From embeds

0

Number of embeds

5

Actions

Downloads

26

Shares

0

Comments

0

Likes

2

×