Чем отличается C от C++
easy

Чем отличается C от C++

На 99% — ничем, но в C++ есть родная поддержка ООП.

Короткий ответ: C++ — это улучшенный C. У этих языков одинаковый на 99% синтаксис и команды, но C — это больше про структурное и процедурное программирование, а C++ — про объектно ориентированное.

C — язык, который сделал в 1973 году Деннис Ритчи. Главная цель языка — скорость, быстродействие и универсальность. Язык изначально проектировался как системный, чтобы на нём можно было писать код для процессоров, драйверов и создавать на нём операционные системы. В то время большинство этих вещей делали на ассемблере, и Ритчи хотел это упростить.

C++ придумал Бьёрн Страуструп в начале восьмидесятых, когда ему не хватало возможностей стандартного C. Он сделал язык более строгим, добавил в него классы, ООП-подход и перегрузку операторов, сохранив скорость оригинального С. В 1983 году Бьёрн переименовал язык из «C с классами» в C++.

👉 О перегрузке операторов как-нибудь в другой раз :-)

CC++

Код читается проще 

Код выглядит сложнее 

Проще портировать код на другие платформы 

Из-за особенностей языка код портировать сложнее 

Есть структуры и переменные типа «структура» 

Есть классы и объекты 

Наследование — это структура внутри структуры 

Классическое наследование в стиле ООП 

void — обязательное слово 

Использовать слово void не обязательно 

Можно объявлять глобальную переменную несколько раз 

Глобальная переменная объявляется только один раз 

Исключения нужно конструировать самому 

Есть обработка исключений 

Нет перегрузки операторов 

Операторы можно перегружать 

Почти всё стандартно и предсказуемо 

Легко написать код, в котором непонятно, где ошибка 

Для чего изучать

C — классический язык разработки системного ПО и любого софта для микропроцессоров. На нём написаны Linux, большая часть Windows и MacOS. Если взять любой современный носимый гаджет или электронное устройство, в большинстве случаев они работают тоже под управлением программы на C. В мире огромное количество кода, который написан на C (и ещё столько же будет написано), поэтому проблем с работой у C-программистов не предвидится.

C++ — выбор тех, кому одновременно нужна вся мощь C и гибкость объектно ориентированного программирования. Counter-Strike, StarCraft и World of Warcraft написаны на C++, а это значит, что можно сочетать производительность C и современные технологии. Часть движка Unity тоже написана на C++, чтобы получить прямой доступ к памяти и ресурсам системы.

На самом деле нет такой уж большой разницы между C и C++. Это одинаково мощные и быстрые языки, просто у них разная область применения и стиль программирования.

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

Сторонникам ООП больше подойдёт C++ — в нём уже есть всё, что нужно для работы с объектами, областями видимости и прочим добром. Иногда такой код сложнее поддерживать и он может работать на несколько процентов медленнее, чем на C, но в нём есть та свобода, которой нет в оригинальном языке. Та же перегрузка операторов — удивительно мощная вещь в умелых руках, которая может сэкономить много времени и ресурсов.

Чтобы было понятнее, скоро напишем подробно про оба языка. А вы не болейте и берегите себя.

Получите ИТ-профессию
В «Яндекс Практикуме» можно стать разработчиком, тестировщиком, аналитиком и менеджером цифровых продуктов. Первая часть обучения всегда бесплатная, чтобы попробовать и найти то, что вам по душе. Дальше — программы трудоустройства.
Начать карьеру в ИТ
Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию Получите ИТ-профессию
Еще по теме
Для чего нужен язык C#

Как в Микрософте сделали свой язык программирования. И зачем.

easy
Логическая задача
Задача имени Якубовича: три шкатулки с деньгами

Интуиция обманет вас в этой задаче. Попробуйте лучше теорию вероятностей, это легко.

hard
Домашний кинотеатр на Raspberry Pi

Превращаем любой телевизор в умный гаджет.

easy
Почему синий светодиод — самый сложный
Почему синий светодиод — самый сложный

Один диод, чтоб править всеми

easy
Что такое интернет вещей
Что такое интернет вещей

И что вещи делают в интернете, когда мы не смотрим

easy
Что такое вычислительная фотография и как она работает
Что такое вычислительная фотография и как она работает

Обработка одновременно со съёмкой

easy
Что такое драйвер и зачем он нужен
Что такое драйвер и зачем он нужен

Это виртуальная инструкция к любому «железу» в компьютере

easy
Нейронки-2024: обзор лучших для создания изображений
Нейронки-2024: обзор лучших для создания изображений

Классика, хехе

easy
Что такое XML
Что такое XML

Логическая разметка данных

easy
easy
[anycomment]
Exit mobile version