На заметку Отличие С++ от Си и отличие С# от С++


virt

Просветленный
Просветленный
Регистрация
24.11.2016
Сообщения
706
Репутация
228
Всем привет, многие новички непонимают в чём отличие Си от С++, а также отличие С# от С++...

Предлагаю разобраться в этом вопросы и расставить все точки над Ё ! :)

Итак отличие Си от С++:

Вообще С++ построен на Си и отличие только в том-что добавлены расширения ООП, например в С++ можно работать с классами, также добавлены свои класы и типы данных, например появился класс string (для работы со строками) и т.д.

На самом деле в С++ много чего есть в отличие от Си !Dmeh-Smeh-Smeh!!!

В то-же время в С++ можно работать и как в Си, например mallock, *char и прочее-прочее никуда не делось...

В чём-же отличие С# от С++:

Есть сходства в синтексисе, т.к. оба языка так-же как и Java основываются на Си, но всё-же отличие от С++ есть так-как этот язык разрабатывает Microsoft, например в С# не нужно заботится об освобождении памяти и т.д., многие новые API фреймворка появилось в C#, которых в С++ нет.

Ну и главное отличие в C# и Java при компиляции код транслируется не в машинные коды, а в коды фреймворка...

ИТОГ:

С++ и С# хоть и Си-подобные языки, НО ЭТО РАЗНЫЕ ЯЗЫКИ, хотя сходства есть, основное сходство, это в применении принципов ООП (Полиморфизм, наследование, инкопсуляция), если ООП для вас не просто три буквы, то вы относительно безболезненно сможете перейти с С++ на С# и Java.

Наоборот переход сложнее, ибо в С++ более аппаратно зависимые программы, чем на С#.

Что лучше учить ?

Моё субъективное мнение, лучше начать с С/С++, далее уже изучив мат. часть, уже можно переходить к C# и Java, да может там немного другой подход, но если освоите ООП, это дело 5-10 дней перейти на другой язык ! :)

Ну и последнее области применения языков:

1) Классический Си, это разработка ОС, разработка "прошивок" для контроллеров и т.д.

2) С++, также разработка ОС (Более высокий уровень), разработка прикладных программ, разработка драйверов.

3) С# и Java - Написание платформо-независимых прикладных программ, написание программ для бизнеса, сети и т.д.
 
Верх Низ