10 Nov
Playing with Mirah
Mirah (formally duby) is pretty freaking cool. Plans are to scrap java and use mirah for future android development, we'll see. Here's a rough example of some pretty basic mirah.
To get started, you'll need jruby and the mirah gem:
rvm install jruby rvm use jruby (or put in your .rvmrc) gem install mirah
Then create an example:
puts "hello world!!" 500.times do |x| puts x end
Time in ruby:
time ruby test.mirah
...
=> .457s
Compile to Java and time:
mirahc test.mirah time java Test
....
=> .081s
Less than 1/5 the time and it compiles to Java ... neat 🙂
mirahc -j test.mirah // Generated from test.mirah public class Test extends java.lang.Object { public static void main(java.lang.String[] argv) { int __xform_tmp_1 = 0; int __xform_tmp_2 = 0; int x = 0; java.io.PrintStream temp$1 = java.lang.System.out; temp$1.println("hello world"); __xform_tmp_1 = 0; __xform_tmp_2 = 500; label2: while ((__xform_tmp_1 < __xform_tmp_2)) { x = __xform_tmp_1; label3: { java.io.PrintStream temp$4 = java.lang.System.out; temp$4.println(x); } __xform_tmp_1 = (__xform_tmp_1 + 1); } } }