Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?
Java Programming Ruby

Mirah Tries To Make Java Fun With Ruby Syntax 444

An anonymous reader writes "Java is performant, widely adopted and eminently portable, however, its syntax is largely inherited from C++ along with some of its esoteric unfriendliness. Mirah aims to place a friendly face on Java through the implementation of a syntax whose primary concern is developer friendliness (think Ruby/Python/Groovy), and route of least surprise. The result is a truly cogent alternative syntax delivering readability, expressiveness and some compelling new language features."
This discussion has been archived. No new comments can be posted.

Mirah Tries To Make Java Fun With Ruby Syntax

Comments Filter:
  • by pavon ( 30274 ) on Sunday March 20, 2011 @07:14PM (#35554260)

    From what I gathered on their website, Mirah was created by one of the main JRuby developers in order to create a language that fits in better with the JVM capabilities and Java ecosystem than a strait port of Ruby. The end result should offer better performance and cleaner integration with existing Java code then JRuby, while providing nicer syntax than Java.

    Groovy is slow as snot, and I wouldn't use it for anything other than perhaps a user scripting language for a java application, and even for that I think there are better options. No clue how Mirah compares to Scala. That was my first question as well.

  • Re:what. ever. (Score:5, Informative)

    by pavon ( 30274 ) on Sunday March 20, 2011 @07:34PM (#35554398)

    Objective-C and C++ were created at the roughly same time, with the early work done without any knowledge of each other. OPPC (the early version of Objective-C) was written around 1981-82. "C with Classes" (the early version of C++) was written around 1979-83. The first books documenting Objective C and C++ were released in 1986 and 1985 respectively.Objective-C was standardized (as part of OpenStep) in 1994, while C++ became an ISO standard in 1998.

    Apple didn't choose to use it because C++ wasn't different enough; they chose to use it because that is what the NextStep was written with back when Objective-C and C++ were both still in their infancy.

  • by shutdown -p now ( 807394 ) on Sunday March 20, 2011 @07:43PM (#35554452) Journal

    JRuby and Groovy are primarily dynamic languages.

    Scala significantly extends the Java object model. Consequently, only a few basic Scala notions map directly to Java and can be used from there. A lot of advanced stuff is not easily accessible.

    Clojure is Lisp - 'nuff said.

    Mirah seems to be mainly about syntactic sugar. Judging by the few samples on the front page, it brings Java roughly to the level of C# 4, except with a nicer syntax. But it's still strongly typed (unless you use "dynamic"), and its notions, such as classes and methods, map one-to-one to corresponding Java ones.

  • Re:Uh... (Score:4, Informative)

    by Capt. Skinny ( 969540 ) on Sunday March 20, 2011 @10:05PM (#35555304)

    Hate to tell ya, but once the dictionary adds a definition to a word, that definition is no longer incorrect.

    Dictionary definitions reflect modern and changing language usage by the public. It's like a democratically elected office for words: members of the general public choose words based on misinformation, stubbornness, and the way their parents, friends and teachers choose their words. Dictionary editors are like the electoral college: they look at what the general public has chosen to use for words and definitions, then choose for themselves which of those make it into the dictionary. Not everyone will agree on the new word or definition, but in a few generations it will be history and no one will care. When was the last time you heard anyone bitch about Grover Cleavland being elected?

  • by Headius ( 5562 ) on Sunday March 20, 2011 @10:49PM (#35555562) Homepage Journal

    The original goal of Mirah was to create a language that looked nice, compiled down to a form as direct and fast as Java, and did not require you to drag a runtime library along with you. You take Mirah code in and get JVM bytecode (in .class files) out. There's no extra dependencies; you're not shackled to an extra jar file just because you wrote "hello world".

    Mirah has much of Ruby's syntax only because we liked Ruby's syntax. The Ruby class libraries are not there, and Mirah is not Ruby. It's statically typed, with Ruby's clean syntax and some of Ruby's surface-level features (like simple iteration and closures).

    I guess you're right, we need to do a better job explaining why it's useful. I have an article coming that emphasizes that this is simply a "javac" alternative that happens to have Ruby syntax, and hope to clean up the web site too.

The first Rotarian was the first man to call John the Baptist "Jack." -- H.L. Mencken