Write once, debug everywhere.

Posted on:June 08 2005

Currently I'm struggling with a Java application which runs only almost everywhere. I understand why Java is a slow, memory swallowing language. (BTW: I mean, 512 MB to make a java text editor usable? A 3D world with millions of polygons displayed in realtime and written in C++ can fit into there, and it will run faster than that crappy Java IDE.)
Java compensates this with its "write once, run everywhere" paradigm. But it is really horrible if even this doesn't really work. The program our team is working on runs on all our machines. But, of course, not on the presentation PC. Ok - it runs, but it has slight differences: It doesn't show any icons.
Yeah, that's cool. I tried out nearly everything now, it looks like it is really the fault of the JRE. Who said that developing database frontend applications is boring. :)


About Java being slow, so slow... try this link, this is a port of the Quake 2 engine in Java : "www.bytonic.de/html/jake2.html":url.It has approx. the same speed as the original Java code. Of course to achieve this, they have to use a Java - OpenGL binding library, but still, it is not so bad. It is in 0.9.4 version now, I tried the previous on my PC, and I had no lag at all while playing (not top notch PC, bought it in end of 2000). Of course, Quake 2 is an old engine now, but still...
2005-06-09 01:35:00

Of, course, one should read : has approx. the same speed as the original C code.
2005-06-09 01:39:00

tbh, I dont think it counts if you write the most performance-intensive part of a 3D application (read: the rendering) in non-Java. With that workaround, its no wonder that it performs well.
2005-06-09 17:08:00

It's just the OpenGL binding (directing Java GL orders to the OpenGL API, all the engine is coded in Java.
2005-06-09 22:43:00

java's OO cleanliness and garbage collection does come at a rather high price, but for the OO purist, its the only way to go...
as for the write once run anywhere bit, I would make sure the jre on the PC it doesnt work on is installed properly, it certainly wont work right if the interpreter is broken....
2005-06-10 01:54:00

If you're an OO purist, use C#... Java and its "elemental datatypes" is about as pure as a muddy river...

@herve: The engine is the "quick" part of the game... the time consuming stuff is the rendering, which is done in non-Java. That was exactly my point...
2005-06-10 14:31:00

Add comment:

Posted by:

Enter the missing letter in: "Internati?nal"




Possible Codes

Feature Code
Link [url] www.example.com [/url]
Bold [b]bold text[/b]
Quote [quote]quoted text[/quote]
Code [code]source code[/code]