Mirah brings Ruby niceties to Java

A budding programming language that offers a 'nicer way to write Java code' shares the spotlight at OSCON with the Go and D languages

A key Java platform developer is moving forward with an experimental programming language dubbed Mirah, which attempts to meld the niceties of Ruby with the heavy-duty performance of Java.

Mirah is intended to look like Ruby while being statically typed and compiling to fast Java Virtual Machine bytecode. The Mirah project is headed up by Charles Oliver Nutter, a co-lead of the JRuby project that puts Ruby on the JVM.

[ Keep up with app dev issues and trends with InfoWorld's Fatal Exception blog. ]

Mirah provides "a nicer way to write Java code," Nutter said Thursday at the O'Reilly Open Source Convention (OSCON) in Portland.

"Mirah is essentially Ruby syntax for writing Java code," said Nutter, who works for Engine Yard. Developers, he said, can eliminate the "ceremony" of Java.

"You can write what looks like Ruby and get plain old Java," he said.

While Mirah would be of use in high-performing applications, Ruby still has features that Mirah lacks, said Nutter. JRuby and Ruby, he said, have some nicer APIs, for example.

Mirah has been in development for about a year but in the past six months has begun to reach a usable state, Nutter said. A 1.0 release is planned for the end of this year. Currently, Mirah could be used for writing simple applications but at the moment, it lacks some Java features such as generics, Nutter said.

Developers could use Mirah to write applications for the Google App Engine cloud and for the Google Android mobile platform. A Mirah website has been set up that says Mirah means Ruby in Javanese, the language of the island of Java.

Also in the programming language spotlight at OSCON, a Google official cited the company's efforts with its Go language which, like Mirah, is open source. Go, said Rob Pike, who holds the title of distinguished engineer at Google, is intended for writing applications such as large-scale software for clusters, Web servers, and connected machines.

"It's gotten very difficult to write those programs in languages like C++" or Java he said. "The builds take too long [and] the language doesn't address some of the things we have to be thinking about," such as multiple processors, networking, and distributed computations, Pike said.

Currently, Go has reached a status where it is stable but libraries still need to be improved, according to Pike. Linux and Mac OS backing is offered, with Windows support also planned.

Go is an attempt to make a language with the fluidity of a dynamic language such as Python while offering benefits of a statically typed program that is compiled, Pike said. Programs written in dynamic languages have had drawbacks in that they have been slow, difficult to maintain, and they break, he said.

Go would not be used for programs that run in a browser, said Pike. The language is "not a panacea," he said.

OSCON attendees Thursday also were brought up to speed on the D language, which is unrelated to a Microsoft language that had been internally code-named "D" two years ago.

The 10-year-old D language has static typing and an extremely fast compiler, said Walter Bright, of compiler maker Digital Mars. A co-inventor of the language, Bright described D as a big, multiparadigm language that is, among other things, imperative, object-oriented, and supports functional programming and concurrency.

"If you're looking for a very small language, you need to look for another because D is a big language, but it's not unnecessarily big," Bright said. The idea with D is to push complexity into the compiler so user code is simple and elegant, he said.

D 2.0 was released last month and features capabilities for functional and concurrent programming.

D is supported on platforms including Windows, Linux, Mac OS X, and Free BSD. Among its uses, a JavaScript engine has been written in it and an OS system kernel is being written in D, said Bright. D also has been used for authoring games. Many companies use it, but they do not advertise their use, Bright said.

This article, "Mirah brings Ruby niceties to Java," was originally published at InfoWorld.com. Follow the latest developments in business technology news and get a digest of the key stories each day in the InfoWorld Daily newsletter and on your mobile device at infoworldmobile.com.

From CIO: 8 Free Online Courses to Grow Your Tech Skills
Join the discussion
Be the first to comment on this article. Our Commenting Policies