Другие языки программирования и технологии

Что такое C++/CLI ?

Пытаюсь самостоятельно изучать С++ по учебнику Хортона.
В нем материал подаеться в разрезе сравнения
"родного" С++ (ISO/IEC C++) и его
"расширенной версией" C++/CLI.

Но не понятно место C++/CLI в иерархии языков.. . Почему этот термин "C++/CLI" не часто встречаеться в литературе, на форумах и вакансиях/резюме программистов? Может у него есть какой-то более распространенный синоним?

Можно ли сказать, что "C++/CLI" являеться "не-до-" С#. И тогда грамотней не его изучать, а сначала "ISO/IEC C++", а потом С#?

Можно ли сказать, что вакансия на программиста С++ подразумевает знание ИМЕННО "C++/CLI", а не "ISO/IEC C++"? Или ТОЛЬКО наоборот?

Я осознаю, что постановка вопроса поверхностная и примитивная, но все же.. .
Заранее благодарен за подсказку!
> Можно ли сказать, что "C++/CLI" являеться "не-до-" С#.
Увы, да.
У C++/CLI есть большой плюс перед C# - поддержка неуправляемого кода и неуправляемых заголовков, в т. ч. Windows.h (WinAPI).
То есть C++/CLI действительно расширение к чистому C++, а не альтернатива, как C#.
Но, вместо того, чтобы дорабатывать C++/CLI, добавив в него синтаксический сахар C#, написав реализацию под WPF и др. , в Microsoft почему-то решили не только не развивать этот язык, но и потихоньку пересаживать всех на C#, делая разработку на C++/CLI всё менее удобной.
В VS 2010 для C++/CLI не работало IntelliSense, в 2012 IntelliSense вернули, но зато убрали шаблон проекта Приложение Winforms...
Документацию по C++/CLI никто толком не пишет. .
Все это и свело его популярность почти на нет.

> Можно ли сказать, что вакансия на программиста С++ подразумевает знание ИМЕННО "C++/CLI", а не "ISO/IEC C++"?
Знаний чистого C++ мало.
Нужно знать какой-нибудь фреймворк для работы с GUI, сетью, данными и т. д. Например, Qt, VCL (C++ Builder), WinAPI.
CLI (точнее, .NET) тоже подошел бы, но под .NET обычно на C# пишут, см. выше
С К
С К
15 749
Лучший ответ
С++/CLI - это адаптация C++ для .NET
То есть, взяли C++/ISO и добавили в него объектную модель Common Language Infrastructure

Соответственно, чаще Вы встретите упоминание о C++ и .NET раздельно.

Вакансия программиста подразумевает знание C++/ISO, однако, если там же указано требование о знании .NET, стоит задуматься/уточнить
С++/CLI это гибрид обычного С++ и C#

Это позволяет использовать старый код написанный на C++ в проектах .NET
Например вы можете к старой программе на С++ привесить визуальный интерфейс состоящий из всяких кнопочек форм и т. д и всё будет работать.

В C# такое невозможно.

При разработке на С++/CLI код на C# выглядит немного странно там надо добавлять всякие птички галочки чтобы отличались команды на C# от таких же команд на С++

К стаи говоря насколько я понял С++/CLI ещё называют "visual c++"
И по visual c++ есть довольно много литературы.
Возможные значения CLI: https://ru.wikipedia.org/wiki/CLI
Это, возможно, создание консольных приложений или адаптация под NET.
Это возможнасть писать программки через библиотеку фрамеверка т. е. NET