Недавно я работал с командой, которая использует как .NET C++, так и pre-.NET C++.
Я полностью понимаю технические различия между этими двумя технологиями. Однако иногда мне кажется, что я заблуждаюсь, когда речь заходит о терминологии, используемой для разграничения этих двух технологий.
Пример: Допустим, у нас есть два проекта:
ProjectA содержит код "C++", который создает DLL сборки .NET.
ProjectB содержит код Visual C++, который создает традиционную родную DLL Windows.
Как лучше всего кратко и терминологически провести различие между этими двумя проектами? Опять же, я не прошу глубокого технического описания различий между двумя технологиями. Я просто ищу названия и ярлыки.
Вот как сегодня я мог бы попытаться провести различие в разговоре с кем-то:
"ПроектА - это управляемый проект .NET C++".
и
"ПроектВ - это неуправляемый нативный проект C++ DLL".
Однако я совсем не уверен, что эта терминология идеальна или даже правильна. Пожалуйста, опишите, каким, по вашему мнению, должен быть идеальный язык для использования в этой ситуации (или похожих ситуациях). Не стесняйтесь мотивировать свой ответ.
Я бы использовал "C++/CLI" для обозначения управляемой сборки и просто "C++" (или "native C++") для обозначения другой.
C++/CLI - это "официальное" название диалекта C++ от Microsoft, который поддерживает .NET, поэтому, кажется, имеет смысл использовать его.