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