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-07 7:30

Just read the board man. This thread is trollbait.

Name: Anonymous 2006-04-07 7:33

>>1
Just to make it quick:
- Half assed OO approach (no multiple inheritance, no operator overloading, ...)
- No structured programming support
- Verbose syntax
- Shitty lists compared to other modern languages
- Anal typing

and most of all...

- An insane, overgeneralised, overengineered, blOOated, terrible API that manages to make the simplest things require the usage of a factory class to create an object which works with a new buffer object which requires a printer object which implements- shit sux fag. Argh, how I hate this bullshit. The Java API is shit. Try doing anything serious with it. You'll find you have to instantiate several classes of insanity and read the docs for 15 minutes while walking through a mile of hierarchical insanity just for the simplest of things. Sure, the API implements quite a bit of stuff. But it does so so BADLY, you'll want to do all that by hand if you can.

Name: Anonymous 2006-04-07 7:35

>>2
Also, it's for certified Sun professional consultants who always produce the best quality enterprise business software based on industry standard best practices and XML.

Oh, and I almost forgot:
- PHP, Python, Perl, Ruby, and many other languages and APIs are about 5 to 10 times more productive. No exaggerating here, these are the lowest estimations of my company.

Name: Anonymous 2006-04-07 8:09

>>3
What is structured programming support?

Name: Anonymous 2006-04-07 8:40

But it does so so BADLY, you'll want to do all that by hand if you can.

Hahaha, fucking signed.

Name: Anonymous 2006-04-07 9:41

>>5
Functions. sin is a function. Factories are functions. Some stuff are naturally functions and thus better modelled with functions.

Name: Anonymous 2006-04-08 9:19 (sage)

>>3
You forgot the current holy grail fad of Java, SPRING!!!
YES!!! Now, you, too can replace 10 lines of Java with 100 lines of unintelligeble and unmanageable XML goop!!!!!

Name: Anonymous 2006-04-08 14:03

>>8

hahah i use a full blown spring hibernate combo. it actually it's pretty good in terms of connection & db pooling. stateless beans and db data modeling.  if you're just writing hello world -ish programs, of course php or pearl is better. but if you want to use appservers over 1000+ connections and wanna manage the sockets/threads and failure means costing your company money, yeah, use java. they've done it to bits. couple it try using php for db connection pooling assholes. you kids have no idea. i'm not even going to bother explaining why 100 lines of xml goop will save you at least twice that amount of self-written, unreliable code. try impl your business logic just using servlet whilst ensuring that the entire process is threadsafe mutually exclusive.

Name: Anonymous 2006-04-08 14:05

i'm >>9. just to reiterate. no single programming language sucks it all serve some purpose. those who dismisses java will never build anything awesome/fun/exciting. real c programmers know better. there is a time and place for everything.

Name: Anonymous 2006-04-08 14:40

those who dismisses java will never build anything awesome/fun/exciting

I loled.

Name: Anonymous 2006-04-08 15:21

>>9
>>10
I totally agree. You should also consider learning english. It's a language that has a time and a place.

Name: Anonymous 2006-04-09 4:08

| try impl your business logic just using servlet whilst ensuring that the entire process is threadsafe mutually exclusive.

We're not stupid, that's why we don't like Java. We don't fall for stupid artifically created problems that Java makes. This is Java:
A poor man comes to the rabbi complaining that his family has only one small room, many kids, and almost no money.

The rabbi says, "Take all your money, buy a goat, and keep the goat in your room. Come back in a month."

"But, rabbi, we don't have enough space even for us," the man said

"Just do what I say," the rabbi replied.

A month later the man comes back complaining that the goat smells and breaks everything.

"Sell the goat and come back in a month," the rabbi tells him.

A month later the man comes back to the rabbi with flowers. "Thank you, rabbi! We're so happy the goat is out, now we have more room and some money!"

Name: Anonymous 2006-04-09 4:40

fair enough, >>13, but there are a couple instances where java can be handy.  Nothing serious, but things like ourtunes where it doesn't need amazing performance to download some music.  Things you don't leave open for significant amounts of time.  A torrent client is taking it too far.  Business-class software is a horrible idea.  But small things?  Sure.  Saves people the trouble of porting it to *nix, a common concern for software built on a Windows platform (See: dbPowerAMP, dvdshrink, Musicbrainz Tagger (Though you'd never want to write these in java, to be sure))

Name: Anonymous 2006-04-09 15:19

>>8
If we count I already replaced 1 line of Python with 10 lines of Java... we get my 80 line program ends up being 8000 lines. Javurrrrrrrrr

>>9
failure means costing your company money, yeah, use java.
If costing your company money matters, don't use Java, unless you want to sabotage it.

>>10
those who dismisses java will never build anything awesome/fun/exciting
If you need Java to build something awesome/fun/exciting, then you have a different concept of what's awesome, fun and exciting.

real c programmers know better
Real C programmers are just as pissed at Java as we are.

>>14
Nothing serious, but things like ourtunes where it doesn't need amazing performance to download some music.  Things you don't leave open for significant amounts of time.
The fact Java sucks less at these doesn't mean it's better than everything else. In these cases, you would have done much better with other languages.

But small things?  Sure.  Saves people the trouble of porting it to *nix
Hi2u, ever heard of Python, Ruby, PHP, or Perl?
P.S.: They are usually more portable than Java.

Name: PPie 2006-04-10 13:18

First of all the big beef programmers have with Java is that it runs on a VM. Yes, the thought of cross platform language is nice, however it doesn't have too much use when it comes to commerical applications or games seeing as everything is emulated. (Even today some 64 games can't be emulated quickly, and those emus were probably written in C\C++)

Second IMO is the lack of pointers, java internally uses pointers however unless the programmer can use them they can't access the power they give. If you're used to programming in C you would know how powerful pointers can be, not just for passing parameters but many other things as well.

Third that relates to #2, the File IO is a piece of shit. They should scrap it and start over. Because Java is a massive blob of inheritance doing a low level copy of data is impossible. So your objects have to be serialized before they can be written to any file. Depending on how this is done I can or can't be a chore. But take it to concideration that C has 5 functions that can do anything you need fopen, fclose, fseek, fread, fwrite.

The fourth is a personal vandetta, I dislike the GUI design the most. It's not difficult setup, sometimes it can be, but it's more long and boring.


Really the only plus to Java besides being cross platform is that it teaches basic concepts of programming quickly. Other then that it's a C++ rip off with no pointers and garbage collection.

Name: Anonymous 2006-04-10 13:37

>>16 has chosen all the wrong reasons to hate Java.

Name: Anonymous 2006-04-10 14:02

>>16
If you hate java because it runs on a VM, you're probably as big a bigot as those that populate java.net

Name: PPie 2006-04-10 14:25

>>17

I almost forgot there were right reasons to hate Java. To be fair, Java is easy to program in. It does take up less time then usual, however it's a complete trade off. If you give up time, you give up flexability and preformance. Java VM is written in C, so I think C\C++ is a good reference point for bias. Seeing as that Java's purpose was to be a crossplatform language designed to fix the problems both C\C++ had. (Essentially reducing flexability)

I remember when the internet was first starting to become more graphic and applets started popping up, now those things are normally done in flash. It's been a while since I've seen a website use a java applet.

Application design, yes. It is easy to make a small application, and there are a few that use Java. Azerus is a good one. It's nice that it's cross platform, but it under preforms when compared to others written in Python or C\C++. (I switched from Azerus to BitCommet, now I can handle 20 torrents with 100 connections each, as opposed to 3 torrents with 100 connections.) Is there many commerical applications written in Java? Most users I would say run a windows system, and with the .NET interface it makes it as easy to program in it as Java (maybe more).

Game design. Java does make it easier to devolope 3D applications then if you were to write them in another language. However making something like that easier (In Java3Ds case) restricts the devoloper from accessing low level functions. Not that this matters a whole lot, it's just a bit restrictive if you like flexability with a graphics API.

The only reason I see Java being taught is to quickly boost someone who doesn't understand programming well to a state where they understand basic concepts. It's easy to setup, it's easy to compile and run. You don't have to deal with nasty memory leaks or crashes (well, you do if you don't check your exceptions). It takes less time because it's a high level language and you don't have to deal with pointers, which is a godsend for some first year students at University.

Name: PPie 2006-04-10 14:28

>>18

java.net? I don't visit java.net, or any other Java site. I just use it for classes, the only other place I get resources for java is the API docs. I'm not a bigot, I could tell you the same for VB since it runs bytecode as well.

The guy wanted reasons why people don't like, or could not like Java.

Name: Anonymous 2006-04-10 14:45

>>19
| Java is easy to program in. It does take up less time then usual
| Java does make it easier

You see, there's the problem. It's all theory that doesn't stand up in the real world, the very fundamental reason for Java sucking. Java makes everything convoluted and should be banned from education for giving students misleading impressions. If they don't understand the basic concepts, they should start with C so they learn not to go around shooting and blowing off their foot and everyone else's on every line. If you're only after teaching concepts, there are far better languages than Java.

Name: Anonymous 2006-04-10 14:58

To be fair, Java is easy to program in. It does take up less time then usual,

No. No no no no. No.

Name: PPie 2006-04-10 15:00

>>21
If I were starting again the last thing I would like to start with is objects. I remember my first Java class, the professor in order to teach the students bent the truth about how to programming, only to fix himself later when the students understood enough to grasp the concepts. I remember shaking my head during that class a lot.

I'm going to have to at the same time agree and disagree. Yes, it is all theory but you shouldn't mix up theory and syntax. Polymorphism is theory, and it doesn't change from language to language. What does change is the syntax. The graphics setup is hidden, which makes it easier for the user to interface with it. This is a shady spot of Java, you can't really gain any understanding of how graphics works with high level access.

Name: Anonymous 2006-04-10 15:59

>>19
Java sucks if you do any serious game programming. Or serious programming on a whole for that matter. It's shitty memory management makes it a horrible choice for everything but web programming.

Name: Anonymous 2006-04-10 19:29

However making something like that easier (In Java3Ds case)

I just want the world to know that I think Java3D sucks. It really, really stinks. If you're looking for a scene graph, look elsewhere.

Name: Anonymous 2006-04-10 19:52

>>24
It's really a bad choice for web programming too

Name: Anonymous 2006-04-10 20:10

>>16
it doesn't have too much use when it comes to commerical applications or games seeing as everything is emulated. (Even today some 64 games can't be emulated quickly, and those emus were probably written in C\C++)
Uh, no, there's a bit difference between console emulators and the Java VM. Java doesn't suck beacause of the VM. There are slower, interpreted languages that don't suck, while Java sucks even if it outperforms them sometimes.

lack of pointers
You only deal with them in low-level programming languages, not high level ones.

File IO is a piece of shit
Agree. Just all IO and string manipulation is a piece of shit in the Java API.

I dislike the GUI design the most
You mean Swing?

it teaches basic concepts of programming quickly
I would never teach Java to my kids. I'd start with a simple language like Pascal, then move to C ASAP, and once they understand how things work in low level, I'd build higher level, high productivity languages on top: modern scripting languages and functional languages. I would never teach Java to a student, unless I hated him/her.


>>19
To be fair, Java is easy to program in.
No. It's a pain in the arse.

It does take up less time then usual
You sure about that?

Is there many commerical applications written in Java?
Unfortunately, a good part of paid software today is written in Java because the assholes who decide what technologies to use have no fucking idea and read Java's the best practice industry standard in some magazine.

Most users I would say run a windows system
They do, but in some companies they don't. And don't forget server software.

the .NET interface it makes it as easy to program in it as Java (maybe more).
Well, that's not saying much of .NET.

Game design. Java does make it easier to devolope 3D applications then if you were to write them in another language.
Out of all the things you can make in Java, 3D games will suck the most.

The only reason I see Java being taught is to quickly boost someone who doesn't understand programming well to a state where they understand basic concepts.
They teach Java to people who don't have a fucking idea about programming, then have them write serious software, and that adds to the lameness of the results. The code, if it ever works, is made of failed coder and shitty API. And most of the times these "Java coders" are involved, the project is eventually cancelled for one reason or another, or reassigned to programmers before it's to late.

It's easy to setup, it's easy to compile and run.
Most moden scripting languages are even easier: they don't need to be compiled.

You don't have to deal with nasty memory leaks or crashes
Crashes will always happen, one way or another. Trapping all exceptions and popping up a message box in the end that reads "Error: fail" is just as bad as a crash. Exceptions aren't an automagical way to get rid of programming errors. In fact, they require a more experienced coder to be used properly.

It takes less time because it's a high level language
It takes more time than anything else because it blows. It's a mid level language at best, with a pathetic API that offers high level functionality in theory, but often makes you work for it worse than if you coded what you wanted from scratch.

Name: Anonymous 2006-04-10 21:14

There's a java programmer, and then there's a programmer,

Name: Anonymous 2006-04-11 4:03

The reason Java sucks is because it supports pointers... NULL pointers.

Name: Anonymous 2006-04-11 7:24 (sage)

Hear ye hear ye, null pointer exceptions should be banned from the world

That means you're fucking OUT jaba, you hear me you fucker?!

Name: Anonymous 2006-04-11 7:26

So what should happen if you try to call a method from a null variable, smartasses?

Foo bar = null;
bar.baz(); //oh shi-

Name: Anonymous 2006-04-11 7:42

The same thing that happens in Objective-C. Nothing at all.

Name: Anonymous 2006-04-11 8:22

>>> i=None
>>> i.lol()
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
AttributeError: 'NoneType' object has no attribute 'lol'

It's understandable. The weird thing would be that it worked.

Name: Anonymous 2006-04-11 8:34

>>30
jaba the hut?

Name: Anonymous 2006-04-11 12:08

>>31
raise NoMethodError.new("undefined method `baz' for nil:NilClass")

Name: Anonymous 2006-04-11 16:33

>>23
What? Learning theory is all fine and good, It's the theory that Java is useful that doesn't quite stand up in the real world.

Name: Anonymous 2006-04-13 1:35

>>36
what is the real world then smartass? business apps not real world enough for ya?

Name: Anonymous 2006-04-13 3:39

>>37
Don't you mean ENTERPRISE?

Name: Anonymous 2006-04-13 4:05

NEED MORE ENTERPRISE

Name: Anonymous 2006-04-13 6:43

ENTERPRISEY

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