Лучше? Лучше как? Полегче? Быстрее?
C++ - чудовище, которому нужно учиться, огромный и сложный, как есть. C# значительно «дружелюбнее» и легче работать. C# часто позволяет вам выполнять задачи быстрее и проще, чем C++, потому что язык и его структура делают для вас много работы. Это часть того, что делает C# лучше, чем C++, и что делает C++ лучше, чем C#.
Если вы позволите C# выполнить работу за вас, это означает, что вы, как программист, жертвуете некоторым контролем. Это то, что устанавливает язык высокого уровня, кроме низкоуровневого. Для , требующих приложений, программисты склонны выбирать язык, который обеспечивает необходимое количество абстракции, при этом обеспечивая необходимый контроль. Вот почему многие , требующие приложений (например, видеоигр), написаны на C++. Он имеет довольно большой набор функций высокого уровня, при этом все еще упаковывая мощность, чтобы тянуть действительно низкоуровневый код для ситуаций, когда вам необходим абсолютный контроль над оборудованием. Именно поэтому многие бизнес-приложения и другие менее требовательные приложения написаны на языке высокого уровня, таком как C#, поскольку эти приложения не подходят для низкоуровневых функций и могут безопасно пользоваться преимуществами высокоуровневых приложений, не беспокоясь о производительности штрафы.
В случае с C# все приложения, созданные с ним, запускаются в среде выполнения .NET. Это недостаток для программ, которые нужно быстро запускать, поскольку вы хотите быть как можно ближе к оборудованию. Таким образом, C++ выигрывает за , требуя приложений, где важна скорость выполнения или использование памяти. Также C++ можно использовать на очень большом количестве платформ, от ПК до кофейных машин (хорошо, сотовые телефоны, тогда), а C# официально ограничена платформами под управлением Microsoft Windows.
Что касается простоты разработки на Windows, C# является явным победителем. Имеются также фреймворки для C++, но они даже не близки к C#, когда дело доходит до того, чтобы сделать все быстро и просто. Тем не менее, вполне возможно написать сложные графические приложения для Windows на C++ без лишних ругательств.
В любом случае, надеюсь, вы видите, как мало смысла сравнивать языки, подобные этому. Это похоже на сравнение молотка с отверткой. Выбор языка - это выбор правильного инструмента для работы. Многие инструменты перекрываются - вы можете сделать почти то же самое в C++ и C#, что усложняет выбор. Если вы действительно хотите прочитать это (идя на «образованный выбор»), я предлагаю вам ознакомиться с отдельными языками. Если вы просто задаетесь вопросом, какой язык учиться, я предлагаю вам начать с C# и изучить C++, если вам когда-либо понадобится (или хотите).
Что заставляет вас чувствовать, что с C# не создаются большие программы? Сколько больших программ вы когда-либо видели? –
Какие программы были закодированы на C#? –