Джен, меня беспокоит формулировка вашего вопроса.
"Моя команда планирует разработать приложение, которое изначально предназначено для Windows, но в конечном итоге будет развернуто кроссплатформенно (Mac, Linux и потенциально встроенные устройства)."
Планируется ли кроссплатформенность или нет? Я могу сделать вывод, что код будет изначально написан для Windows, а затем, может быть, через некоторое время будут потрачены усилия на изменение проекта для межплатформенных возможностей. Это не будет полезно для вашего здоровья или здоровья вашей команды! Определенное деловое решение должно быть принято здесь. Одно из золотых правил кроссплатформенной разработки - относиться ко всем целевым платформам с абсолютным равенством.
Можете ли вы использовать C # для встроенных сред? Это уже сделано коммерчески? Просто любопытно.
«Мы прогнозируем, что с помощью C # мы сможем разрабатывать наш продукт быстрее и с меньшими затратами благодаря повышению производительности по сравнению с C ++»
Что вы имеете в виду «проектирование»? На какие факты и цифры вы делаете этот прогноз? Не забывайте, что усилия по написанию кода в некоторых проектах составляют всего около 20% от общего усилия, необходимого для вывода продукта на рынок. Так что вопрос сравнения производительности компьютерных языков может быть не таким значительным. По моему опыту нецелесообразно выбирать компьютерный язык по так называемым критериям производительности.
«Мы играем в азартные игры» Я согласен с этим, и азартные игры, кажется, противоречат смыслу планирования. Вопрос в том, каковы риски?
Рассматривали ли вы интернационализацию?
Да, я критичен, но тот, кто платит деньги за этот проект, вполне может быть более сомнительным.
Книга:
Кроссплатформенная разработка на C ++: создание приложений для Mac OS X, Linux и Windows от Syd Logan - ISBN 032124642X
Дает представление о проблемах.
Я работал над кроссплатформенными и интернационализированными проектами для Windows, Mac и Linux с использованием C ++ / Qt. Последнее хорошо подходит для обеих проблем. Одна неприятность, которую я испытываю к Qt, это то, что она не является современным C ++ в идиоме и не поощряет использование современных идиом C ++. Так же, как MFC.