I dislike dealing with the JVM as much as all the non-java programmers but this is trivial on Mac OS X + Linux and is what allows JetBrains to launch on virtually every platform from day 1.
On OSX the JRE installs on demand and requires very little from the user other than clicking OK and a password. On Linux package managers are there for you. In practice, I'd rather not have Java if I don't need it but it's fairly painless to get setup for this sort of thing.
Sidenote: JetBrains makes a great IDE, I always hear python programmers praising pycharm and java programmers praising intellij.
Though I don't personally have any problem with system Java installations, I agree that it would be nice if JetBrains would just do as most Java game developers (and many destop app developers) do and simply bundle a JRE with the IDE. It'd mean considerable bloat if you use many JetBrains IDEs (as opposed to just IDEA with plugins) of course, but would eliminate the "why do I need Java" complaint.
That, or Oracle could do the right thing and a) remove the crapware installation from the public JRE installer and b) fix the JRE updater to work as silently and smoothly as, say FireFox or Chrome updaters. The latter has gotten much better of late, but could still use improvement.
They could optionally ship the IDE with their own embedded JVM. I think that Eclipse does that (or maybe did, I did not check it recently).
I don't think it is necessarily worth the trouble though.
I seriously don't understand the "I hate Java" meme. My job and hobby languages are all JVM, front-end notwithstanding, but I cannot get a firm grasp on where the hate is coming from. This is about as sensible as me saying "I hate Python" or "I hate Ruby" so I will avoid installing it on my machine. It's just a language and a runtime.
If you don't like writing it or working in it, then sure, we all have opinions on what makes a language good. Not wanting to install a piece of software because it runs applications written in that language just strikes me as a bit silly.
Maybe I just have Stockholm Syndrome after all of these years.
People who aren't Java developers hate it because the JRE install is irritating as FUCK. The JDK is smooth sailing. Install, add JAVA_HOME, done. The JRE, on the other hand, pesters people to update once a week, adds a little tray icon, and installs the ASK toolbar by default. I'd always used the JDK, so I never noticed how gross it was until I installed the JRE for someone.
"This looks really different. Oh man it's asking you to auto-update. That's frustrating."
I'm not sure what you're trying to refute. I was (am) saying that installing the JDK is really pleasant and painless. Installing the JRE is gross for the average Windows user because of all the bullshit that Oracle stuffs in there.
I think that is a common trend with Windows software. I haven't used Windows close to a decade now but I remember the atrocious malwares shipped in form of toolbars on Windows very clearly. And probably that is what forced me to move to a better development platform that Linux is.
I don't hate Java. I hate the Java installer, and the update manager. I was hacked maybe a year or two ago browsing a normal website, it was Java. Java installs itself into your browser and makes you vulnerable to every web page you visit (edit: during an open window for exploitation in an outdated Java plugin). In reality, I now uninstall Java on my browser and to this day I have not been to a website that requires it, other than shady pop ups and shady websites.
There's also the update manager, I don't know why but Java feels the need to update every other day or week, and then on top of annoying you by prompting a UAC (yes I know I can disable these) they add a toolbar into every update / install process, sometimes you just miss those check boxes and then all of a sudden you have toolbar hell.
I love Java, I hate the installer and the updater. I also hate the JDK itself, it's a horrible mess, try switching to C# for a year, then go back to Java. You'll hate it. I still love the capabilities of Java, but it needs a overhaul on a lot of things.
That's Windows specific, I understand the frustation and I am sorry you have to live with that. Every time I boot back into Windows I get harassed by updates and reboots. I don't miss it.
The Ubuntu update dialog is unified and has zero risk of tricking less savvy users into installing spyware. I'm sure you've seen Windows machines with five different updaters popping up at boot, competing for attention (e.g. Flash, Java, Apple, MS Update, MS security alerts, etc.)
I'm actually not the one who made that comment. My mention of spyware was in reference to the Ask toolbar installed by the JRE on Windows. Installing such things is not a normal part of the Ubuntu update process.
I've mentioned elsewhere ( https://news.ycombinator.com/item?id=8285065 ) that I really don't mind Java, and FWIW I have liked the Jetbrains IDEs, but the consumer JRE installation and update process is really quite bothersome.
Why so many people hate Java ?
Let's start with the fact that it installs an auto-update system that tries everthing it can to trick you into installing adware (ask-bar).
in addition to aardvark179's tip of installing the JDK to not get the sponsor message, there's also a well hidden option in Java's Control Panel to prevent them from asking you to install the sponsor:
For me at least the main annoyance of using Java-based tools are issues like these: http://youtrack.jetbrains.com/issue/IDEA-57233 . Had to install a non-official patched JVM to get the fonts to look decent, when all the other applications on the system render fonts just fine.
That's exactly the reason I don't use Jetbrains' products (font rendering looks like crap in them on Linux) and stick with Eclipse. I installed the non-official patched JVM to get the font rendering to look good but I'm not going to depend on a product that requires me to tweak the JVM just to make the product look good. My ability to tweak the JVM might go away at any point since I can only patch OpenJDK and Jetbrains recommends the Oracle JDK. Then what? Suck it up and look at the ugly fonts? No, thanks! I'd rather use apps that use SWT and render fonts natively.
The couple of Swing apps I use are open source and if I'm sufficiently motivated to continue using them I can port them to SWT or find some other compromise. I wish more people would feel the same, then, maybe, Jetbrains would find a solution, but ,alas, it seems too few people care for Jetbrains to take notice.
Regrettably, fact of the matter is that fonts look bad on Java, particularly on Windows where Java-enabled programs are unable (for whatever reason) to leverage ClearType and thus get the antialiasing done just right.
To pick on Java is my point of contention. Every runtime has warts, If I did some digging I could find issues with any other environment. It just seems like folks pick on Java disproportionately. That might just be the HN echo chamber, but I don't see too many folks bitching about any other non-native runtime.
Part of my problem with Java tools is that I'm always on a laptop, often running on battery, and it seems like every single Java-based program on OS X just sits around using 3-5% of the CPU even when idle.
Well, that comes from the Garbage Collector, cleaning after all the programmers to lazy think about resource usage. But hey, never mention this when together with Java-developers, because saying something critical about garbage collection ist almost as bad as denying global warming.
Java programmers aren't too lazy to think about resource usage. They have just chosen to devote their intellectual resources to solving problems on a larger scale than memory management. This is a perfectly appropriate decision for a very large number of problem domains.
What? I may be wrong but I get a macho vibe from your comment. Men handle memory themselves.
Wise men choose the best tool and sometimes not having to bother too much about memory handling frees up a lot of mental bandwidth to deal with much bigger problems.
Indeed, one of my proudest projects was written with Swing using a better LAF and custom widgets. I'm primarily a web developer at present, prefer Ruby or C over Java, and would rather build GUIs in Qt, but I don't mind Swing.
The JRE is a really bad citizen on Windows, I gather. At least at some point, it actually shipped with toolbars! MacOS and Linux users don't have to deal with this.
i don't hate it but i understand that it adds one too many steps.
my code works on every platform actually out of the box. no installs necessary. i consider that important so i just can't use JVM in general unless i sacrifice that...
i usually get disbelief until it is seen, but all of my large non trivial projects build out of the box in one step and run with one click. i really value that.
that being said, all my android projects use a JVM in the end. :)
I don't hate Java. I have no experience in using it as a language, so I'm not qualified to comment in that regard. My point is that I would rather not have to install it simply to use this tool.
Its like having to install Ruby simply because these a single Gem that you want to install and there is no other way to go about it, even if you never use Ruby for any other purpose. More of an annoyance than anything else.
Think of it this way: If there weren't licensing issues, they would probably just package it into the IDE distro, and you'd still be "installing" it on your system, you just wouldn't know about it..
On OSX the JRE installs on demand and requires very little from the user other than clicking OK and a password. On Linux package managers are there for you. In practice, I'd rather not have Java if I don't need it but it's fairly painless to get setup for this sort of thing.
Sidenote: JetBrains makes a great IDE, I always hear python programmers praising pycharm and java programmers praising intellij.