|
|
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
| |