Если речь идет вообще об отличии MFC от .NET:
Во-первых , базовые классы .NET - общие для всех систем программирования, точнее, для всех приложений, работающих в среде .NET. А это означает, что изменилось соотношение язык - базовые функции: если MFC делались под VC++, то теперь язык программирования адаптируется к платформе.
Во-вторых , MFC - это набор статических объектных модулей. Они подключаются к приложению на этапе компоновки исполняемого модуля программы и становятся при этом его неотъемлемой частью. В то же время .NET Class Library - это динамические библиотеки классов, которые являются составной частью операционной среды
Что касается нового языка программирования от Microsoft C#:
Синтаксис на 99,9% взят из С++. Основные языковые конструкции тоже взяты напрямик из C++. Кое что, конечно изменилось. Например, объявления классов и их членов являет собой некий симбиоз из C++ и Java. Как в Java, здесь все должно содержаться в классах, то есть даже хрестоматийная Hello World имеет один класс. Это очень похоже на инициализацию стандартных библиотек в Паскале от Борландов. Нет вам в C# ни хейдеров, ни библиотек. Зато есть куча DLL файлов, которые можно использовать в своих прогах на C# для работы с файлами, сетью, строками и т.д. и т.п. Ну вроде бы, если говорить именно о языке, не вдаваясь в подробности техники программирования на нем, то это наверное все, что могу о нем можно сказать.
По большому счету написание программы сводится к напихиванию в форму бешенного количества компонентов, редактированию их свойств, и в тех редких случаях, когда "гад-разработчик" компонента не позаботился о том, чтобы компонент умел делать _все_ сам, приходиться написать пару строчек кода, отвечающего за кое-какие его действия и взаимодействие с другими компонентами. Когда вы добавляете элементы UI в форму, то wizard добавляет соответствующий код в инициализирующую функцию. Выглядит это примерно так:
button1.Location = new System.Drawing.Point (32, 80);
button1.Size = new System.Drawing.Size (192, 80);
button1.TabIndex = 0;
button1.Text = "button1";
Вот ссылки, в тему, кторые дал мне гугыль:
http://www.dotsite.ru/Publications/P...ils.aspx?ID=71
http://www.cpp.murashicd.ru/articles...e28e57d7dad222