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