Managed C++ or C#
-
What's your opinion ? Most of my development has been in C++ using MFC for the last couple of years. I'd like to take advantage of the .net framework, but I'm hesitant of learning a new language just when I'm getting comfortable with C++.
If you are comfortable with C++, then you should look at the new C++/CLI compiler coming out with Whidbey. Nish
My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com
-
I think C# is easy to learn, the syntax is much like C++ (but also as VB :wtf: ) and you have the foreach loop! :)
wb wrote: I think C# is easy to learn, the syntax is much like C++ (but also as VB ) and you have the foreach loop! C++/CLI has the
for each
keyword too (it's spaced in C++ though)
My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com
-
What's your opinion ? Most of my development has been in C++ using MFC for the last couple of years. I'd like to take advantage of the .net framework, but I'm hesitant of learning a new language just when I'm getting comfortable with C++.
Learn C#. Managed C++ is not a tool to develop new code - it's horrific. While I love C++ - the good, trusty, old one - Managed C++ is the most horrible thing I've seen in ages. The syntax is ugly - just try to declare a delegate to a function that returns an array of bytes or try to use an untyped dataset and you'll know what I mean. The syntax changed in the next version of Managed C++, and that means that all what you've learned is worth nothing. You'll never really know wether you're using P/Invoke, IJW, native code, or managed code. While this can be a good thing for porting old code, when developing new code, it isn't. Managed C++ has one specific use: easily interface C++ code that still wasn't ported to C# with "higher level" languages, such as C# and VB.NET (another abomination, BTW). Yes, even I am blogging now!
-
I thinks it depends, C# is easier, Managed C++ is more powerfull.
Work hard and a bit of luck is the key to success.
You don`t need to be genius, to be rich.
-
Yes, C# is easier and allows you to be more productive when developing in a purely managed environment. Please explain how Managed C++ is more powerful when developing in a purely managed environment :confused:. I don't believe this to be true.
I forgot to mention, I recommend using C# if you are developing new applications for .NET. C# has a much cleaner syntax than C++; this will be especially true with .NET 2.0 features such as generics. I used to develop in C++ and now that I've been using C# for more than a year I can't imagine going back. C# is so clean and intuitive.
-
What's your opinion ? Most of my development has been in C++ using MFC for the last couple of years. I'd like to take advantage of the .net framework, but I'm hesitant of learning a new language just when I'm getting comfortable with C++.
Well so far it seems as if the general consesus is on going the C# route. Thanks for the comments
-
What's your opinion ? Most of my development has been in C++ using MFC for the last couple of years. I'd like to take advantage of the .net framework, but I'm hesitant of learning a new language just when I'm getting comfortable with C++.
What do you develop? For us web-developers, C# and ASP.NET is a no-brainer (I am not referring to the LAMP crowd.) For WinApp developers though .NET is a tougher decision. regards, Paul Watson South Africa The Code Project
-
What's your opinion ? Most of my development has been in C++ using MFC for the last couple of years. I'd like to take advantage of the .net framework, but I'm hesitant of learning a new language just when I'm getting comfortable with C++.
Well, here's my 2c. The Managed C++ syntax is awful. The .NET framework is nice, but it lacks a lot of things that are basically second nature in MFC. I haven't written a single serious app yet that doesn't require some P/Invoke somewhere because .NET fails to provide some necessary functionality. C# is easy to learn. Knowing both, you can pick which language and framework best meets your needs. Marc MyXaml Advanced Unit Testing
-
What do you develop? For us web-developers, C# and ASP.NET is a no-brainer (I am not referring to the LAMP crowd.) For WinApp developers though .NET is a tougher decision. regards, Paul Watson South Africa The Code Project
Paul Watson wrote: I am not referring to the LAMP crowd What's LAMP, Paul?
My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com
-
Well, here's my 2c. The Managed C++ syntax is awful. The .NET framework is nice, but it lacks a lot of things that are basically second nature in MFC. I haven't written a single serious app yet that doesn't require some P/Invoke somewhere because .NET fails to provide some necessary functionality. C# is easy to learn. Knowing both, you can pick which language and framework best meets your needs. Marc MyXaml Advanced Unit Testing
Marc Clifton wrote: The Managed C++ syntax is awful Shouldn't that be "was awful", Marc? The new C++/CLI syntax is far superior to the old syntax and is at par with C# as a first class CLI language. Marc Clifton wrote: I haven't written a single serious app yet that doesn't require some P/Invoke somewhere because .NET fails to provide some necessary functionality. Same here :-)
My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com
-
Paul Watson wrote: I am not referring to the LAMP crowd What's LAMP, Paul?
My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com
It stands for Linux Apache MySQL and Perl. I think Lauren is quite into it. regards, Paul Watson South Africa The Code Project
-
It stands for Linux Apache MySQL and Perl. I think Lauren is quite into it. regards, Paul Watson South Africa The Code Project
Paul Watson wrote: It stands for Linux Apache MySQL and Perl. I think Lauren is quite into it. Oh okay, thanks.
My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com
-
Yes, C# is easier and allows you to be more productive when developing in a purely managed environment. Please explain how Managed C++ is more powerful when developing in a purely managed environment :confused:. I don't believe this to be true.
raymonxo wrote: Please explain how Managed C++ is more powerful when developing in a purely managed environment . I don't believe this to be true. See :- C++: The Most Powerful Language for .NET Framework Programming[^]
My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com
-
Paul Watson wrote: I am not referring to the LAMP crowd What's LAMP, Paul?
My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com
Nishant S wrote: What's LAMP, Paul? L inux A pache M ySql P erl/PHP Yes, even I am blogging now!
-
I forgot to mention, I recommend using C# if you are developing new applications for .NET. C# has a much cleaner syntax than C++; this will be especially true with .NET 2.0 features such as generics. I used to develop in C++ and now that I've been using C# for more than a year I can't imagine going back. C# is so clean and intuitive.
raymonxo wrote: C# has a much cleaner syntax than C++; this will be especially true with .NET 2.0 features such as generics. C++/CLI not only supports generics but also supports templates with managed and unmanaged types giving programmers more options. Nish
My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com
-
Marc Clifton wrote: The Managed C++ syntax is awful Shouldn't that be "was awful", Marc? The new C++/CLI syntax is far superior to the old syntax and is at par with C# as a first class CLI language. Marc Clifton wrote: I haven't written a single serious app yet that doesn't require some P/Invoke somewhere because .NET fails to provide some necessary functionality. Same here :-)
My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com
Nishant S wrote: Shouldn't that be "was awful", Marc? No: it is awful, until MS releases the new C++. While we can play and test with the beta version of the new VS, it's at least irresponsible developing a production software with a beta product which the maker (MS) admits to have tons of bugs and reduced performance due to presence of debugging code. Yes, even I am blogging now!
-
Nishant S wrote: Shouldn't that be "was awful", Marc? No: it is awful, until MS releases the new C++. While we can play and test with the beta version of the new VS, it's at least irresponsible developing a production software with a beta product which the maker (MS) admits to have tons of bugs and reduced performance due to presence of debugging code. Yes, even I am blogging now!
Daniel Turini wrote: While we can play and test with the beta version of the new VS, it's at least irresponsible developing a production software with a beta product which the maker (MS) admits to have tons of bugs and reduced performance due to presence of debugging code. Point conceded. Nish
My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com
-
What's your opinion ? Most of my development has been in C++ using MFC for the last couple of years. I'd like to take advantage of the .net framework, but I'm hesitant of learning a new language just when I'm getting comfortable with C++.
The real problem with Managed C++ is that they are rewriting it from scratch, and there is no point in learning it now (I did, and now I am pissed off, but who cares?). As for the "horrible syntax", I've heard this complaint mostly from people who have never really used MC++ (in real projects). Yes it is ugly, but C-like languages have ugly syntax in general; if you are very concerned about syntax, learn Delphi or Python. As for C#, personally I don't like it at all, but I use it whenever I am told to use it and whenever it makes sense to use it (ASP.NET, for instance). To sum up: you have three real choices: 1) Learn C# now. 2) Wait for VS 2005 and then learn Managed C++ (or C++/CLI how they call it now). 3) Learn C# now and Managed C++ when VS 2005 is released. My vote goes for 3)
My programming blahblahblah blog. If you ever find anything useful here, please let me know to remove it.
-
raymonxo wrote: C# has a much cleaner syntax than C++; this will be especially true with .NET 2.0 features such as generics. C++/CLI not only supports generics but also supports templates with managed and unmanaged types giving programmers more options. Nish
My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com
Nishant S wrote: C++/CLI not only supports generics but also supports templates with managed and unmanaged types giving programmers more options. The new C# version also supports generics... "After all it's just text at the end of the day. - Colin Davies "For example, when a VB programmer comes to my house, they may say 'does your pool need cleaning, sir ?' " - Christian Graus
-
Marc Clifton wrote: The Managed C++ syntax is awful Shouldn't that be "was awful", Marc? The new C++/CLI syntax is far superior to the old syntax and is at par with C# as a first class CLI language. Marc Clifton wrote: I haven't written a single serious app yet that doesn't require some P/Invoke somewhere because .NET fails to provide some necessary functionality. Same here :-)
My blog on C++/CLI, MFC/Win32, .NET - void Nish(char* szBlog); My MVP tips, tricks and essays web site - www.voidnish.com
Nishant S wrote: Shouldn't that be "was awful", Marc? I was going to reply, but Daniel said it all. Marc MyXaml Advanced Unit Testing