Post a Comment
What are you on about?
its not an article its a news post which refers to the library reaching version 1.0 yesterday(at the time of this reply). Just shows that you didn't read what was on the link before flaming it based on an out of date, decade old argument.
As for being light and fast for gaming, Java is perfectly capable nowadays.
Edited 2007-02-05 18:58
Actually, I did read the article, the 55 days thing was a lame attampt at a joke (see: http://en.wikipedia.org/wiki/Joke).
I keep being told so, so I tried out Jedit again today. Once it's started up, it's not too bad, but then I noticed that it runs at system startup, meaning that the Java VM is in memory all the time. So I killed the VM and suddenly Jedit it took quite a while to start up.
Likewise, I downloaded one of the LWJGL projects (Diamond Crush) to try out. This thing was a simple tetris-style game, but took a similar time to start up as Counter-Strike, for a tetris game!
how about your try some of the better LWJGL projects like Tribal Trouble, and see how performance can be up to par with other native languages. Rather than trying just one odd game and basing your opinion on that. You can also try Titan Attacks which was a winner in multiple indie game awards last year.
Also i recommend you try out http://www.tiltilation.com for yet another example of a great java game using LWJGL, this one has been compiled with GCJ, so its completely native with no jre.
Edited 2007-02-05 20:44
I'm actually downloading TT and Devastro as we speak.
It's amazing how one tongue-in-cheek post can cause so much heat. This level of defensiveness is usually an indication of a certain ammount of insecurity about the point being defended, of course in this issue, I'm sure that that isn't the case. :p
Of course, it should be noted that if simple C programs had to bring into memory the whole C runtime each time (about 12MB on my machine), they'd take a while to load too. Java has the misfortune of dealing with OSs that are geared towards, at the linking and loading level, programs that look like the output of a C compiler.
In a Java OS, you'd do thinks differently, and buy back a lot of performance in return. For example, since you need the compiler around anyway, you don't need fancy conventions for shared libraries in order to get around the fact that you can't recompile the code. You can simply cache the results of a JIT, updating the code when a library is installed or upgraded. That'd actually end up being faster than the system traditional OSs use now, because you wouldn't need to perform shared symbol resolution at program load-time (just at JIT-time), and you wouldn't need position-independent code.
Lightweight in this context means that there aren't things like scenegraph libs or object loaders.
Java has quite a big memory footprint and the way the garbage collector is specified without any guarantees is a little bit disturbing.
But that doesn't mean you can't write games with it that will perform ok on avarage Hardware. The Java port of Quake 2 runs fine on an 400 MHz PC and that overhead isn't going to grow linear, so you could do Quake 3 quite probably on 500-600 MHz P3 with 128MB Ram (if you are using an adequate Operating System for that kind of Hardware, not if you run Vista on that kind of Box).
So please, don't flame around if you don't know what you are talking about.
I prefer other languages. I'm not a Java groupie but i am a proud owner of a thing called "brain" and thus capable of independent thought and don't have to rely on stupid second hand forum-bullshit.
Repeating useless prejudice isn't the definition of truth.
There are reasons that go against Java and there are reasons for Java, but that "Java is to slow" thing isn't valid anymore.
Wow Alle, put some hair-gel in those hackles. T'was only meant as a light jibe.
stupid second hand forum-bullshit
...However, isn't what I was basing my comments on. My opinion on Java programs is formed from actually using them a year or so ago, Eclipse and Jedit most notably. The performance of both of these sucked terribly when I tried to use them regularly and thus have tended to avoid java programs as much as possible since.
Now if things have changed (as it appears they have) since then, (Although I still won't bother with Eclipse) then I'm happy to stand corrected by anyone who is willing to reasonably argue their point, as has been elsewhere.
Check out these lwjgl games to see some of the library's capabilities:
http://puppygames.net/
http://oddlabs.com/
http://lwjgl.org/projects.php
Even with the more than acceptable java performance these days I would still deride the use of the term, "lightweight", whenever you have the runtime equivalent of an elephant hiding behind the curtain. Granted it may mean something else in this context but they should have come up with a better description.
Of course, "lightweight" cannot really be applied to C/C++ either. Besides the multi-megabyte libc that everyone takes for granted, there is also the virtual memory system, which takes up tens of MBs in the form of complex VM code, physical page arrays, and page tables, all the while imposing a substantial performance overhead in the form of page table lookups, TLB flushes, etc. These are of course not strictly necessary to run C code, but are practically necessary in modern environments where it's not acceptable for user processes to randomly read and write each other's memory.
Java code, which is safe by nature, could do quite happily without this memory-hogging infrastructure 
Try it out yourself before groundlessly picking at Java:
http://bytonic.de/html/jake2.html
I'm downloading the Java implementation of the Quake 2 engine to test it out. After having spent some time with Java devs talking about performance I'm very interested in seeing if their is any over head at all these days.
I know that many games development houses still swear by C/C++ but many developers, not only Java developers, I have spoken to seem to think that latetly, the pros are outweighing the cons.
Now if I could only get a copy of the original Quake 2 to do some benchmarks...
Anybody else tried this yet?







.