Регистрация
4 Дек 2013
Сообщения
74
Репутация
0
Спасибо
0
Монет
0
Чем с++ отличается от с#?
 
C++ -универсальный (системное + прикладное программирование) язык смешанного уровня: включает как механизмы очень низкого (заимствованы из языка C), так и очень высокого уровня. Компилируется непосредственно в машинный код. ООП основано на множественном наследовании. Отсутствует сборка мусора. Развивается международным комитетом. Язык очень большой и сложный для освоения.

C# - высокоуровневый язык прикладного уровня. Компилируется в систему команд виртуальной машины .NET с дальнейшей компиляцией в машинный код. ООП основано на простом линейном наследовании и интерфейсах. Построен на основе сборки мусора. Изначально позиционировался как замена Java для Windows, но относительно недавно Microsoft стала делать компиляторы и .NET-машины не только для Windows, но и для других операционных систем. Развивается компанией Microsoft.
 
C++ -основан на C, исполняется непосредственно в твоей системе. Есть ещё различия, но они не столь очевидны.
C# - компилируется и исполняется в некой виртуальной машине .NET подобно Java(только у Java своя машина), после чего команды транслируются в код для твоего ПК.

И ещё они синтаксисом ОЧЕНЬ сильно различаются. И идеями. И правилами. И встроенными возможностями.
 
У С++ большая скорость исполнения программы, за счёт того, что язык более низкоуровневый, соответственно применяется там где эта скорость нужна: компоненты ОС - почти вся виндовс написана на С++ и не только виндовс, программирование микроконтроллеров - в частности ардуино (вроде как этот язык называется Arduino C, но по факту тот же С++ +пара новых стандартных библиотек).
С# вроде как изначально создавался для всяких веб проектов, но перерос в мега удобный язык для создания десктопных приложений под винду, в основном за счёт технологий, реализованных в .NET Framework (в частности таких которые автоматизируют создание десктопных приложений типа WinForms и WPF) и удобного С-подобного синтаксиса. Скорость выполнения в таких проектах не сильна важна, зато важна автоматизация всяких низкоуровневых штук, чтобы программисты могли сконцентрироваться непосредственно на решении основной задачи, а не на написании велосипедов и костылей.
 
Назад
Сверху