C#.net vs C++.net, any comments?

Denaes

Senior Contributor
Joined
Jun 10, 2003
Messages
956
I know C++ is like a prime time game development language because of extra speed and being a lower level language, able to get more 'gritty'.

Now that the whole .Net Framework is out, how does C++.Net compare to C#.Net or even VB.Net?

C++.Net is really just Visual C++ 7, becuase MS couldn't change the language and C# is the .net framework version of C, Right?

I know more than a bit (but less than a lot) of VB6 and I'm handily picking up vb.net. I was thinking that if C# held the speed and/or other advantages over VB like C++ does, that it would be neat to pick up, so you can create extensions.

Thank you for anyone who can give me the skinny :)
 
C# doesnt really have any advantage over VB.NET as both use the same framework and compile to the same thing. I think the only choice you would have to make is choosing which syntax you prefer :)
 
ok, so is C# like a gateway drug/primer for C++ then?

I've noticed that VB.Net is WAY more functional out of the box than VB6 was, mostly because of the integrated API support. I suppose that sort of support would also go for C programmers looking for an easier interface with windows.

I have VS.Net 2k3, but two books on visual C++6 and a video game book on VC++6. Is VC++7 terribly different from VC++6?
 
It is only different if you use managed c++ extenions, which let the application access the .NET framework. Rest is the same :). But if you code in C++ stay with Win32API :)
 
What I'm about to say is just my opinion, take it as you will.

The goal of .NET is to centralize all programming languages so you can use whatever language you want, and not have to worry about speed. It's basically an "all languages are created equal" thing. They both succeeded and failed in their goal. Languages that are built from the ground up to use .NET work quite well, languages that were ported to .NET aren't worth the time of day.

The only differences between C# and VB.NET is syntax and a few odds and ends which shouldn't effect 99.99% of the people out there. Which language you use between C# and VB.NET is just a matter of preference. I personally like the C style syntax so I went with C#, most people coming from VB6 go with the VB.NET syntax.

The difference between VB6 and VB.NET is absolutely huge. VB.NET is a real 100% OOP language, VB6 is more of a scripting language. There was no sacrifice in terms of RAD, on the contrary, once you actually learn how to use .NET in all of its glory, RAD becomes even more powerful and faster as .NET is pure OOP unlike VB6. Of course, this also makes things far more complex, and learning .NET can take some time if you aren't familiar with Java or C++.

Using C++ with .NET (C++.NET or C++7, whatever you want to call it) is just "meh" in my opinion. They basically had to port C++ over to .NET so you could use it with it, and in the end they just made it a mess. Think of the J# fiasco all over again. If you're going to use C++ then stick with VS6 or another compiler like Borland, and use it the way it was ment to be used. If you're going to use .NET then use it with one of its native languages (VB or C#).

IMO if you're doing game programming in C++ then just ignore .NET, especially if you're following along with books.
 
Yeah, I had Visual C++ 6 Complete and a book on learning VC++6 from about a year ago when my studies kicked into overdrive and I had to dedicate myself to VB6 and Java.

Just recently I purchased Programming RolePlaying Games using DirectX... I didn't think of it, but I should have. It wasn't vb like my other directx books, but C++, with the author saying that he's personally using VC++6.

Since I have VS.net 2k3, I was thinking of taking Mutants advice to use VC++7/.net, but only use the standard VC++ and leave out the .net part.

an article I read said that based on the 1998 ISO (International Standards Organization ), VC++.Net 2k3 employs something like 98% of what is standard C++, while VC++6 employed only 83%.

At least for right now, unless they took out pre-existing ways of doing things I think, like mutant said, that the .net version should work so long as you only use the standard C++ aspects of things.

So long as I don't touch the .net framework with VC++ I think it should be ok...

Thank you two for the advice :)
 
Visual C++ .NET 2003 now implements roughly 98% of the standard-defined language features, a statistic that is on par with or better than the majority of commercial C++ compilers, on any platform. In comparison, Visual C++ 6.0 implements roughly 81% of the ISO C++ standard and Visual C++ .NET 2002 implements 87% of the ISO C++ standard. No single, industry-accepted, standardized test suite exists to compare or measure C++ compiler implementations. Three popular suites are available however, and each produce slightly different results for a given compiler. In its development of Visual C++ .NET 2003, Microsoft strived to attain high conformance marks in all three test suites: Dinkumware, Perennial, and Plum Hall. Additionally, the Visual C++ team endeavored to ensure Visual C++ .NET 2003 would compile popular modern C++ libraries, including LOKI, BOOST, and BLITZ sans changes to the library source codes. This is a feat achieved by few, if any, compilers, but Visual C++ .NET 2003.

http://www.microsoft.com/canada/events/presentations/downloads/DEV04-Anthony.ppt

Sure its from MS's mouth, but there should be some truth behind the propaghanda :p
 
Back
Top