tags:

views:

90

answers:

4

Right now, I'm more into design & maintenance of MFC based application. I'm seeing good progress and requirement for C#.Net application.

With this background knowledge, how easy or difficult is to learn C#.Net? Is there any tutorials available online that helps MFC developers to easily learn C#.Net quickly?

Any help on this much appreciated!

+1  A: 

Apart from Syntax the move from C++ to C# isn't that difficult, getting your head around the .dotNet framework takes time, but worth the effort.

I can recommend a book by Andrew Troelsen - 'C# and the .Net Platform', I believe it is in it's 5 revision now.

Sres
+1  A: 

You will be amazed on a daily basis how much easier it is develop Windows applications in C# than it is with MFC!

The one thing to be aware of is MFC forces more of a Model View pattern on you, which C# doesn't. It is worth spending a bit of time learning some of the patterns to develop windows cleanly. It is very easy to create spagetti code in C#!

Mongus Pong
NB: While Winforms is not MVC out the box, WPF has moved back towards a proper MVC approach. (No idea how similar this is to the MFC way of doing things)
Paolo
@Paolo, good point.
Mongus Pong
+1  A: 

You know MFC, so you know how to program a framework.

In my opinion, .Net framework is easier to program than MFC, you need to know two things:

  1. C# and CLR. You need to study a new language C# and the standard libraries in .Net, like strings, etc. A good reference is CLR via C#.

  2. Windows Forms. Windows Forms is far easier than MFC and more clean. You can find a lot of tutorials online.

Yin Zhu
If you're going to move now, learn WPF rather than WinForms. I'm not saying abandon your WinForms codebase and knowledge if you have them, but for someone starting new, go with the latest tech since it will last you longer.
Kate Gregory
+1  A: 

C# is a native choice for C++ developer moving to .NET. It is really easy to learn C#, and you can find that Windows Forms is much better UI framework, than MFC. Windows Forms is actually one more native Windows API wrapper, based on GDI, it is designed better than MFC, and much easier to use. However, Microsoft considers Windows Forms as old technology, and promotes WPF, which is based on DirectX and not GDI. DirectX is native API for Windows Vista and later. This is first difficult decision - whether to use Windows Forms or WPF. Learning WPF is not so easy, as Windows Forms, but possibly moving directly to WPF is smart choice. For example, Visual Studio 2010 UI is written in WPF.

Alex Farber
Oh. Great to know this point "Visual Studio 2010 UI is written in WPF."As far as I know, prior release of Visual studio were written in MFC. So I had a belief that vs2008 also the same. You have that doubt cleared for me. Good point.
AKN
No, VS2008 UI is not written in WPF. However, it has full WPF support for developer. I would recommend to start learning C# with Windows Forms, or in Console applications, just for beginning. Once you feel comfortable with C#, consider moving to WPF. It also depends on the role of UI in your development. If all you need from UI is to get simple access to some other code (math, algorithms, networking, real-time etc.), Windows Forms is quite enough.
Alex Farber
Oh. Typo.. I meant VS2010.. not 2008. Anyways thanks for your view point.So as you said I guess moving towards WPF is a GOOD CHOICE over winforms. Right!
AKN