Hacker News new | comments | show | ask | jobs | submit login
Java 4-ever (youtube.com)
199 points by sbt on June 25, 2010 | hide | past | web | favorite | 61 comments

Quote from my friend (who earns his living doing Java development):

"Java is COBOL of nineties. Future generations of programers will fly here from the Moon to piss on our graves for inflicting it upon them."

You can always run more... civilized languages on top of the JVM, talking to Java classes without problem.

For this movie they should have made PG the dad and his son decides to use Java instead of Lisp.

Or we could not use the JVM, because it's antiquated and never worked. I mean... that seems to be where everyone went five years ago.

In what way does the JVM "not work"?

I remember the days when the JVM only had mark and sweep GC and it interpreted bytecodes. I remember when the JIT kept on crashing, and Java apps were catching up to Smalltalk VMs on benchmarks, but wheezing on real apps because of poor GC. Then there was generational GC, but lots of real apps were still wheezing because no one knew how to tune the GC settings. It took a decade for the JVM to cover the same ground the Smalltalk VMs had covered 4 or 5 before it.

Now the JVM is mature, and it fricken kicks ass! Really, for a high-level OO language supporting VM, the thing just screams. It's still unwieldy and much better suited to server stuff, but as a Smalltalker and therefore a former longtime Java detractor, I have to say, I am really impressed.

So, putting it shortly, it does work.

I agree completely Smalltalk 80 kicks Java 2010's ass, but, still, saying Java does not work is kind of exaggerated.

Resource Management, and stability.

It doesn't work at all you are right. That is why twitter is moving away from ruby and towards scala for reliability...sarcasm

If Microsoft didn't use the excellent CLR (which is much more friendly to non C# languages than the JVM is to non-Java languages see e.g., F#) as a way to sell their crappy systems software, they'd have crushed the JVM: both in enterprise world (C#, while still a blub compared to OCaml, Scala, F# etc... it is a much better language than Java and has excellent tooling for the "large teams of average or inexperienced developers, lead by a competent architect" use case) and amongst technology companies (while J2EE is not used very frequently amongst them -- because of its association with moronic garbage like EJB 2.x -- plenty use standard Java or other JVM languages).

Dear Microsoft, Mono project has in fact already done the hard work for you. Why can't you embrace it (sponsor their developers, help them implement the latest specifications) and bless it as the "official" CLR for Linux and Mac or "alternative" CLR for Windows (much like Blackdown JDK was on Linux or the situation viz. IBM's JDK).

Sun has used this strategy in the past: use their excellent OS as a way to sell their crappy hardware (flame retardant suit donned for the Niagara and UltraSparc-IV fanboys). They realized it's the wrong strategy, but it was too late.

My general mindset about programming languages is that it doesn't matter much what toolset you use as long as it is one you know in and out.

Still, for some reason I personally wouldn't consider using Java for any programming task, ever. And I'm very curious about where this sentiment comes from. Java was my main programming language in the nineties, but the last five years I've avoided it like the plague. Whenever I hear about Java (like when seeing this clip), my spontaneous reaction is "Do people still use Java?". And that is with my wife working at Ericsson using Java as one of their main environments in huge projects alongside with C++ and Erlang. Still, it is as if I've been burnt by it. I don't want anything to do with it.

All I can come up with is that I maybe never fully grasped the build tools. I've worked in fairly large Java projects. But always with a feeling of not being fully in control, of relying on trial and error in some situations. With other toolsets I feel fully in control.

It's not you Java, it's me. But I still don't trust you. You never let me in on your secrets.

Most of my professional work life has been developing Java, and my feelings are similar to yours. I really can't stand it anymore.

However, I wonder if part of it is the experience that "most Java jobs suck", whereas in reality most jobs suck. So had I been a Ruby developer for the last 10 years, maybe now I would be sick of Ruby.

That said, there also a number of evident things that annoy me about Java.

What have you been using as a replacement?

Has the Java the brand completely evolved from a enterprise Sun product, into a counterculture language? With GWT and other JVM languages, Java is starting to look cool again.

It's funny that you characterize Sun as "enterprise", when Java is now an Oracle product (which is even more "enterprise") while Sun, at least sometimes, was actually pretty cool.

not cool, just mature/polished/stable.

Come on... The JVM is cool.

The JVM is the x86 of the VM world. Ugly, used for things it was never designed to properly handle, but also heavily optimized.

No way it could be as ugly as an x86. The x86 has been with us since the 8080 days (the 8086 was a 16-bit 8085, done in a hurry because the i432 flopped). It's a kludge wrapped in a another kludge.

Or, as people say, it's kludges all the way down.

It's not a generic VM. Sure it's got a lot of basic instructions for adding (signed) numbers together but a lot of important instructions are very high-level and very specific to Java. It was never designed to run anything else. So non-Java languages ported to the JVM do involve kludges. The comparison to x86 isn't far off.

yes, and implementing things like tail call recursion requires major kludge.

But, albeit we could discuss about stack based vs register based VM instruction set design, some of the limitations of the JVM are not inherent to its design, but rather to the inability to evolve.

Who's going to introduce bytecode extensions to the JVM now? And correctly manage the upgrades, backward compatibility process etc.

Mature products sometimes have this kind of issues. But, who knows, perhaps there will be a time frame when such a change will be welcome (along with java7 closures?) by the community, even if causing some migration problems.

It's improving. Java 7 is much friendlier to dynamic languages and, with it, many of the kludges will be a thing of the past.

It would need to be really inelegant to warrant a comparison with the x86...

> Java 7 is much friendlier to dynamic languages ... it would need to be really inelegant to warrant a comparison with the x86

Not that much, and not that inelegant ... at least x86 evolved a lot since 8086. The JVM itself evolved only in the internal architecture, but the bytecode itself is almost the same since Java 1.

The best VM for multiple language will soon prove to be LLVM, only because it makes your code cross-platform, while being low-level enough and not being strangled by a standards body.

It's actually easier to build a compiler for LLVM than it is for the JVM ... you might not go at first with a generational GC, and the speed might be terrible ... but at least you have room to grow ...

I have yet to see a language on top of the JVM beat LuaJIT2 (even Java itself can hardly beat it in simpler benchmarks). And the optimizations in Java7 can be achieved today in Java6 (with lots of workarounds, of course).

Saying the x86 evolved is like saying that, it would be evolution if I grew half a dozen tentacles, wings, two more unconnected brains, an exoskeleton and poison bags.

If you start with a can opener and attach it seats, engine, wheels, transmission and a steering wheel, all in ways it can still be in your kitchen and open cans, is it a car or a can opener? That's an x86.

I am not saying the JVM is the VM to end all VMs. It's just that it's nicely done. Much unlike the x86.

The JVM, maybe.

Some of the stuff you can do on the JVM, yes.

Java? Definitely not.

That's what I said. The JVM is cool.

Java certainly isn't.

So what value exactly is there (for a programming language) in being "cool"?

You are joking right?

I think I just found my perfect stand-up/kneel-down laptop stand

Yes, I was just about to comment that there's a comedic but still NSFW scene near the end.

The entire video is NSFW if you work in a .NET shop. But then again, those are likely to have YouTube blocked! :-)

I laughed, but I don't think it was in the way intended by the authors.

It's insane how a good music background can make a difference.

ha, genius sound editing at 1:22!

i thought one of my vm's had shut down.

NSFW. A little courtesy next time.

It does have an R restricted, some sexual content, warning at the beginning.

I believe that refers to the full-length feature, while the trailer itself has been approved for all audiences. Restricted trailers have red background warnings.

It is most definitely not safe for all audiences. It is, however, very funny.

eh I don't think there is any full-length feature.

It's likely he was referring to the red/green protocol rather than a hypothetical full-length movie.

you work at a .NET shop?

Because the average business using Java is just so counter-culture.

Or maybe a company full of boring, humorless teetotalers.

Not everyone has a boss that will casually look over their shoulder and laugh at the sex scene they're watching at work. Bully for you though.

I wonder what was Apple's Macbook Pro doing in that .net fanboi/freak house. They should be using windows on some dell/hp machine.

Wow that was funny! All roads lead to the JVM.

This is precisely the type of content that shouldn't be here on HN. Sure, it's funny, but it doesn't help to facilitate intelligent discussion or add value other than humor.

I sort of agree. And I apologize on behalf of the community for your being downvoted, as the exact same comment on another article would have a good chance of being upvoted.

You have to attune your humor to that of the community. I laughed, so I appreciated that this video appeared here. If the humor was slightly lower quality, I might have made the same comment you made and been sad about it.

I think the upshot is that people want a little good quality humor in their daily news, and are willing to upvote it occasionally. The lower quality posts are going to fail, be flagged and removed, etc.

You know having humor is actually considered a good character trait.

Not only that, but one of the best ways to achieve enlightenment.

I bet you're the life of the parties that you go to.

Funny! And the best humor usually has elements of truth to it as well.

The one of the main activities of a man is to support their own [de|i]llusion and avoiding to see things as they are. ^_^


A for effort.


nah, youtube doesn't update the view count very often at all.

Specifically, it's only 'real time' up to the first 300 views, and then it only refreshes every so often.

Heh if it wasn't for google Java would be completely dead.

Java is everywhere. You wouldn't see it on hacker news but rest assured major corporations around the world are still using java and will still be using java for years to come. I do acknowledge some may switch to dot net.

s/Java/COBOL/ig on your comment and it's just as true.

And COBOL is a horrible language.

But, I still think Fortran was pretty sweet. Also still has a pretty large user base. Especially among engineers.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact