Вам мало языка C? Попробуйте C++
medium

Вам мало языка C? Попробуйте C++

Шустрый, мощный, весь обвешан классами.

С++ — это Си с классами

Когда в 1973 году вышел С, это было круто — можно было писать почти любые системные программы на языке высокого уровня без всякого ассемблера. И первое время его хватало всем.

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

Вначале это была как бы просто надстройка над стандартным С, и даже был компилятор, который переводил этот код в обычный код на С. Но со временем язык усложнялся, всё больше отходил от концепции привычного С, и в 1983 он стал отдельным полноценным языком со своими возможностями и особенностями. Тогда же у него появилось название C++ .

В чём сила C++

С++ унаследовал от C все его сильные стороны и добавил новые:

  • полноценное ООП-программирование;
  • перегрузку операторов (в умелых руках это очень мощная штука);
  • полноценную обработку исключений (это когда вы заранее продумываете, что может пойти не так, и успеваете сами предусмотреть поведение программы при ошибках);
  • некоторую автоматизацию при работе с памятью.

Недостатки C++

Может показаться, что по сравнению с C у C++ больше недостатков, но это не так — они просто другие и возникли по другим причинам. Вот некоторые из них:

  • Допустить ошибку, которая приведёт к неправильной работе программы или к её падению, стало ещё проще.
  • Неправильное использование механизмов ссылок, указателей и перегрузок сложно отловить на этапе поиска ошибок.
  • Встроенные способы обхода ограничений компилятора дают непредсказуемые результаты (хотя, опять же, иногда это бывает полезно).
  • ООП-реализация может на несколько процентов снизить быстродействие кода. Иногда это критично.
  • Сложно писать кроссплатформенный код, чтобы он легко портировался на другие платформы.
  • Для полного раскрытия потенциала C++ нужно знать язык действительно хорошо, иначе не будет выигрыша в скорости или эффективности.

Что сейчас пишут на C++

На C++ пишут то же, что и на C — системные приложения, драйверы, операционные системы и софт для встраиваемых систем. Но благодаря ООП область применения C++ получилась немного шире, чем у С. Вот что написано на C++ :

  • почти все продукты Adobe (Photoshop, Illustrator, inDesign, Acrobat и так далее);
  • почти все главные продукты Microsoft (Windows, Office, IE, Visual Studio, SQL);
  • большая часть MacOS (включая интерфейс Finder);
  • интерфейс iPod;
  • приложения Autodesk для проектировщиков;
  • высоконагруженные компоненты платформы Facebook;
  • поиск Google, движок Chromium;
  • Havoc — реалистичный физический движок, который используется в играх;
  • софт для бортовых компьютеров самолётов Lockheed (Стелс, например);
  • прошивки для двигателей MAN — тягачей;
  • большая часть медицинского софта компании Siemens.

А вот часть игр, которая тоже написана на C++ (или на C++ написаны движки для этих игр):

  • Doom III engine;
  • Football Pro;
  • Kings Quest;
  • Antara;
  • SWAT;
  • StarCraft;
  • Diablo II: Lord of Destruction;
  • Warcraft III;
  • World of Warcraft.

World of Warcraft написан на C++
Движок Doom3 — тоже на C++ …
…как и Finder — ключевой элемент интерфейса MacOS

С чего начать

Если вы любите смотреть видео, то можно начать с этих уроков:

А это любителям классических книг и статей:

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