Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

В чем различие C++ и C#?

ПрограммированиеC++C#
Трофимов Вячеслав
  · 166
Погромист на C#  · 20 дек 2021
Примерно во всём. (даже не касаясь различий синтаксиса, в котором общее разве что использование скобок и схожие ключевые слова)
C++ компилируется сразу в нативный код
C# в промежуточный язык, который запускается в виртуальной машине.
C++ поддерживает множественное наследование
C# - нет
В C++ есть шаблоны, на которых просто дичайшие вещи можно творить (что потом хрен разберёшь)
В C# есть женерики, которые могут не так много
В C++ есть макросы
В C# нет
В C++ нет сборщика мусора
В C# есть
В C++ очень легко выстрелить себе в ногу, словить SEGFAULT итд
В C# это сделать очень сложно
У C++ за 40 лет вышло уже куча версий, которые полностью меняли идеоматику, и код на разных версиях языка бывает очень сложно понять
C# существует всего 20 лет, и таких жёстких изменений не было
У C++ есть множество реализаций, некоторые из которых ещё и несовместимые вещи привносят.
У C# лишь один мейнстримный компилятор.
Большой проект на C++ может компилироваться несколько часов на очень мощном железе.
Тем временем аналогичный проект на C# соберётся за несколько минут.
У C++ всё ещё нет никакого централизованного репозитория с пакетами и какой-нибудь основной системы сборки.
У C# есть и то и другое.
На C++, из-за большого разнообразия компиляторов, можно писать код, наверное, под все известные архитектуры процессоров и все ОС.
Для C# пока есть реализации рантайма только для x86, ARM и MIPS, а из ОС - Linux, Windows, MacOS (ну и android с ios)
Большинство компиляторов C++ применяет очень много сложных оптимизаций при компиляции.
Для C# большинство оптимизаций происходит уже во время выполнения.