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.