A Netbeans Rant
Posted: Wed Oct 24, 2007 10:41 pm
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.
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.