Join 149,499 Programmers for FREE! Get instant access to thousands of experts, tutorials, code snippets, and more! There are 1,384 people online right now. Registration is fast and FREE... Join Now!
Well I have to respectfully disagree with Nova there. It is true that you can do "graphics" is a number of languages. However, not all of these are very good at it. VB6 is slow (can really speak for VB.NET), you can do great work in VB, but you will never get blazing speeds... the same can be said for Java (though I have seen more and more effort in that direction).
Once upon a time graphics programming was Asm and C. For a while things became complicated as the hardware became more and more specialized. Now things are begining to calm down with ATI and GForce defining the standards. Now DirectX and OpenGL provide interfaces that most graphics programming can use to get the job done.
I would say that C/C++ are the way to go. The C/C++ interface to both DirectX and OpenGL are not TOO difficult to learn. While still being low-level enough to provide access directly to the card drivers and hardware.
I should note that I am a graphics "hobbyist" and spend more time tinkering than writing actual applications.
Jake2, a Java-based port of Quake2...clearly the "Java is slow" crowd is now quickly being out-numbered. Reality is that the new Java games are putting an end to these out-dated beliefs.
I wouldn't say that java is getting faster/more efficient. I would say that hardware is faster. On a slower computer (say PIII or older) I would expect C to outperform java
I wouldn't say that java is getting faster/more efficient. I would say that hardware is faster. On a slower computer (say PIII or older) I would expect C to outperform java
most definatly C should and will out perform java in almost every aspect, but the question arises... Is java fast enough? it just might be. With options of threading and thus pipelining processes in java are getting better.
I wouldn't say that java is getting faster/more efficient....
What leads you to that conclusion? Are you involved in JVM development? Just curious. Here's an article, published by IBM in 2005 that may provide information of which you were not aware. http://www-128.ibm.com/developerworks/java...j-jtp09275.html
Java is getting faster, and not because of the hardware it runs on is faster. Teh JVM is optimized in many ways, a good bunch of C/C++ experts work on it. Just have a look at 1.5 vs 1.4. Runtime optimization also has many advantages. The compilers are getting smarter. Just have a look at the bytecode, and you'll see, that it makes really smart optimizations. Finally, hardware really matters, but in a different way: even ARM processors natively support over 90% of the java opcodes, so running java bytecode is not much different for them, than running native applications. I am not telling that Java will beat C/C++ performancewise, but if used well, the overhead it has can be neglected by debugging and developing cost and time, thus the final products will end up with similar charactersitics.
What leads you to that conclusion? Are you involved in JVM development? Just curious. Here's an article, published by IBM in 2005 that may provide information of which you were not aware. http://www-128.ibm.com/developerworks/java...j-jtp09275.html
Unless I'm mistaken, IBM wasn't involved with JVM development in 2005 either. Also, one of my biggest gripes about Java is that Sun is constantly changing the class libraries. Some old code isn't completely obsolete, but compiles with warnings. In some of the older books I've looked at, the code examples will not compile properly at all. I like Java, and it is the language with which i am best, but it has its problems.
What leads you to that conclusion? Are you involved in JVM development? Just curious. Here's an article, published by IBM in 2005 that may provide information of which you were not aware. http://www-128.ibm.com/developerworks/java...j-jtp09275.html
Unless I'm mistaken, IBM wasn't involved with JVM development in 2005 either. Also, one of my biggest gripes about Java is that Sun is constantly changing the class libraries. Some old code isn't completely obsolete, but compiles with warnings. In some of the older books I've looked at, the code examples will not compile properly at all. I like Java, and it is the language with which i am best, but it has its problems.
I'm not sure if IBM was involved with JVM development, but they did have information to back up their conclusion. That's really all I was saying. If you make a sweeping public statement like that, without any explanation, then you can bet that someone is going to be curious enough ask you why you believe what you do.
One one hand, the changing API can be a pain sometimes. I had an RSS reader app that I wrote in 1.5, but had errors in 1.6. But Sun usually deprecates methods a version or two before removing them (not sure how long). On the other hand, I want a programming language that is cutting edge. If that means occasionally having to retrofit my old apps to work with new version, then I suppose that's the price of progress if you want to think of it that way. It's also not that difficult to distribute a pared-down version of an old JVM with an app, so there are ways around it.