Previous Entry Share Next Entry
I'll get to a small pile of Pennsic posts shortly, but while I'm catching up on my email and technical blogs, let's have the Language of the Week: Mirah.

This one's pretty neat, another example that the usual religious wars in the programming community are increasingly pointless. Mirah is basically a dialect of Ruby, but specifically designed to run *fast* on the JVM or some other environment. As such, it is statically typed.

Now this is basically heresy: after all, ground zero in the language wars is static vs. dynamic typing. But Mirah (which is admittedly new and experimental, but cool) illustrates how silly this is. Mirah code *looks* damned near identical to Ruby code: it just adds *occasional* type annotations and a powerful type inferencing engine so that the static typing is mostly hidden. The result sort of looks to Ruby as Scala is to Java: statically typed enough to save you from lots of easy bugs, but well enough hidden to stay out of your way.

I suspect the language will have its flaws: in particular, I'd bet that the switch to static typing will make the lack of generics glaringly obvious. (In a dynamic language like Ruby, you don't *need* generics, but static languages always eventually wind up wanting them.) But Mirah looks like a good option for mid-sized programs, large enough that the static typing is useful, but small enough that the lack of generics isn't a big deal. It'll be interesting to see if it catches on.

(Thanks to Tim Bray for pointing the language out, in the course of talking about possible languages for Android development.)


Log in

No account? Create an account