Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

why does java suck?

Name: Anonymous 2006-04-07 7:14

I've noticed in the short time I've been reading this board that there's a lot of java bashing, so I was wondering why people actually think it is so bad. I'm no java fan, but I've used it for some stuff before and it didn't seem terrible to me. An argument used to be that it runs slow as a guro-fied loli, but they've improved a lot in that aspect.

Please give good reasons, rather than stuff like "it's for certified professional consultants" or whatever you guys say.

Name: Anonymous 2006-04-29 23:45

Java is f'ing awesome.

1. Java has all the uml tools that you could want.
2. Tons of libraries and functions are available.
3. Everything has a pretty much standard form.
4. Works everywhere.
5. Can be compiled into a. bytecode b. Just In Time c. native code.
6. Easy to learn (1 caveat, takes writing a whole bunch of stuff before you can get to hello world and that turns some people off.)
7. Becoming a frickin' standard in the workplace and everywhere else.
8. Looks like C or C++ so everybody who programs in those catches on pretty quickly.

Speed wise, java is getting better. Just in time compiler makes things a bit faster. Will Java VM ever be as fast as native compiled? No. But, you can native compile java with gcj, eventually that will compile as fast to 'native code' as almost anything else.

Java is a damn good language. Programming is assembly is fun, but you don't do large projects in it. Programming in C can get to be a pain with memory problems. References are easier to program.

If you are going for all out speed, use C. No C++, just C. If you have to have the absolute best epeed, use assembly.

Java fits tons of niches and does a great job in being cross platform compatible. They made a few mistakes, true (like for instance their case-sensitivity *shiver*.) But, java is definately one of the best languages out there; it just isn't '1334'. Java bashing is a popular sport, but its silly. I'm far more productive in java than I am in C, and I don't have to worry about cross-compiler cross-platform problems.

Java is not a perfect language. But, give it time, It might just become the very best imperative language out there.

Two real concerns with the language:

1. Garbage collector = slow
I have no doubt that Sun follows a very minimalist scheme of trying to grab all the memory it can, rather than optimizing for speed. We need more options, like different vms. There are some open-source VMs out there but I haven't tested them.

2. Let me do my own memory management!
Let us turn off the frickin garbage collector and let us do our own frees. Seriously.

3. Case sensitivity annoying!
Case sensitivity is something for hungarian notation or a pretty printer to handle. Not for a programmer that has to hold down the damn shift key. That's also why I don't like languages that requires lots of %^&'s, because it is frickin hard to hit those keys. Sometimes you miss or it just slows you down alot, or even worse you have to concentrate on typing rather than coding. It's the same with the shift key, although not as bad. You have to press shift to get upper case (or use caps but that is only good for capitals right after another which java really doesn't do much) and it slows you down.


4. Tired of super huge typing requirements!
Everybody remembers ada 83. Every programmer hated it. The amount of typing required was ludicrous. The scheme for visual redundancy was enourmous. Clear code isn't worth that. Java requires such huge typing as well that I have always wondered why nobody has compared the two? Ironically, ada 2005 version is shaping up to be quite awesome, and if it actually got popular I'd probably switch to it, but nevertheless java takes quite a bit of typing.

5. They should have made a native compiler first and they should make the JIT compiler perfect.
Java has a rep for being slow? Why? Because everybody thinks of java as in terms of being interpreted. Byte code is a little faster than pure interpreted. Big deal. It's still way slower than native code. The JIT compiler is a neat idea, although it takes longer load times, but they need to get both working perfectly. Basically, if I had a choice, I'd JIT everything rather than using the VM, unless the program was really small and didn't use any resources at all.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List