Difference between revisions of "Better Ruby - Nutter"

From JVMLangSummit
Jump to navigationJump to search
(Redirecting to Better Ruby)
 
(Redirecting to Better Ruby)
Line 1: Line 1:
 
#REDIRECT [[Better_Ruby]]
 
#REDIRECT [[Better_Ruby]]
 +
 +
= JRuby =
 +
* making optimizations for things like returining from closures
 +
* Invoke Dynamic (indy):
 +
** eliminates generated handles, simplifies things
 +
** inlines a lot of otherwise complex logic
 +
** getting faster
 +
* Duby is an experiment in optional static typing that may be rolled into JRuby
 +
* new optimizing compiler now that they have a "real compiler guy" on the JRuby team
 +
 +
= Duby =
 +
* a side-project
 +
* "like Ruby but as fast as Java; essentially Java with Ruby syntax"
 +
* typing works kinda like Scala
 +
* no runtime library
 +
* purpose: an implementation language for JRuby, mobile applications
 +
** "doesn't add too much"
 +
* code example: only different between Ruby and Duby is specifying the type of some arguments to methods
 +
* "MyObject.new" is hard-coded to object creation, not a method call
 +
* status:
 +
** type and method definitions work
 +
** importing types, Java object construction works
 +
** todo: arrays, reopening classes, mixins, closures, runtime libraries in Duby, Java 5 features,
 +
** possible LLVM backend or in other languages
 +
 +
= Surinx =
 +
* another side-project
 +
* exactly Ruby syntax
 +
* dynamically typed ("not quite as crazily dynamic as Ruby")
 +
* dynamic dispatch (indy)
 +
* minimal runtime library (indy dispatcher)
 +
* scriptable, but no interpreter
 +
* "as fast as Java (can do indy)"
 +
* goals: experiment with indy, help the implementors test, try things outside JRuby
 +
* code examples: really identical to Ruby
 +
* bunch of stuff still to do
 +
* Java version of fib example (only) 40% faster than Surinx version

Revision as of 12:07, 16 September 2009

Redirect to:

JRuby

  • making optimizations for things like returining from closures
  • Invoke Dynamic (indy):
    • eliminates generated handles, simplifies things
    • inlines a lot of otherwise complex logic
    • getting faster
  • Duby is an experiment in optional static typing that may be rolled into JRuby
  • new optimizing compiler now that they have a "real compiler guy" on the JRuby team

Duby

  • a side-project
  • "like Ruby but as fast as Java; essentially Java with Ruby syntax"
  • typing works kinda like Scala
  • no runtime library
  • purpose: an implementation language for JRuby, mobile applications
    • "doesn't add too much"
  • code example: only different between Ruby and Duby is specifying the type of some arguments to methods
  • "MyObject.new" is hard-coded to object creation, not a method call
  • status:
    • type and method definitions work
    • importing types, Java object construction works
    • todo: arrays, reopening classes, mixins, closures, runtime libraries in Duby, Java 5 features,
    • possible LLVM backend or in other languages

Surinx

  • another side-project
  • exactly Ruby syntax
  • dynamically typed ("not quite as crazily dynamic as Ruby")
  • dynamic dispatch (indy)
  • minimal runtime library (indy dispatcher)
  • scriptable, but no interpreter
  • "as fast as Java (can do indy)"
  • goals: experiment with indy, help the implementors test, try things outside JRuby
  • code examples: really identical to Ruby
  • bunch of stuff still to do
  • Java version of fib example (only) 40% faster than Surinx version