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