Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

On the contrary, please continue. Improve it by adding BonziBuddy and friends. Please please please ruin your already non-existent reputation, Oracle. Help ordinary people who have no idea what Oracle is, connect your name with spam and spyware (and security problems, ofc).


Hear, hear.

Oracle has the right to bundle whatever crap-ware they want. If that sullies their reputation or draws out alternatives, that's a good thing.


Can we just wait until real alternatives exist before letting client-side Java completely self-destruct?

My problem is that as of now, they don't.


You mean besides Python, .Net and a host of other runtime environments that are cross platform and run with minimal effort without being distributed with shovel-ware? As for .Net, I've found Mono to be pretty easy to target for as a cross-platform runtime. The browser plugin has itself now surpassed Flash and Acrobat as a consistent exploit point and security weakness... On that front, quite a number of browsers can accomplish most of what Java is and has been used for in the browser with JS.


Cross-platform development is in a better place now than it was when Java first tried to tackle that challenge.

I'm not a huge fan of maintaining installed software, though -- if you have a silent auto-updater, that's not bad, but otherwise you're going to be either annoying people with frequent updates, or supporting (often accidentally) scores of old versions all the time.

What else is there besides Java that can run in the browser and do audio recording, MIDI input, realtime audio DSP, etc.? Obviously not everyone wants fancy audio capabilities in the browser, but I imagine there are plenty of other "niche" capabilities that other people need that are impossible in the browser w/o Java.

I do get a sense now that we're going to see the Java security hole largely closed (thanks to browser limitations and Oracle fixes), but the damage has certainly been done.


Ordinary people won't notice.


That's fine. Ordinary people never really realized how irritating Adobe was being about Flash, either, but that wasn't really a big deal because it was ultimately Flash's poor reputation among techies that brought it down.

Similarly, I think Java's worst nightmare scenario wouldn't be end users deciding they don't like it. (Heck, like with Flash most of them don't even know when they're using it.) It would be some massive headline-making Java-related security breach at a Fortune 500 company convincing IT departments around the world to start thinking that it's time to migrate to a less risky platform.


I'm not sure it was a general view amongst techies that did for Flash I think it was those in Apple (not necessarily techies) who made or influenced the decision not to support it in iOS that brought it down.

At the time that looked like a big gamble but with hindsight the gamble has paid off for everybody but Adobe and Flash developers.


>it was ultimately Flash's poor reputation among techies that brought it down.

Sorry, but techie's opinions are overrated. iOS and mobile video brought Flash down a few notches, not us.


I've heard that Steve Jobs hated Flash (or Adobe). Whatever his reasons were, a techie's opinion maybe did help bring Flash down a few notches.


I think Gator might be a good choice too.


I would love to see that. Java really deserves to die a death at this point.


Here we go again, another Java hater for no reason. What should we replace it with? someCrap.js? someOtherCrap.py?

You really have no idea what you're talking about. Killing Java would be a ridiculous thing to do. You live in such a bubble.


I work with Java every day. Java and Spring pay my bills at the moment but that doesn't lessen my contempt for the platform. Overly amateurish nature of the community/ecosystem is a huge issue when you are building enterprise level applications (but have no choice really, because it is your company's technology of choice - usually because they are too cheap to pay for decent dev tools).

The whole community is full of de facto "standards" and half baked libraries which are usually results of someone's summer project.

The language in and of itself is alright (although massively outdated compared to more modern alternatives like C#), but the virtual machine and the nature of the ecosystem make me want to blow my brains out on daily basis. Don't even get me started on the recent security debacle.

I don't know a lot about these new *.js technologies but if they are right tools for the job, then yes, I wouldn't have anything against using them where appropriate.


So, do you mean Java or the JVM? Because here we're talking about the JVM; that means Java, Clojure, Groovy, JRuby, Scala etc.

Sometimes the JVM isn't the right tool; Java the language is often the wrong tool. But when you need to write large, high-performance, backend software, the JVM is pretty much the only rational choice. C/C++ is too expensive effort-wise, in development, in maintenance and in monitoring. Erlang is awesome, but it's too slow for some things. .Net is not robust on non-windows platforms (I'm not sure about this, but this is the common perception). Go is slower than Java, lacks the huge ecosystem, and also doesn't provide all the JVM goodies like runtime instrumentation and profiling, hot code swapping, good monitoring etc. Rust is too immature (and won't give you those benefits either). So, pretty often, the JVM is the only choice and you think it's time to kill it?


I also work the the JVM (but not Java) everyday. The JVM and it's libraries are arguably the strongest part of the Java ecosystem. You really need to experience other languages and their library ecosystems before you make grandiose comments like these.


> Don't even get me started on the recent security debacle.

I'm kinda curious to get you started on the security debacle, actually.

Do you ship Java software that runs client-side? Spring is usually for server-side; if you're just on the server side, though, how has the security debacle affected you?

I generally agree about the ecosystem (yup, just gotta avoid most of it) and the core language (though the clunkyness is somewhat mitigated by IDE facilities for auto-generating code).

But I mostly spend my time on either client-side JavaScript or server-side Java, and it's the JavaScript side that drives me crazy -- in the JVM, things just work. I've hit runtime bugs maybe twice in 14 years working with Java on the server side, and one of those was on the AS/400 (!), and unless I'm doing something stupid, it's fast.


Maybe you need a better job at a better company that hires better technical talent so you're not forever stuck on your legacy, xml configured Spring stack?


You said some insightful and interesting things there, but two things in particular are most striking: 1) You have no choice. 2) You don't know about new technologies. I sense a potential roadmap for you here! Start learning, build something to show people you've learned, and start looking. Whenever you feel trapped, you're becoming obsolete. Don't be a victim, be a conqueror.


If you think the Java community and ecosystem are amateurish, better not take a closer look at any of the others...


I'd vote for replacing it with Mono.

Modern VM design, vastly superior flagship language, pretty solid on the side languages* too, better platform support (Thanks Xamarin!), and best yet it's Free. Like really Free, not Oracle-style "Here's the source code so you can maybe hack on our implementation a bit but if you try doing anything we don't like we'll sue your ass" 'free'.

* Not really a great Lisp for the platform yet, but I prefer F# to Scala. Much cleaner syntax, 'feels' more functional.


Mono isn't proven anywhere near as much as the JVM.

I don't know why this is being downvoted. It's true that the JVM is one of the things in the Java ecosystem that is looked upon as a massive success.


Probably because you decry someone for living in a bubble but then proceed to inflate your own. Yeah, the JVM is great, but not everything that fails to live up to its incredible success is "unproven".


That may be the case but Mono still isn't proven as much as the JVM is.


Absolutely true that the JVM gets more use. But it's also true that the present situation is never set in stone. Remember how popular it was to malign Java back in the late 90s?

And it's also true that the CLR really is technically superior to the JVM on a whole slew of points. It has runtime-level support for generics (meaning C# lets you do all sorts of nice things with them that Java doesn't support). It has user-defined value types. It supports coroutines (i.e., 'yield'). It supports anonymous functions and closures. For those who just can't leave pointers alone, it even has unsafe blocks. And so on.

So while it's definitely not "proven" in a sense that will impress your average PHB, in terms of technical merit I don't think there's really any comparison. Mono wins hands-down.


If you want "proven" you should probably be using NodeJS then... not for GUI apps, but for headless apps and services... since it's core engine is V8, which runs on nearly a third of the desktops out there with far more regular use than Java. And the language JS, with more developers using it than just about every other language combined.

This is kind of tongue in cheek, but seriously... NodeJS is relatively new (since 2009) and it's gained a LOT of traction... it isn't the perfect solution, but then again nothing is. I like Mono and have used it, they've worked through a lot of the earlier issues, and it's pretty decent at this point... IIRC it's the core of the Unity tools, as well as having Xamarin tools available to support the majority of mobile platforms.


I've heard good things about .net from Windows-only developers, but I haven't heard much from developers on other platforms. Seems to me developers who aren't on Windows end up as second class citizens.

Is there anyone here with experience developing for Mono on Linux and Mac? What's it like in reality?


It's not as good as it is on Windows, simply because of Visual Studio (let alone Visual Studio plus ReSharper). I must admit, it's enough of a productivity improver that even on my Mac I prefer to do most my hacking in VS running under VMWare. But that's not really anything against MonoDevelop, it's just that lately Visual Studio's gotten so good that it's really hard to resist using it if you already own a copy.

Compared to most other open source platforms, OTOH, I don't think it feels like one's been relegated to a language underclass at all. Of course you don't get the benefit of working in the operating system's official first-class language like you do on Windows, but in fairness that's a privilege that you never get to enjoy when working in most languages - including Java, Python, Ruby, and so forth.

As far as why it's less popular outside of Windows, I'm inclined to think that's mostly down to social effects. Java's got the Linux enterprise development space so wrapped up right now that I suspect trying to pivot to Mono would be a bit like trying to push a glacier. Businesses aren't in the habit of rewriting millions of lines of code on a whim.


I definitely agree about VS. Microsoft got a bunch of heat for VS2012, but it's been their best release yet. Their IntelliSense support for C# is unmatched by any other language-IDE pairing I've used.

That said, I've used MonoDevelop in Windows and OS X and it works pretty damn well. The Mono project has done a great job mirroring the .NET API and runtime.


Isn't Mono way slower than the JVM or has every benchmark I've ever seen been lying to me?

(And also, doesn't Mono just replace the hypothetical threat of a lawsuit from Oracle with the hypothetical threat of a lawsuit from Microsoft?)


Clojure runs on .NET AFAIK.


No reason?

I'd say their ham-handed approach to security and their contentment to sit with their thumbs up their arses, while vulnerabilities whose magnitude compare favorably with the US national debt are being exploited widely is more than enough reason to hate Java.

At least Microsoft has the good sense to issue OOB patches when something serious enough comes up!

The current state of Java means that running the browser plugin paints a huge bullseye on your back. It got bad enough that the freaking department of homeland security recently issued a warning to disable the plugin for your own good.


Then stop running it in the browser.

Do you have any idea how ubiquitous java is in the enterprise? Everywhere uses java.

Have you ever worked on anything that needs to be scalable, extensible and maintainable?


Everywhere used Flash, and look at where that's going. Ubiquity is not a valid response to "this sucks, we should start thinking of better ideas".

Scalability, maintainability, and extensibility are not unique to Java.


Nobody's talking about the browser plugin. That just adds noise to the conversation.


> Nobody's talking about the browser plugin.

If you're talking about Java, you're talking about the browser plugin. It all executes on the same VM.

You can't simply declare it off limits given the massive and repeated security issues surrounding it, combined with its ubiquity (especially for countries not ending in "America" - Clientside java is very popular in European banks.)


> If you're talking about Java, you're talking about the browser plugin. It all executes on the same VM.

I can't see how this makes any more sense than "If you're talking about Visual Studio, you're talking about Mac OS X. It all executes on the same processor." Yes, they both share the same underlying technology, but they are hardly indistiguishable — you can certainly talk about one without addressing the other. You could delete the browser plugin from every computer on the planet and it wouldn't make normal Java apps work any better or worse. The plugin depends on the Java platform, but the Java platform is not in any way dependent on the plugin.

> You can't simply declare it off limits given the massive and repeated security issues surrounding it

I'm not declaring it "off-limits" — I'm suggesting that it is irrelevant to the discussion here. Yes, there are security issues with it, but since nobody here is saying "I think the Java browser plugin is a boss idea," you're either arguing with nobody or trying to denigrate the JVM as a client and server technology based on the fact that it isn't suitable for embedding in a browser. I can't see any way that the Java plugin is really relevant. Similarly, if I went and wrote a terrible plugin to allow Ruby "applets," bringing up that plugin as a criticism of Ruby in other contexts would not be productive.


Please: it's some_other_crap.py.


Java bashing is the cool thing to do. And just to add more wood into the fire I'm gonna drop a quote from Larry Ellison himself that I think is spot on. He said something like the only industry more driven by fashion than fashion itself is IT.




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

Search: