Java vs .NET for games?

[quote]our company was certainly seduced from java to .net, particularly at a management level.
[/quote]
That is the sole purpose of the Java copy named NET.

First they tried to kill Java and when they didn’t succedd, they copied it, added some balderdash, entered the VM arena and now are going to sell the VM as holy grale to the world. In a few years everything from M$ will be NET based.
By the way, now that M$ entered the VM arena it’s of a sudden the coolest thing in universe: the same morons who laughed at me three years ago and still laugh at me because I use a VM named Java, come and tell me how super cool M$’ NET would be…

So it has been with Word/Office and everything else they do.

Let’s wait until M$ patent the VM and then we’re gone, including MAME.

[quote]I haven’t really used the managed directX stuff- I downloaded the beta and it killed all my dx games and then couldn’t be uninstalled and they all got fixed by patches but the patches are rubbish because in many cases the kill the save games and so I got pissed off and gave up on managed direct X and on Jedi Knight 3…
[/quote]
See, M$ even can force you not to play an OpenGL based game: Jedi Knights III.
Ok I’m partly kidding with that sentence but anyway you’ll miss a very nice game (I am still playing Jedi Knights II multi player matches).

Competent project managers are not that common, and that situation happens quite often.
Problem is, once you are in deep sh1t, firing the project manager will not help you …
It only has to happen one time in a strategic place to have dramatic consequences. .net just increases the ‘chances’ for that to happen.

Fair enough. I didn’t say NET was any good, just that it was tempting ;)…

Has anyone here done anything extensive/funky with NET-as-enterprise-platform? e.g. equivalent of using TP’s and JMS and SOAP in J2EE to make some vast distributed system in a short amount of time? (I know there are various problems with doing this in java, especially with getting a good-enough JMS, but I’ve run into a couple of people who were going great guns building graphical MUDs in NET very rapidly this way).

[quote]princec said
I wish I could blag $2m of VC from ChrisM to showcase Java games. You know we’d shine…
[/quote]
Hey you half of your staffing requirement right here!

[quote]pepe said
Any of you ever worked in a big company where some old farts did retain information about legacy -and key factor- code?
[/quote]
I’m sure I’ve mentioned this 35 yearold financial application I maintain at my day job here before == job security!

[quote]blah^3 said
To have all the language-knowledge concentrated in one or two irreplaceable people in one of those groups means that the project manager is irreprievably incompetent
[/quote]

[quote]pepe said
Competent project managers are not that common,
[/quote]
These observations seem so obvious yet are so hard for almost everyone to grasp.

One major Pro of mono is the fact you can compile the runtime/vm into your app for distribution; I imagine its as fat as a gcj executable though.

Ye haw! Look at all the fire in this thread!

I think languages that compile down to a common run time is a swift idea for the ‘masses’. Ie - Developers don’t need to relearn a new language per-se and can all access the same ‘power’ of the .NET environment. A VB person can write his graphics app using DirectX under the hood, just like the C# guy can.

Teams probably work best using one language for the code base, regardless if its 2 or 10.

Mostly though, I think the big lesson to learn from .NET is that virtual machines are a big deal, so much so that MS is shoving tons of money into getting that technology everywhere they can. It really doesn’t matter what the source was. The paradigm shift is in going from a language that can be compiled down to assembly to one that compiles down to byte code. Having code executable in lots of places, regardless of the hardware is the magic.

If you look at the new versions of Visual Studio, you’ll note they aren’t very compatible with the old. Often larger code bases that compiled C/C++ code don’t compile once upgraded to the new .NET solution/project format. Their dev environment seems more friendly to .NET development, rather than to traditional C/C++.

So then, if C# could be compiled down to java bytecode, would you use it? What about the reverse? Java compiled down to byte code for the CLR?

[quote]Java compiled down to byte code for the CLR?
[/quote]
ie, Like J# maybe? I wonder if you can use managed dx from j#?

J# doesn’t count as its not actually Java. It just smells like it. The imports you use aren’t the same and it doesn’t produce a .class file. The old versions didn’t either. Nasty MS, perverting java like that.

You could count it as another language in the rainbow of .NET though. :slight_smile:

[quote]…/… Developers don’t need to relearn a new language per-se …/…
[/quote]
Which is wrong. You use languages that mimic well known other languages, but you still have to learn them.
Going from C/C++ to C# is the same as going from C/C++ to Java.
Don’t get fooled by Microsoft’s marketing.

[quote]Has anyone here done anything extensive/funky with NET-as-enterprise-platform? e.g. equivalent of using TP’s and JMS and SOAP in J2EE to make some vast distributed system in a short amount of time? (I know there are various problems with doing this in java, especially with getting a good-enough JMS, but I’ve run into a couple of people who were going great guns building graphical MUDs in NET very rapidly this way).
[/quote]
I am currently working for a large bank in sweden. We have a complete mix of a 1000 applications written in Cobol for AS400, VB application both stand alone or inbeded in Excel, Access etc, C/C++ and thanks god Java. The decision on moving all future development on a Java platform was taken in the late 90’ and that begun a large development of a J2EE platform.

Last year the bank bought a smaller bank also located in Sweden. That bank had gone with the .NET alternitive and that made the intergration between the banks an interesting challenge.

To let our J2EE platform talk to their .NET platform we choose to use Web Services(SOAP, WSDL). As I wrote my Master Thesis about Web Services in 2001 my place in the project was secured ;D.

So whats my experience with the 2 platforms to build a secure distribute brigde between the platforms. It is easy! The only real problem was that our company has to old webshere server versions that only can use WSDL 1.0 specification and the .NET platform uses WSDL 1.1 which led to a construction of a WSDL version converter proxy that lies between the platforms until we get the new Websphere software installed.

We use Webshere Application Studio as our IDE and of course Visual Studio. The battle of making the easiest wizard for creating webservices and deploy them M$ wins the battle large. But on creating a large distributed enterprise system Java still bets .NET any day.

[quote]if C# could be compiled down to java bytecode, would you use it?
[/quote]

Maybe. It’s so similar to java that the only reason to learn it would be to be not so much that I would like to use C# instead of java so much, but rather to be able to do .net development as well.

[quote]What about the reverse? Java compiled down to byte code for the CLR?
[/quote]
I don’t see any reason for that. We already have the JVM and on more platforms. I don’t even think it could be called java since it’s more than a language.

pepe - I think you misunderstood me a bit. I meant people, mostly VBers, don’t have to learn C# or C to create the same application. I can’t recall if you can compile C/C++ down to bytecode. They have something called managed and unmanaged code. IIRC, C/C++ is considered unmanaged and hence doesn’t get compiled to BC.

There would still be some learning of C#, since it didn’t exist before .NET. Once you have learned it though, both a C# and a VB person have equal access to the .NET framework.

erikD - I agree 100% that Java is more than just a language. Its actually kinda freaky how much java is just about like an OS itself. Not sure where the line between an OS and the apps an OS runs is. Java theoretically gives you threads, file I/O, network I/O, printing, graphics output, and input. Looks sorrta OS’y.

[quote]…/… both a C# and a VB person have equal access to the .NET framework.
[/quote]
Still not. VB and VB.net are not the same, and worst… are not compatible… ,
VB people have to learn VB.net which is OO, contrarly to VB. That still makes the same kind of transition between C and C#, or C and Java.
Still, marketing stuff.

Can’t you people see that the names are almost the same? They’ve gotta be compatible, and migration has gotta be easy, right? I mean, why would they name them so similarly if it wasn’t? ;D

Yes, the family of .NET-capable languages all have a learning curve, and from what I’ve read VB was probably the worst off - they not only changed syntax and overall code structure, they also deprecated parts of the previous API and fundamentally changed the functionality of other parts of it. In general there is no migration path for a VB6 application, but if you have VB developers already it does provide you the option to retrain them for new development in VB.NET.

AFAIK, C has been left out of the .NET family, but C++ made it as “Managed C++”. You’ll need someone more knowledgeable to tell you what that means, though!