Чтобы разобраться какой язык лучше, я расскажу о преимуществах каждого языка и сделаю вывод.
Преимущества:
- Скорость разработки
С# позволяет стартовать разработку быстрее, а это позволяет быстрее получить прототип решения. Скорость разработки на С# на начальных этапах проекта значительно выше по сравнению с С++
- Лёгкий синтаксис
У С# синтаксис намного проще и лаконичнее чем в С++ (хотя это не всегда можно было сказать про первые версии C# ). Синтаксис С# , пожалуй, можно назвать упрощенной версией С++. теперь C++ теперь С++
Преимущества:
- Кросплатформенность
С++ кросплатформенный по факту, хотя и с некоторыми оговорками, дополнительными затратами, а также бинарной несовместимость между платформами.
- Библиотеки
Отличие ассортимента С++ и С# библиотек в том, что С++ библиотек больше, они имеют большую историю, за которую стали неплохо отлажены и оптимизированы, часто кросплатформенны, многие с открытым кодом.
- Производительность кода и требовательность к ресурсам
Почти любая задача на С++ может быть решена с меньшими требованиями к ресурсам. Поэтому в тяжелых задачах, связанных с обработкой большого количества данных, С++ имеет сильные преимущества перед С# .
Вывод
Не могу сказать, что есть универсальный ответ на вопрос «С++ или же С# использовать для очередного проекта?», однако же могу сказать, что в разные периоды своей деятельность я бы по разному отвечал на вопрос о выборе, и если раньше я бы не рассматривал C++ как предпочтительный выбор, то сейчас в большем количестве случаев склонюсь к тому, чтобы использовать его. Однако, думаю, что для быстрого прототипирования под Windows C# является и, возможно, будет являться предпочтительным решением относительно С++.