Click here to Skip to main content
15,881,687 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hello all, I’d like to hear your opinion on the following.
I’m very comfortable with native C++, and got some experience with MFC. Now I’d like to switch to (and ready to make long term investment on).. another language for writing more robust GUI apps. What would you suggest??

Obviously C++/CLI was the first thing to consider but I’ve read that Windows Forms with C++/CLI is not going to be actively promoted by Microsoft. I tried C# in the past for a while and I found it very straightforward and clean. I’m concerned though about interoperability issues with my native C++ code..

I'd really appreciate your opinion on this!
Posted

At this point I would suggest WPF, Silverlight, HTML5 are best to invest when it comes to GUI apps.

If its just windows apps that fancies you, you could invest in WPF.

As you are very comfortable with c++ overcoming any interop issue would not be very difficult. If DllImport does not work, you can always write a c++ wrapper of you own and make it interop friendly.
 
Share this answer
 
You should use C#: only Nish still uses C++/CLI.
:-)
 
Share this answer
 
Comments
Albert Holguin 3-Jun-11 10:50am    
:D
I wouldn't specialize if I were you. Just move to .Net and be done with it. At the very least, learn whatever you need to get your job done, and if you have time, investigate/learn stuff that looks interesting. If you have even a cursory understanding of how each .Net platform works, you can easily switch between them, and even more importantly, you can determine which platform is most appropriate for the task at hand.
 
Share this answer
 
C# is a good place to go. (As John Simmons says, it's actually '.Net', but since you are familiar with a C family language, C# is likely to be the easiest .Net language for you. But if you have time, also look at some of the more functional languages as there is some interesting stuff out there.)

You should try to learn WPF/Silverlight, and also WinForms. Broadly, you will want to use the former for web apps and the latter for standard desktop apps, but having a good knowledge of both will help you make a good design decision as to which one to use for each project you work on.
 
Share this answer
 
If you are good at C and C++ then there is nothing better than C#.
I am using is and learning it.
I found it nice and one thing you do whatever you want.
Just the thing you need is good source C and C++.
I prefer C# generally called .Net.
 
Share this answer
 
Comments
Albert Holguin 3-Jun-11 21:07pm    
.Net is the operational framework, you can write non-C# .Net code...
If you're already familiar with C++, C# is probably the way to go... although be ware, that I have heard that using C++ code in C# is not trivial (as was using C in C++).
 
Share this answer
 
Comments
costas13 3-Jun-11 11:32am    
Some time ago I had a try to integrate native C++ with C# and WindowsForms (__gc syntax at that time). I found it neither hard nor easy...Any idea on how are things now with interoperation between C++ and C#? I guess more stable?
Albert Holguin 3-Jun-11 12:06pm    
I haven't played myself with the two mixed, hence the "I have heard..." portion... but its not as easy as perhaps you'd expect backwards compatibility to be...
Albert Holguin 3-Jun-11 12:11pm    
by the way, the _gc syntax is from C++/CLI...
It's the interoperability between C# and C++ that worries me. If anyone has tried calling native C++ code from C# forms I'd love to hear their experience :-)
 
Share this answer
 
Comments
CPallini 3-Jun-11 11:49am    
What worries me is your inability to read the FAQ (you're posting fake answers, instead of comments).
Albert Holguin 3-Jun-11 12:07pm    
lol, I'm worried too...
costas13 4-Jun-11 10:38am    
I made a mistake, although after realizing it I posted the same as a comment.
Bytheway, if you think that your "solution" ("You should use C#: only Nish still uses C++/CLI") was adequate, then you should be more careful with thye solutions you place...arrogant boy...
CPallini 4-Jun-11 10:47am    
I admit my answer wasn't detailed, anyway, it was correct (even Nish, would agree, I suppose).

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900