Почему C ++ / CLI не поддерживает веб-приложения? - PullRequest
2 голосов
/ 25 октября 2011

Я потратил некоторое время на изучение C ++ / CLI, я чувствую, что это мощный язык .Net, особенно в концепции взаимодействия.Я думаю, что это будет хорошим шагом, если этот язык расширит свою совместимость для включения asp.net, до сих пор последняя версия не поддерживает asp.Но я не знаю, есть ли план сделать это в будущей версии.Есть ли причина, по которой последняя версия C ++ / CLI не может справиться с asp как C # или VB?

Ответы [ 3 ]

2 голосов
/ 25 октября 2011

C ++ / CLI никогда не предназначался как язык общего назначения.Он в значительной степени существует только для целей взаимодействия.

Если у вас есть библиотека C / C ++, которую вы хотите использовать в своем приложении .Net (будь то собственный код или что-то вроде WinAPI), C ++ / CLI являетсяхороший способ создать управляемую оболочку для этой библиотеки или полностью написать приложение целиком, если это не так уж много работы.

Кроме этого, вы, вероятно, должны использовать C # (я думаю, что это мало что даетсмысл учить VB.NET, если вы уже знаете C ++).Другие альтернативы - F #, если вы думаете, что ваше приложение выиграет от функционального стиля.Или IronPython (или IronRuby), если вы думаете, что выиграет от динамической типизации.

И, конечно, вы можете смешивать языки, если часть приложения будет лучше в одном из них, а другая - в другом.

Еще одной причиной, по которой вообще не используется C ++ / CLI, является его слабая поддержка в VS (без IntelliSense) и способность C # взаимодействовать с собственными библиотеками DLL с помощью P / Invoke.

Для повторения используйтеC ++ / CLI, если вам нужно взаимодействовать с собственными DLL или уже написанным кодом C / C ++.Для других задач вам, вероятно, следует использовать C #.

0 голосов
/ 25 октября 2011

Компилятор Visual C ++ не поддерживает частичный класс, то есть до тех пор, пока C ++ / CX не придут с помощью проекции WinRT.Традицию one-obj-file-per-cpp трудно сломать.

Без функции частичного класса разработчикам форм необходимо редактировать тот же файл, над которым вы работаете.Это означает, что нужно проанализировать файл с большим количеством ненужного текста, иметь дело с макросами и т. Д., А главное - избежать ошибок, которые могли бы заменить ваш важный код как созданный дизайнером.Я не могу представить, что многие команды хотят иметь дело с этим, особенно для небольших команд, таких как редактор настроек.

Кроме того, синтаксические анализаторы C ++ работают медленнее, чем парсеры для простых языков.Для веб-дизайнеров, если переход на язык Similair может получить более быстрый дизайнер и компилятор, почему бы и нет?

0 голосов
/ 25 октября 2011

Я не уверен, есть ли какая-то причина, по которой ASP.NET изначально не поддерживает встроенный C ++ в файлах aspx, кроме того, что команда разработчиков не думала, что это стоило затрат (я предполагаю, что это то, что вы имеете в виду).

Однако вы должны быть в состоянии реализовать программный код в C ++.Это даст вам 95% пути, хотя вам все равно придется кодировать свои страницы в C # или VB.NET.

http://www.codeproject.com/KB/mcpp/helloworldmc.aspx (не моя статья, просто ссылка)

...