C# vs VC++
-
I'm seeing a lot of tutorials etc for .NET only in C#.. Would it be wise to switch to C# from VC++? In theory anything in C# can be made in VC++ right?
In theory ;) Still, you have to know what you're trying to accomplish. For most purposes, C# is the language of choice for .NET. It should be fairly easy to learn the syntactic and language idioms of C# if you come from the C++ world (as I have.) The question is what usefulness/features do you get if you choose a particular language? C#, IMHO, is a clean language. C++-esque syntax, with lessons learnt from Java and others, rolled into a beautiful construct. C#, obviously doesn't give you as fine-grained control as C++ using the Platform SDK, but there are plenty of Managed Classes that get you there without having to do a lot of the SDK work (for example, performance counters, network, or crypto.) C++ is still in the hearts of many a code guru. Sometimes you don't need to use managed code, but there are things that are more difficult in C++ than in C#. So is it wise? Learning is always wise. "Good programming is language neutral, and is often more difficult to learn than a new language - after all, it's just syntax."
"The greatest danger to humanity is humanity without an open mind."
- Ian Mariano - http://www.ian-space.com/ -
I'm seeing a lot of tutorials etc for .NET only in C#.. Would it be wise to switch to C# from VC++? In theory anything in C# can be made in VC++ right?
Managed C++ is really a tool for integrating existing unmanaged C++ code and COM components into .NET. Although you can also use it to do new .NET development it's not particularly elegant and you also lack designer support for it, i.e., no drag and drop from the toolbox. (I gather this will be addressed in future versions - not sure if that means v1.1.) It's far easier just to learn C# and use that for new development. You pretty much need to learn C# anyway, to get the most out of .NET (as you've noticed, lots of examples are only in C#), so you may as well use it for primary development, especially if you already come from a C++ background. Learning C# syntax is trivial. It's the .NET libraries and best practices, etc., that constitute the major learning paradigm. Kevin
-
In theory ;) Still, you have to know what you're trying to accomplish. For most purposes, C# is the language of choice for .NET. It should be fairly easy to learn the syntactic and language idioms of C# if you come from the C++ world (as I have.) The question is what usefulness/features do you get if you choose a particular language? C#, IMHO, is a clean language. C++-esque syntax, with lessons learnt from Java and others, rolled into a beautiful construct. C#, obviously doesn't give you as fine-grained control as C++ using the Platform SDK, but there are plenty of Managed Classes that get you there without having to do a lot of the SDK work (for example, performance counters, network, or crypto.) C++ is still in the hearts of many a code guru. Sometimes you don't need to use managed code, but there are things that are more difficult in C++ than in C#. So is it wise? Learning is always wise. "Good programming is language neutral, and is often more difficult to learn than a new language - after all, it's just syntax."
"The greatest danger to humanity is humanity without an open mind."
- Ian Mariano - http://www.ian-space.com/imariano wrote: "Good programming is language neutral, and is often more difficult to learn than a new language - after all, it's just syntax." I agree. It's a pity that most recruiters don't recognise this fact! Kevin
-
Managed C++ is really a tool for integrating existing unmanaged C++ code and COM components into .NET. Although you can also use it to do new .NET development it's not particularly elegant and you also lack designer support for it, i.e., no drag and drop from the toolbox. (I gather this will be addressed in future versions - not sure if that means v1.1.) It's far easier just to learn C# and use that for new development. You pretty much need to learn C# anyway, to get the most out of .NET (as you've noticed, lots of examples are only in C#), so you may as well use it for primary development, especially if you already come from a C++ background. Learning C# syntax is trivial. It's the .NET libraries and best practices, etc., that constitute the major learning paradigm. Kevin
something to read about... http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/drgui02132002.asp I did hear that the new version of C++.Net will come with a design tool and a lot of syntax clean up. The release date is around Februry 2003.
-
something to read about... http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dndotnet/html/drgui02132002.asp I did hear that the new version of C++.Net will come with a design tool and a lot of syntax clean up. The release date is around Februry 2003.
That's good. I've not used MC++ yet but my initial forays into the documentation weren't pleasant! The syntax certainly could do with cleaning up! Kevin