Будете ли вы использовать C ++ / CLI, если поддерживается как C # и VB.NET? - PullRequest
3 голосов
/ 07 октября 2008

У меня всегда было что-то для C ++ / CLI. Может быть, потому что не многие разработчики используют его ... или просто потому, что он другой.

Предположим, что Microsoft полностью поддерживает C ++ / CLI, как и VB.NET и C # (т. Е. LINQ, WPF и т. Д.). Вы бы использовали это?

Если нет, то почему?

Ответы [ 8 ]

14 голосов
/ 07 октября 2008

Я делаю используй это. Даже при относительном отсутствии поддержки инструментов, он все еще превосходит необработанный P / Invoke для работы с Win32.

Что касается LINQ, я не хочу видеть слишком много взломанного языка C ++. LINQ достаточно применим как есть - если они собираются улучшить компилятор, они должны работать с поддержкой C ++ 0x ...

5 голосов
/ 07 октября 2008

Все дело в использовании правильного инструмента для правильной работы. Я использую C ++ / CLI для взаимодействия с платформой, потому что намного проще получить правильный маршалинг. Я использую C # для почти всей другой работы .NET, с некоторыми VB.Net (мне нравится встроенный XML). Я признаю, что еще не изучил IronRuby, IronPython, F # или любой другой язык .NET, но я серьезно рассматриваю это только для того, чтобы расширить свой арсенал программирования.

Чтобы ответить на вопрос, я не думаю, что использовал бы его больше, чем я уже делаю, потому что я чувствую, что уже использую это для работ, которые он подходит лучше всего. На мой взгляд, C # по-прежнему является лучшим языком .NET, потому что он был специально разработан для этой платформы, а не подбирал более старый язык, чтобы соответствовать ему. Добавление лучшей поддержки C ++ / CLI только уменьшит время моей разработки, а не повлияет на использование другого языка.

4 голосов
/ 07 октября 2008

... но я не совсем понимаю, что C ++ / CLI предлагает, а C # - нет. - @ Томас Оуэнс

Одно огромное преимущество (в моей книге) - это RAII (см. ответ , данный Адамом Райтом на мой вопрос о RAII в .NET ).

4 голосов
/ 07 октября 2008

C ++ / CLI очень эффективно справляется с задачей объединения управляемого и неуправляемого кода. Это позволяет вам представить то, что похоже на совершенно нативную библиотеку C # со 100% -ным доступом к нативным библиотекам C ++ / «изнутри». Это не упражнение в элегантности, но в истории практических инструментов программирования, что сравнивает?

Если вам нужны LINQ и WPF, просто используйте C #. В этом прелесть C ++ / CLI: напишите свою управляемую оболочку, а затем вернитесь к C #. Я не вижу C ++ / CLI, намеревающегося заменить C # для повседневного использования.

1 голос
/ 07 октября 2008

Я бы не использовал его, потому что я не хочу быть привязанным к огромному времени выполнения. И мне не нравятся все эти ^ указатели:)

Мне нравится / не нравится отличная библиотека, которую предлагает .NET.

1 голос
/ 07 октября 2008

Я смешиваю C ++ / CLI с MFC, чтобы использовать преимущества WPF и XAML, но я использую новые компоненты ленты C ++ 2008, не содержащие лент. :)

1 голос
/ 07 октября 2008

Возможно ... но я не совсем понимаю, что C ++ / CLI предлагает, а C # - нет. Указатели, возможно? Я выполнил все свое программирование на .NET (то, что немного сделал) на C #, и я начинаю изучать F #, но если бы он был полностью поддержан и хорошо документирован, я бы попробовал. 1001 *

0 голосов
/ 30 сентября 2011

Я использую его для поддержки устаревшего кода, а также для написания разделов между управляемым и собственным кодом. Люблю, что VS11 поддерживает его гораздо лучше

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...