Я по традиции программист на C ++. За последние 12 месяцев я много занимался кодированием на C # и был приятно удивлен прагматичным подходом C # (однажды я перестал пытаться кодировать его так, как будто это «C ++ с сборкой мусора»).
Недавно у нас было несколько выпускников, и когда я помогал одному из них, я понял, что она использует .Net в C ++. После того, как она спросила, почему, она сказала, что "ее менеджер сказал ей использовать C ++". Помимо очевидной проблемы со связью, я предполагаю, что она использовала .Net, потому что это единственная структура, с которой она сталкивалась.
Затем я наткнулся на старый проект старшего разработчика, который также использовал C ++ для управления внешним интерфейсом Forms. Теперь это было бы написано примерно в то время, когда впервые появился .Net, поэтому я предполагаю, что с его стороны это было обучающее упражнение, чтобы поиграться с .Net. Это было всего лишь небольшое вспомогательное приложение.
Мне пришлось внести незначительные изменения в это приложение, и мне показалось, что использование C ++ для управления .Net дает вам худшее из обоих миров. Никакой сборки мусора или безопасности памяти, но также нет реальной скорости / возможностей оптимизации, так как вы имеете дело с управляемой средой.
Поэтому мой вопрос заключается в том, используют ли люди C ++ .Net для какого-либо большого отдельного (т.е. не подключенного) производственного кода, и если да, то каковы ваши причины для этого? Я свободно признаю, что никогда не углублялся в расширения C ++ .Net, так что я могу оказать ему плохую услугу.