RIP Philo

JVM languagues

Do you use languages beside Java on JVMs? Is an extra language necessary, or just using more libraries are enough?
Permalink Rick Tang 
November 30th, 2011 2:18am
Oh, and Java annotations. Do you create your own annotations?
Permalink Rick Tang 
November 30th, 2011 2:40am
Permalink PigPen 
November 30th, 2011 6:32am
Cold Fusion
Permalink Send private email xampl9 
November 30th, 2011 6:38am
Really.  I didn't think anyone used Cold Fusion anymore.  Good tip, thanks.
Permalink SaveTheHubble 
November 30th, 2011 7:52am
> use languages beside Java on JVMs?

JRuby: for people who realize the ruby interpreter isn't that hot performancewise or --more likely-- whose sysadmins refuse to deploy anything but jar files. Vaguely useful in case you require a Java library for a script that involves opening a file, parsing xml, printing to the screen, adding two `byte`s or something similarly impossible to do in Java without becoming so enraged that you end up twisting some cute little animal's head off.

Jython: see JRuby

Groovy: for hardcore java nerds who don't want to admit to themselves that java isn't the be-all end-all of programming by using JRuby or Jython. Because for unknown reasons, groovy is somehow "more" java.

Scala: for people who feel Java isn't special enough for them, because they're very special. Yet they're too limp dicked to use haskell or erlang. To be honest, they would prefer to use ocaml, but the JVM handles cache line optimization in Intel's upcoming Larabee architecture better and they need to squeeze every last bit of performance out of their "boxen". They also enjoy using important words like "contravariant" that noone including themselves understands. This makes them feel even more special.

Fantom: see Scala, add: for who Scala is too mainstream because Twitter and one other company allegedly used it a some point.

Clojure: see Scala, but switch "scheme or lisp" in for "haskell or erlang", feeks slightly less absurd than Scala to me.

JavaScript: oh-my-god just go ahead and scratch my eyes out, why in hell would anyone ... oh yeah, it ships with the JVM (no joke). The "embedded language" of choice in case you need to embed some language into your java desktop software.

JavaFX: sadomasochists with a serious Sun Microsystems fetish who have wet dreams of Duke™ (the little java dude) gnawing their balls off. They also really hate Flash but haven't heard that Adobe discontinued it or that you can do "mouseover" effects in HTML5 thus enabling Rich Internet Applications™ without Applets™.

All of the other JVM languages are either someone's uni dissertation or total bullshit. Except for Frink which is pretty awesome but not really a general purpose programming language.

That said, Java is a really annoying language, but so are all other computer languages that don't live in the JVM to some degree. It's perfectly possible to write solid and useful code with it.
Permalink Send private email a2800276 
November 30th, 2011 8:32am
Oh, and Java annotations are aesthetically displeasing bullshit.
Permalink Send private email a2800276 
November 30th, 2011 8:34am
I honestly don't see a need for JRuby.

The Ruby interpreter works fine for me and gives me all the language features (last time I looked JRuby was incomplete and behind in versions).

Ruby already gives me a vast array of libraries.
High performance from a JVM; sorry I don't believe it.
Ok, maybe the JVM provides better threading.

Anyone have real world experience ?
Permalink liker of ruby 
November 30th, 2011 10:04am
Wow, a2800276. Simply amazing post.
Permalink Fan boy 
November 30th, 2011 10:38am
I've been playing with Clojure a bunch lately in my free time.

This is a surprisingly well designed language.  It's got the familiar Lispy syntax but is much more functional (lots of tge default data structures are immutable), and the dynamic dispatch is a joy to use.

It's still pretty new and rough around the edges.  I wouldn't use it for serious business quite yet, but it definitely has a bright future ahead.
Permalink Michael B 
November 30th, 2011 11:01am
++Fan boy

a2800276, that was a nice summary. Great post.
Permalink PigPen 
November 30th, 2011 12:38pm
Ok. Doing a Bot response:

PigPen, not answering the question.

xampl9, Cold Funsion! It runs on JVMs but hey...

a2800276, not answering the question.

liker of ruby, good contribution.

Fanboy, not answering the question.

Michael B, good contribution.

All in all, 3 vs 3. Not bad, but I guess I should just go discuss this on StackOverflow.
Permalink Send private email Rick Tang 
November 30th, 2011 7:44pm
> Not bad, but I guess I should just go discuss this on StackOverflow.

Yes, go and stay away.
Permalink dickwad 
November 30th, 2011 9:28pm
Uups sorry Rick, didn't answer your question explicitly and forgot you're incapable of understanding anything but yes or no answers:

> Do you use languages beside Java on JVMs?


> Is an extra language necessary, or just using more libraries are enough?

No, java is turing complete.

> Oh, and Java annotations. Do you create your own annotations?

No (question was present tense, currently I don't create Annotations, but I have in the past)

Damn, slipped more prose in there, sorry.
Permalink Send private email a2800276 
December 1st, 2011 5:39am
Apparently you dn't know how to answer question constructively.

It's ok. Somone is just unwit and it's not their fault.
Permalink Rick Tang 
December 1st, 2011 11:55am
But anyway...

So you are saying you use JRuby for stuff that's too hard for Java and JRuby removes the need for Annotation?

That's good contribution, too bad you do not know how to answer question properly.
Permalink Rick Tang 
December 1st, 2011 12:00pm
Just curious, not my area. What are Annotations?
Permalink Shylock 
December 1st, 2011 1:24pm
Google is your friend.

I'm very unfond of them, myself.
Permalink SaveTheHubble 
December 1st, 2011 1:58pm
Whoops, sorry Rick, I forgot you were retarded.

Have I used VM languages: yes, I have, quite a few of them.

What's my opinion of them? My experience is that most of them are used as vanity languages because java is considered uncool (as outlined in my original answer).

There are a number of valid use cases for them (as outlined in my original answer), but, as outlined in my more matter of factly second answer, they aren't strictly "necessary".

The main valid use cases are:

1.) having an existing code-base in Ruby/Python that you'd like to use in a corporate environment that places restrictions on the choice of deployable technology. Alternatively you are in such an environment and feel Ruby or Python are better suited to write web front ends than say JavaServerFaces 2.31.2.

2.) requiring a specific library, which is only available in JVM, perhaps because that's how the vendor supplies it, to achieve some one-off (i.e. scripting) task. Java is not particularly well suited for writing code in this manner. A possible workaround of course is:

public static void main (String [] args) throws Throwable {
// all my code goes here.

which alleviates the need for exception handling, but you're still stuck reading docs to do something as simple as opening a file, which in ruby looks like this:


let alone parse xml, which in java requires obtaining a parser factory from, specifying whether you require SAX, DOM, or some other weird implementation, then loading the actual parser from the previously obtained parser factory, implementing a bunch of anonymous classes, figuring out wtf a org.sax.DataSource is and to map a file or inputstream to it and then spending two days debugging the crap only to realize the xml you were trying to parse uses omg! namespaces and you didn't tell the ParserFactoryFactory to require feature java.xml.api.sax.push.feature.NAMESPACE_AWARE.

Please note the emphasis on "one-off" resp. "scripting" above.

3.) Annotations: I have written and fully understand Annotations and use them in external APIs that require their use, but I feel the cognitive dissonance they produce by looking butt-ugly and not matching the style and flow of java code, is in no way compensated by the little value they tend to sometimes produce.

By the way, Rick, maybe you should put more effort into formulating your questions if you find yourself repeatedly being disappointed by the answers you receive.
Permalink Send private email a2800276 
December 2nd, 2011 1:24am
you guys are not even trying. nothing is idiot proof.

thanks for finally trying answer properly.
Permalink Rick from Nexus B 
December 2nd, 2011 2:40am
Excellent!  Please do this more often T^H a\d*

IMO annotations are a crappy quasi-HLL extension that's necessary because Java+JEE is so LL and verbose that you cant get anything bloody done without "becoming so enraged that you end up twisting some cute little animal's head off" (my god do I recognize that feeling).
Permalink Troglodyte 
December 2nd, 2011 8:28am
Fame travels fast:

I guess I'll never understand much of what I just read because I view Java from the dark side, but I laughed out loud.

Somewhere out there must be a definitive list of shot feet by language quips such as these that need extension:
Permalink trollop 
December 2nd, 2011 5:22pm

This topic is archived. No further replies will be accepted.

Other topics: November, 2011 Other topics: November, 2011 Recent topics Recent topics