If you ever wanted a reason to use a modern langauge...

Severance: Blade Of Darkness - that was it!

Well, I have a different experience. In my view Java hasn’t been quite up to it until version 1.5. Almost (read version 1.4) really isn’t an option when it comes to cut-throat competition.

With the version 6 improvements I’d say Java finally is at par with C++. Then you’ll have to add another 5 years to overcome the hype “stigma”. Let’s say around 2010 it will be generally recognized that Java isn’t such a bad alternative after all.

Schhh. I felt I had to throw in a mine. :wink:

Well what we really are discussing is runtime systems and not programming languages per se. We’re not discussing the relative merits of C++ versus Java as languages. We’re discussing their implicit runtime systems; static compiling for C++ and dynamic compiling for Java.

So the real question is: What’s better for a certain application? Static or dynamic compilation?

Well as I suggested to Jeff. Why don’t you beam yourself down from the mothership once in a while and find out?

C++ is just a transition language. Once it has done it’s job it should go away and make room for a better designed and modern language like C# or Java whatever wins the competition. Microsoft only keeps C++ to soften the transition and because a C compiler is necessary for some programming tasks like kernel and os programming and device driver critical code. The problem with .NET is that it is not even close to the quality of the java vm. Im sure you can google and find plenty of good examples from sites that are not completely biased.

Err … no. With all the links that have been posted here i wonder why you still think that way. The only thing Java gaming needs is a game similar to Doom3 or the last Quake that uses the tech everyone is talking about at the moment like dynamic soft shadows, hdr and shaders in everything. Just shove it in the face of the sceptics who only believe when they see it. It doesn’t even have to be a great game. Doom3 was as much a game as an interactive becnhmark can be called a game. People don’t really care much about gameplay in the game business.

I beg to disagree as it’s politely called :wink:

As I’ve stated in another post in this thread, It’s not as much about languages as it is about runtime systems. Dynamic compilation will need static compilation forever. That’s why C++ will never go away. Both Java and C# build on its powers.

What I’m saying here really is that sometimes it’s better to use C++ directly than it is to use it via Java or C#.

That was the runtime story. From a pure language perspective you have much more options in C++ than in the more restrictive Java. But sometimes of course the Java restrictions can be thought of as an advantage.

Alright .uj here is the question that I was kind of circling around previously.

Can you name a game that is more fun because it was written in C++?

Well the funniest game I’ve ever played is Lemmings and I don’t know what language it was written in, probably C. ;D

But given a choise between nimble Lemmings and quirky Lemmings I probably would have chosen the nimble Lemmings. Why would anybody chose the quirky Lemmings?

Though I have no clue what the truth is, I suspect Lemmings was done in assembler.

Anyway, .uj, you say you are playing devil’s advocate… do you have any good arguments? 'cause everything you have come up with so far is crap.

So far the only argument that anyone hasn’t totaly demolished is that lack of deployment possibilities on consoles. Java simply isn’t een available in that space at the moment,so if you intend to produce titles for the consoles, you can’t do it effectively with Java.

I haven’t seen any other valid reasons to choose some other language over Java… other than personal preferences that is. So I’ll rephrase that, I haven’t seen any other valid technical limitation that has any noteable effect in the real world. And keep in mind the productivity benefits of Java (that are well known now and therefore not in dispute).

Well isn’t that something to think about. If Lemmings was programmed in assembly and not in C, it’s like today really. You expect games to be programmed in Java but in reality they’re programmed in C++. ;D

So Java has a problem with deployment right. Isn’t that a strange limitation for a run-anywhere language like Java? ;D

Not really. When Lemmings was written C++ wasn’t available and neither was Java. Game coders were still coming from an era where even C compilers were rare (e.g. codeing on Commodore 64s). The operating systems of the day had almost NO support for graphcis and sound… you had to code DIRECTLY to the hardware by poking registers. In effect you had to write a device driver every time you wrote a video game.

Java is not designed to write device drivers. That’s something it isn’t even supposed to be good at. C and C++ WERE designed to interface DIRECTLY with hardware,and therefore write device drivers. The company I work for now makes cusomt hardware and we do all of our driver development in C++. We started writing drivers in C++ even when Microsoft claimed they did not support it (that may still be their claim), because C++ offered many advantages over writing the drivers in C.

We won’t be writing drivers in Java because Java has no facility to poke at registers in the direct ways that are needed to write an efficient driver. But these days mainly because of the diversity in graphics and sound hardware the operating systems have supplied APIs for accessing the hardware and device drivers are used to map those standard APIs to the bit twiddling required to work the hardware. Nobody needs to write to the metal to program games anymore. That’s been the case for at least the ten years that Java has been around. Therefore the “need” for the C/C++ ability to “get to the metal” has been gone for just as long.

And yet with Java the ability exists for the JVM to be ported to new platforms along with a few key libraries (e.g. LWJGL) and then the games that are ALREADY written for currently supported platforms will work on the new platforms without even needing to be recompiled. In many cases the game developers won’t even need to get a development kit for the new platforms. (e.g. several people in these forums have deploy games that run perfectly on the Mac platform and yet the developers have never even touched a Mac.)

Yes but what you’re talking about is the C ability of the C++ language. You can write to the metal for sure, but you can also write very nice OO code in C++. In a way C++ is more OO than Java. You have multiple inheritance of implementation, you have value semantics for objects, you have operator overloading, you have a more advanced generics, etcetera, and, in addition, as a special bonus, you don’t have to use OO at all if you prefer not.

Wow…what a thread. Ok, it seems that .uj just has it for C++ and not Java. That’s fine with me. Stay in the C++ camp, watch your market continue to diminish and when you are ready (read: need a job because no one is hiring C++ devs any more) then come back in and get re-educated. You state that you know both C++ and Java very well. If you acutally did, you would not have made most of the arguments you posted in this thread. Stating that Lemmings done in Java would be “quirky” while the C++ version would be “nimble” shows your prejudice right there. If you can’t get past your comfort in C++, and lack of comfort in Java, no amount of proof is going to change your mind.

Done.

-Chris

If i might CM, Id suggest “Done and Locked.”

There really is no point to this thread any more (nor the OTHER thread where he is spouting errant nonsense and insults over in the J3D area. You might as well lock that one too.)

If he takes other threads off topic in this direction in the future, I would recommend an account lock.

Well ChrisM, you must have missed why I’m posting:

“I’m playing the devil’s advocate because I like Java. I think now and with version 6 is the time when Java finally is up to it on the desktop. But you have to convince the C++ people so I’ve put myself in their place to collect arguments”

If you missed that you also probably missed that it’s not a C++ vs. Java issue really . It’s a static vs. dynamic compilation issue.

Playing devil’s advocate is fine when you use sound arguments. Most of the arguments you have made against Java are old, misgiuded and outdated.

[quote]If you missed that you also probably missed that it’s not a C++ vs. Java issue really . It’s a static vs. dynamic compilation issue.
[/quote]
Ummm…YOU turned it into a C++ vs. Java issue. No one else.

-Chris

If thats being a “devil’s advocate” then he needs to seriously uptown his legal services.

nuff said

I’ve been very careful to stay close to the topic and the OP has participated many times. It’s a general discussion forum so some slack should be allowed I think.

Sorry Jeff but your argumentation powers are extremely weak.
Sorry Jeff but it’s not my fault you lack a sense of humor.
Sorry Jeff but maybe you shouldn’t take yourself too seriously.
Sorry Jeff but who are you to pull rank and assign troll status to others.

Anyway I don’t care. Do what you like. I’ve argumented in good faith to the best of my knowledge.

Finally I’m a she by the name of Ulrika. I’m quitting this discussion now.