В продолжение дискуссий Джеффа и Джоэла о архитектурах плагинов.
Плагины в C ++ (с использованием загруженных во время выполнения dll) всегда немного болезненны. Вам нужно проделать большую работу, чтобы включить их, и затем плагин также должен быть написан на C ++, часто даже с тем же компилятором. COM-объекты и ActiveX решили некоторые из этих проблем, но представили несколько своих.
Затем добавить, скажем, интерфейс Python к приложению C ++ - это большой объем работы.
Правильно ли я считаю, что все библиотеки (или сборки или как вы их называете), написанные на одном языке .Net, всегда могут вызываться с другого языка .Net? И могут ли объекты типы данных автоматически передаваться между ними?
Предположительно, поскольку все языки .Net также используют Winforms (или WPF) для графического интерфейса, предоставление плагинов доступа к графическому интерфейсу основного приложения также относительно просто.
Извините, если это довольно очевидный момент, я просто старомодный программист C ++. Но легкость повторного использования существующих библиотек C ++ через C ++ / CLI убедила меня в том, что C # /. Net может стоить больше исследований.
Edit - спасибо, я хотел обсудить, были ли плагины причиной для перехода к .Net. Возможность писать Ironpython, в то время как мои бизнес-пользователи могли написать простой плагин на VB, а технические пользователи могли создавать что-то умное в F # без необходимости выполнять больше работы, было хорошей причиной для перехода с C ++