Чем принципиально отличаются VC++ 6.0 и VC .net
В студии для .NET Managed code можно писать.
А вот там уже отличия серьезные
В VC.NET тоже есть С++. Только он отличается от 6-го
for (int i=0;;){;}
for (int i=0;;){;}
хотя прекрасно покатит в 7й
Кажется, в 6-й где-то галочка есть, чтобы она это правильно обрабатывала. Но тогда ты получишь дохрена ошибок при компиляции с некоторыми MS библиотеками, которые используют эту фичу.
Cтудия .NET по умолчанию генерит IL-код для всех программ, написанных в ней, чтоб во фреймворке работать. А шестая сразу нэйтив бабацает.
#define for if(false) ; else for
чтоб стандарту удовлетворяло
Бред.
Опа, папаша вылез . Ну-ка, поясни детям, что и как надо говорить!
FAQ: Что такое VS.Net.Твое замечание правдиво только для MC++, причем с существенными оговорками.
Седьмая версия Visual Studio-и включает в себя три (не считая VB и экзотики) "компилятора": C#, MC++ и VC++. Под "компилятором" я здесь понимаю не только сам компилятор, но и библиотеки, рантайм, поддержу в студии и т.д.
Эти три "компилятора" по большому счету, никак не связаны между собой (особенно C# и VC++ и используются для решения разных задач.
Начнем с конца:
VC++ "компилятор" - это немного улучшенная версия старого доброго VC6. Из основных улучшений: более лучшая поддержка стандарта языка C++ и чуть лучшая оптимизация кода.
Стандартная библиотека MFC (MFC7) почти не изменилась,
ATL (ATL7) изменился сильно, но в основном в сторону добавления новых классов для создания Web-каких-то примочек. Из серьезных изменений - это добавление ATL::CString.
Под новый ATL был выпущен чуть прилизанных WTL7, без каких-либо кардинальных изменений.
[skip]
Managed C++ "компилятор" - используется для написания кода на C++ для .Net-framework-а.
В чистом виде почти не применяется, а используется как вспомогательный инструмент в следующих случаях:
1. Это когда мы спускаемся с C# "вниз": хотим использовать низкоуровневую оптимизацию, стыковку с legacy-кодом и т.д., т.е. для тех вещей, которые на C# у нас не получаются или получаются плохо.
2. Либо когда мы, наоборот, берет старый код и пытаемся в нем использовать всю прелесть .Net-framework-а. В этом случае берется старый код и компилируется с использованием managed extensions for C++ (опция /clr далее потихоньку старый код переписывается с использованием новых фич.
А отличий много. ATL переписали. IDE совсем другая, не такая убогая, что была VS6. В MFC ваять удобнее. Вообще лучше залезть на соответсвующий сайт и посмотреть.
Имхо у них классвизард немножко галименький, мне не очень нравится. Хотя в целом нормально.
Из серьезных изменений - это добавление ATL::CString.
хм... я-то думал - атрибуты...
Post deleted by glebius
В Visual C++ 6.0 была предоставлена классная возможность автоматически удалять метод из окна ClassView.
Я недавно перешел на .NET 2003. Но такую фичу я там не обнаружил. Конечно все можно сделать ручками, но природная лень заставляет до последнего искать более простой путь. Особенно геморно удалять обработчики сообщений.
Есть ли такая возможность вообще? И если есть как ей воспользоваться?
по поводу оптимизации кода большая неправда - там просто ох$%тельная оптимизация кода, семерка рвет шестую вместе с интел компайлером как инндрикатерий грелку..
правда я не очень знаю как в шестой устроен визард работал без него
Но из обсуждения понял, что автора больше интересуют свойства среды разработки.
Нас инересовала не только среда разработки, хотя и она тоже. В большей степени инетресует компилятор и перспективы програмипрования на .NET.
Зачем програмировать на .NET, ведь можно и на VC6.0 всё, что надо писать, или нет?
Плюс, интересуют отличия самого процесса создания приложений. Т.е. работа с уже упомянутой средой рзработки, отличия в синтаксисе и, возможно, сама концепция написания программ.
Net -- современная платформа, а чтобы понять самому плюсы и минусы надо попробывать........
На .NET программы пишутся в N раз быстрее, (N >= 1.5, зависит от интеллекта)
Думаю, что со временем дотНет сильно оторвется от других старых технологий. Думаю прг под WinFX будет с N>5.
А имеет ли смысл сначала освоить vc60 и mfc60 соответственно, а потом переходить к .net?
Имеет, конечно.
Лучше забыть этот ужас под названием VC6.0 (без Visual Assitant вообще прогать невозможно). В 7ке прекрасно можно прогать и не под дотНет. Что мешает прогать под MFC или ATL в VC7.0.
Оставить комментарий
love_4ever
a?