Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Общие вопросы по .NET и C# > MFC 7.0


Автор: xTr1m 16.11.2005, 23:14
Заранее извиняюсь, если эта тема уже была, но я не нашел ее через поиск. Дело такое : мне нужно будет писать бакалаврскую работу на тему "Основные отличия .NET от Visual Studio 6.0"
Но мне не нужен с# и другие языки. Я должен сделать сравнительный анализ на основе С++. Помимо среды и различных новых инструментов отладки (если они есть ), мне нужно написать об изменениях в библиотеке MFC (если они опять же есть). Может кто подскажет материальчик. Пасибо.

P.S. А вообче то какая сейчас последняя версия MFC?

Автор: Exception 16.11.2005, 23:24
Странную тебе работу дали. Потому что отличия архитектуры дотНЕТ от COM грандиозны и, притом, никак не связаны с этой убогой [пардон..] MFC и новыми фишками VS.NET. И тем более нельзя считать MC++ языком, представляющим платформу дотНЕТ. Он едва с ней связан [а точнее еле-еле..].
Вот такъ
ЗЫ В MSDN должны быть статейки типа 'Language changes in C++' и 'What's new in VS.NET 2003'

Автор: xTr1m 16.11.2005, 23:39
Так, может я чего то не понимаю? Visual Studio 7 и .NET это одно и тоже? Насколько я знаю .NET поддерживает языки с# basic и c++ . Собственно там можно создавать проекты под все эти языки и отдельно вынесены проекты MFC. Так вот моя задача рассмотреть создание программы на С++ с использованием MFC. А конкретно : что изменилось с 6 версии.


P.S. А вот еще хотелось бы знать почему MFC - "убогая"? Я думал, что это очень гибкая сис-ма, позволяющая создавать приложения любой сложности?

Автор: Exception 17.11.2005, 07:57
VS 7 - это не логическое продолжение VS 6. Это нечто совершенно новое. Вся функчиональность дотНЕТовских прог обеспечивается фреймворком. А MFC сохранен для обратной совместимости. Не факт, что там вообще чего-то обновилось

Автор: mr.DUDA 17.11.2005, 09:05
Цитата(xTr1m @ 16.11.2005, 22:39)
P.S. А вот еще хотелось бы знать почему MFC - "убогая"? Я думал, что это очень гибкая сис-ма, позволяющая создавать приложения любой сложности?

С точки зрения функциональности, которую ты можешь реализовать средствами этой библиотека - да, MFC даёт все возможности, необходимые для разработки оконных приложений. Это её несомненный плюс. Говорю не пустые слова, так как несколько лет программил именно для MFC. С другой стороны, MFC - довольно слаба в плане ООП-дизайна, многие вещи там реализуются через макросы, много неочевидных багофич, которые не сразу "вылезают"; часто приходится бороться с библиотекой в попытках сделать так как надо, а не так, как разработчики M$ придумали... В общем, повторюсь, библиотека весьма криво написана; новых версий с 4.2 не выходило; меняются только номера версии, к примеру сейчас есть 7-я MFC, а "внутренности" никто не переписывает.

По поводу "Основных отличий .NET от Visual Studio 6.0", если нужно раскрыть тему "различия студий 2003 и 6.0 при создании проектов на С++", то весь материал уместится на двух страницах, если конечно не описывать каждую нажимаемую кнопочку на тулбаре smile...

Отличия в синтаксисе C++ для .NET (aka managed C++, MC++) от обычного C++ - существенны, их много, и все они связаны с использованием в MC++ новых языковых фич, присущих в общем-то, C#. Это свойства (properties), события (events), модификаторы __gc, __value, служебное слово __typeof и тому подобные "излишества". Всю информацию о новых возможностях в MC++ можно почерпнуть из документа "Managed Extensions for C++ Specification" в MSDN.

Автор: xTr1m 17.11.2005, 09:45
Что то я так и не понял. в .NET можно создавать проекты с MFC, но это лишь "отголоски" прошлого так? А вообче как тогда еще можно делать программы на С++ в этой среде? И на что вообче похоже создание с FrameWork'ом ?

Автор: mr.DUDA 17.11.2005, 10:18
Цитата
Что то я так и не понял. в .NET можно создавать проекты с MFC, но это лишь "отголоски" прошлого так?

Вроде так smile

Цитата
А вообче как тогда еще можно делать программы на С++ в этой среде?

Как угодно. Пиши на чём тебе удобно. Хочешь - используй MFC, хочешь - WTL, можешь сделать C++ приложение, использующее Windows Forms.

Цитата
И на что вообче похоже создание с FrameWork'ом ?

Похоже на работу с Delphi, только без Паскаля smile

Автор: xTr1m 17.11.2005, 11:20
так давайте последний раз, что я дурак точно разобрался. Была Visaul Studio 6, потом стала Visual Studio 7. А что такое тогда Visual .NET ? Надстройка? Дополнительная программа для разработки web приложений? И потом, этот самый FrameWork он для NET только?

Автор: mr.DUDA 17.11.2005, 11:33
Цитата(xTr1m @ 17.11.2005, 10:20)
А что такое тогда Visual .NET ? Надстройка? Дополнительная программа для разработки web приложений? И потом, этот самый FrameWork он для NET только?

Что такое .NET - почитай http://forum.vingrad.ru/index.php?showtopic=17740

Автор: arilou 17.11.2005, 11:42
Уважаемый xTr1m!

Это конечно круто, что на форуме можно задать любой вопрос и конечно же на него ответят. Но Ваш последний пост показывает, что Вы не удосужились даже воспользоваться поиском хотя бы на русскоязычных сайтах, чтобы узнать о том, что такое .NET. Например, на http://www.rsdn.ru, http://www.gotdotnet.ru

Посему:

Microsoft .NET Framework - это библиотека классов (порядка 6000 в первой версии) и среда выполнения программ - Runtime. .NET подерживает либой язык, реализующий Common Language Specification, в том числе C#, Visual Basic .NET, J#, Delphi.NET, и Managed C++, и др. В состав .NET framework входят компиляторы C# и VB.NET.

Managed C++ - это надмножество над обычным Visual C++, позволяющее разрабатывать программы для .NET framework.

Visual Studio 2002 (7.0), 2003 (7.1) - это новые версии сред разработки Microsoft. В первую очередь, конечно, они предназначены для .NET framework, но и содержат также средства разработки для "чистого" C++ - MFC, ATL, и т.д.

Что касается MFC 7.0, я рекомендую прислушаться к мнению mr.DUDA. Или идти на форум по C++ и повторить свой вопрос там.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)