VS .NET 2005 impact on game programming?

Started by
22 comments, last by Saruman 18 years, 11 months ago
Well, the memory needs to be managed for .NET compatability.

The reason for C++, is afterall, simply a compatability thing to give developers a head start in using .NET. I don't think anyone in their right mind would intentionally go out and use managed C++ when they could use C#.
Advertisement
Quote:Original post by Andrew Russell
Well, the memory needs to be managed for .NET compatability.

The reason for C++, is afterall, simply a compatability thing to give developers a head start in using .NET. I don't think anyone in their right mind would intentionally go out and use managed C++ when they could use C#.


From what I've read, MS views .net programmers in 3 groups:
Mortimer: the business guy who knows a bit vb.net 'cos it's sometimes useful in his excel sheets. He can access about 80-90% of .Net functionality.
Elvis: a mid-level developer who uses C# 'cos he just wants to get the job done as quickly as possible. He can access about 95% of .Net functionality.
Einstein: the serious systems C++ guy who wants total control. He can access the whole of .net even obscure things.

Those aren't my names, BTW. I can't find it now, but some serious MS guy (might've been Herb Sutter) claimed that C++ is here to stay for serious developers.

Quote:Original post by Anonymous muppet
For heaven's sake, when will people realize that "managed memory" is not an improvement but rather a step back?!


Care to back that up with something resembling a reasonable arguement? Managed memory may not be suitable for many things (games, real-time stuff, etc) but only an idiot would describe it as a "step back". It's just a step forward in a particular direction.
if you think programming is like sex, you probably haven't done much of either.-------------- - capn_midnight
Quote:Original post by ChaosEngine
From what I've read, MS views .net programmers in 3 groups:
Mortimer: the business guy who knows a bit vb.net 'cos it's sometimes useful in his excel sheets. He can access about 80-90% of .Net functionality.
Elvis: a mid-level developer who uses C# 'cos he just wants to get the job done as quickly as possible. He can access about 95% of .Net functionality.
Einstein: the serious systems C++ guy who wants total control. He can access the whole of .net even obscure things.

Managed C++ can access more functionality than C#?

I don't know, but I find that hard to believe.
Quote:Original post by Andrew Russell
Quote:Original post by ChaosEngine
From what I've read, MS views .net programmers in 3 groups:
Mortimer: the business guy who knows a bit vb.net 'cos it's sometimes useful in his excel sheets. He can access about 80-90% of .Net functionality.
Elvis: a mid-level developer who uses C# 'cos he just wants to get the job done as quickly as possible. He can access about 95% of .Net functionality.
Einstein: the serious systems C++ guy who wants total control. He can access the whole of .net even obscure things.

Managed C++ can access more functionality than C#?

I don't know, but I find that hard to believe.


Agreed, but that's what I read. I'm sorry I can't find the article again.

if you think programming is like sex, you probably haven't done much of either.-------------- - capn_midnight
Quote:Original post by Andrew Russell
Quote:Original post by ChaosEngine
From what I've read, MS views .net programmers in 3 groups:
Mortimer: the business guy who knows a bit vb.net 'cos it's sometimes useful in his excel sheets. He can access about 80-90% of .Net functionality.
Elvis: a mid-level developer who uses C# 'cos he just wants to get the job done as quickly as possible. He can access about 95% of .Net functionality.
Einstein: the serious systems C++ guy who wants total control. He can access the whole of .net even obscure things.

Managed C++ can access more functionality than C#?

I don't know, but I find that hard to believe.

Managed C++ in VS 2005 is a very different beast from what is in 2003. MS recognised that the 2003 managed C++ was a mess and pretty much threw it all out and redesigned it from scratch for 2005. The 2005 version is actually quite well designed from what I've seen and a huge improvement over 2003. I've seen the quote saying it allows access to more functionality than C# as well and they've been saying that whereas 2003 was not a great choice for .NET programming, 2005 is a very good choice, particularly for experienced C++ programmers.

Game Programming Blog: www.mattnewport.com/blog

Quote:Original post by Kylotan
He has a point though, however obliquely made. If you are very concerned about memory management then you probably shouldn't be using C++ anyway, as there are plenty of other great languages that offer such features but without tacking them crudely on as an afterthought.

I don't mean any offence at all so please don't take it that way. But go tell that to the fact over 90% of bugs and security problems in applications today are memory related errors. I do agree with your point that if you can't control memory you shouldn't be using C++, but unfortunately a lot of bad programmers do. It's unfortunate that the majority of programmers need managed memory even if they hate it, especially when you look at the stats.

Also the language usually isn't even referred to as managed C++ anymore because it was such a horrid beast in 1.0/1.1. Usually it is called CLI / C++ and it is a much better implementation than the managed c++ of the 1.0 series. CLI / C++ does in fact have more functionality than the C# language and also is better performing and is set to be the top performing .NET language.

Quote:
I don't think anyone in their right mind would intentionally go out and use managed C++ when they could use C#.

I have actually used it a lot, although for different purposes than I am guessing you were implying. I have unmanaged C++ libraries that I wrap with managed C++ and use with C# and it has only gotten better with the new 2.0 versions.

As for the original poster's question I really don't think it will have that large of an impact on the majority of game development. It is great for rapid development on the PC, even just having you existing unmanaged C++ engine, wrapping it in managed C++ and writing your game/scripting in C#. This only applies to the PC at the current time though, and right now game development leans heavily towards consoles and will start doing so even more now that the new consoles have even more power than the top PCs and have a gaurenteed architecture to work with. If the 360 supports the CLR I can see the managed languages being used more in gaming simply because of quickly writing games (that you can do with an existing engine) for both PC / XBox 360. But the majority will still be done in unmanaged C++ for compatibility across platforms.

I do see the indie game development community moving closer to .NET though, as it allows them to compete more with the big studios due to cut down development time and that fact that indies target PC due to not being able to secure console licensing.
Here's a direct quote for the claim that VC++ 2005 is the most powerful .NET language: Herb Sutter's VC++ 2005 (and C++/CLI) elevator pitch.

Game Programming Blog: www.mattnewport.com/blog

ty for the link Matt :)
Quote:Original post by Saruman
Quote:Original post by Kylotan
He has a point though, however obliquely made. If you are very concerned about memory management then you probably shouldn't be using C++ anyway, as there are plenty of other great languages that offer such features but without tacking them crudely on as an afterthought.

I don't mean any offence at all so please don't take it that way. But go tell that to the fact over 90% of bugs and security problems in applications today are memory related errors. I do agree with your point that if you can't control memory you shouldn't be using C++, but unfortunately a lot of bad programmers do. It's unfortunate that the majority of programmers need managed memory even if they hate it, especially when you look at the stats.


Yeah, but my point there is that really they should use a different language. Adding managed memory to C++ applications doesn't fix these bugs that poor programming causes, it just changes their nature.

In my opinion the only reason for C++'s existence is because it's about as high level as you can go without losing control of the low level detail. If you're using it, it's because you need that low level control, and taking it away only serves to give people a false sense of security.

Obviously a specific exception exists if, for some reason, you need .NET code with uncompromised performance. I doubt that will be a common requirement however.
Quote:Original post by mattnewport
Here's a direct quote for the claim that VC++ 2005 is the most powerful .NET language: Herb Sutter's VC++ 2005 (and C++/CLI) elevator pitch.

Wow.

This topic is closed to new replies.

Advertisement