[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: [pygame] man oh man Java is painful



On Thu, Nov 3, 2011 at 10:16 AM, James Paige <Bob@xxxxxxxxxxxxxxxxxxx> wrote:
On Thu, Nov 03, 2011 at 01:11:08PM -0300, Sean Wolfe wrote:
> really excited just from a religious standpoint... I mean how many
> cool games have been made with Java? ...none?

Minecraft.

But that is the only one I can think of!

Also, I understand that the Android port of Minecraft is NOT the Java
version, it is mostly re-written in C, so I guess this is the exception
that proves the rule :)
I might argue that part of the reason for the fact that there are few is that Java encourages lazy programming--which is one reason why it has become so popular.  You don't need to think about pointers and array lengths and memory allocation like you do in C, and you don't need to think about dynamic types and efficiency and elegance like you do in Python.  

The plain fact is that Java makes it easy to (start) doing whatever you want.  On the one hand, good--but on the other, you get a massive amount of garbage code from people who don't know what they're doing.  Even if you do know what you're doing, it's easy to get lazy--and it takes actual effort to avoid code bloat.  When I am forced to use Java, I often find myself doing the easy thing instead of the right thing, despite myself.  

Java's "revolutionary" JavaDoc is actually necessary because Java code tends to get so messy that its incomprehensible to everyone--even the original authors.  The reason there are no big games written in Java is because it takes a huge team of people to get any big project even working in Java.  Furthermore, making successful games requires effort and thought--and those who prefer using Java tend to prefer being lazy.  

Game companies hire competent, successful programmers who can't afford to sacrifice code readability for effort.  It follows that Java is unpopular.  Minecraft (in its initial incarnation) was falling-down simple, and it took an experienced programmer to make it.  The game is getting more sophisticated, but then, there have been a number of people working in it for years.  Think about it: a character walks around with some tools, and removes and places little cubes.  Fun, maybe, but sophisticated?  Not so much.

Ian