Page 1 of 1

A Netbeans Rant

Posted: Wed Oct 24, 2007 10:41 pm
by BlackHole
Java sucks. And I don't mean it just sucks because I don't like it, I mean it downright, undeniably sucks. The language itself is demeaning, a slow pile of crap that runs about as fast as an obese cat. It’s stupid interpreter takes up about that much memory too. Then you get into totally useless, stupid roundabout ways of doing things that are at least as bad, if not worse than, the .net framework. I still can't believe I have to create an array using some obscure java.lang.Integer line instead of just putting int. Someone tell me why I have to write Boolean instead of just bool? It’s unnecessary and stupid.

One of my most fervent complaints about the language is the complete IDIOCY of its compiler. I DO NOT CARE if there is loss of precision and I should NOT have to cast it. In C++, the compiler warns me about precision loss, but it doesn't treat it as a goddamned error! Whoever coded that into Java should be shot and hanged.

Even so, the worst aspect of Java is its joke of an IDE. I start up the IDE and it takes a good 20 seconds on the school computer to start up, while doing all sorts of crazy initialization crap. On the flipside, Visual Studio starts up in 5 seconds. Then, I go to open the project folder, and I have to do some special crap because sun doesn't like a '-' in the file path. For that matter, why in the hell is java opening project folders? I'm a programmer, and I know that it’s not very hard to do what visual studio did - have a project file that references all the other files, which doesn't force a folder structure on the programmer and is far, far better. I also want to know what the hell Java is doing with all those XML files and project files and everything under the sun you can think of. Visual studio only requires a project file and some source files. Java requires around 3 different files for every single source file you have, plus some more useless crap.

Now we finally get into code editing, except if I want to create a class I have to go pick a funky "package" thing, and decide between "test" and "source," which are not only totally redundant and useless, but a total waste of space. Then it comes up with the stupid requirement of having only one class in each file and requiring the file to mirror the name of the class. Its good coding practice, but it doesn't allow for special instances and its a stupid requirement that should be removed.

Can I start coding now? I can try, and wrestle with Sun's abhorrent inteli-sense implementation. From the outset, sun is inserting things where I don't want them to be inserted, not inserting things when I want them to be inserted, and in general being a total pain in the ass instead of making my life easier. Its boxes also have a nasty habit of NOT CLOSING, until I click around about 10 times. It doesn't display an argument list in many circumstances, and when it does present an argument list, it only gives you the argument types, without actually giving you the names of the variables. Oh wow, that’s so helpful. Not.

The IDE is such a piece of s###, I noticed that it tried to be helpful by adding in an additional ' when I typed one in a comment. That’s right, it can't even tell whether or not you’re writing a comment or not. This is called lazy programming from hell. Its errors are often cascading, making no sense whatsoever. At one point, it wanted two semicolons on the end of statement, except the error above it had nothing to do with a semicolon...?

So once I'm done causing pain to myself and trying to get this dumb thing to work properly, I save and close the IDE, which then writes the class paths to persistent storage? Sun, what the HELL are you DOING?! I could write my program in C++ faster than Java, and port it over to wherever I wanted.

In fact, I haven't been able to figure out why any sane person would use Java. It’s the slowest thing on the planet, being essentially an interpreted language, its bulky as hell, it requires a stupid Java runtime environment that advertises Open Office every time it wants to update, its functionally inferior to C#, Visual Basic, C/C++, PHP, and Python, and its IDE has more problems than you can shake a debugging stick at.

The only reason anyone would want to use Java instead of some vastly superior language (which is pretty much anything that’s not Java) would be so it works on anything. You know what people? Learn C++, and manually port your C++ program to whatever platform you want to use it on. It'll take less time than trying to deal with Java's idiocy. Heck, code it in D if you want, that can import C libraries and headers, and thus can work on any platform that C++ can work on, which is... anything! Plus, you get a free bonus - your program will run 50 times faster!

Java sucks and is a sin against nature. Burn it.

Posted: Thu Oct 25, 2007 1:22 am
by d3jake
Heh, normally manually porting C++ means passing a different commandline option to the compiler if you use the right library =P But at least I know the full length to your rant...

Posted: Thu Oct 25, 2007 10:01 am
by aldo
Your primary points are IDE moans, not language moans; use Eclipse, which removes pretty much every single one of those complains (in fact, why the hell are you using Netbeans? I've never met anyone who uses that before).

Also, you don't need to use java.lang.Integer to create an array - I have no idea where you get that from. There is also no single-class-in-file restriction (a quick peek at, say, some autogenerated web service stubs will show this - I have one on my desk right now with approx 8 inner classes).

The functionally inferior thing is a blatant exaggeration; it's a horses for courses language like all other languages, and if you're finding it insufficient for a task after considering the alternatives then either a) you didn't design properly or b) you didn't code properly.

Just because Java is VM based and OO doesn't mean you can't optimize it, so don't go assuming speed issues are the language overhead; it seems that people are all too keen to ignore the requirements to optimize and make 'it's not C++ ergo slow' type excuses when it comes to Java.

I have the advantage of working with some of the best in the business (I'm a very small part of a very succesfull team at one of the biggest businesses in the world), y'see, so I've seen the capabilities of the language in professional hands. And 95% of the people here were brought up on C/C++, including work writing router OS', and do you know how many b**ch about Java? None.

Posted: Thu Oct 25, 2007 4:14 pm
by karajorma
aldo wrote:Also, you don't need to use java.lang.Integer to create an array - I have no idea where you get that from.

It's probably a corruption of having to use Objects in a collection class. And it's not like you can't get around that if you're using a reasonably modern version of Java.
and do you know how many b**ch about Java? None.
Bitching about Java is quite funny cause it's always about the inapplicability of Java for big businesses. Usually by someone who has never touched EE in the first place.

Posted: Thu Oct 25, 2007 8:16 pm
by ghhyrd
Java sucks man.

Posted: Thu Oct 25, 2007 10:30 pm
by d3jake
Does Eclipse have a WIndows port I assume?

Posted: Thu Oct 25, 2007 11:22 pm
by aldo
d3jake wrote:Does Eclipse have a WIndows port I assume?
Eclipse is multi-platform; it's written mostly in Java.

Posted: Thu Oct 25, 2007 11:44 pm
by d3jake
And if I recall correctly it does C++ too? forget this, I'll jut use the almighty google...

Posted: Thu Oct 25, 2007 11:48 pm
by aldo
d3jake wrote:And if I recall correctly it does C++ too? forget this, I'll jut use the almighty google...
There's an extension for C++ support, yeah. Never used it, so not sure how good it is.