Мощный, но сложный: стоит ли изучать язык C++ в 2023 году
Image by cookie_studio on Freepik
С++ называют мамонтом в мире программирования. Его создал датский программист Бьерн Страуструп ещё в начале 1980-х годов. Несмотря на это, в течение последних 20 лет С++ остаётся одним из самых актуальных и широко используемых языков программирования. Например, благодаря С++ работают Яндекс.Поиск и поисковый движок Google. С его помощью создаются беспилотные автомобили, нейронные сети, сервера, видеоигры и даже пишутся музыкальные треки. Редакция Synergy Times узнала у руководителя отдела по разработке продуктов факультета программирования университета «Синергия» Николая Щербатенко, с чем это связано, в чём особенность этого языка и сколько платят разработчикам на С++.
Из этой статьи вы узнаете
Что пишут на языке С++
Зачем он химикам и диджеям
В чём сила и слабость этого языка
Сколько платят разработчикам на C++
Как учить язык C++
Что пишут на C++
Программисты ценят C++ за производительность и надёжность. В 2003 году он даже стал языком года в индексе TIOBE, в мае 2019 года оказался третьим по популярности в этом рейтинге, а в октябре 2022 года - четвёртым.
В 2022 году составители IEEE Spectrum отдали C ++ третью строчку. И, хотя сейчас в этом рейтинге лидирует Python, эксперты считают, что C и большие C-подобные языки (C++ и C #) превосходят по своей совокупной популярности Python.
Что же пишут на этом языке? В основном на C++:
-
разрабатывают игры и игровые движки. Например, язык использовался в ядре игровых движков Unreal Engine и Unity. На нём созданы игры Counter Strike, Diablo I, StarCraft: Blood War, Football Pro и World of Warcraft, а также многие игровые продукты для консолей Xbox и Playstation;
-
создают базы данных;
-
программируют встроенные системы, которые используются в управлении беспилотными автомобилями, сенсорами, умными часами, кофемашинами;
-
разрабатывают настольные и кроссплатформенные приложения. Например, на С++ написаны почти все продукты Adobe (Photoshop, Illustrator, inDesign, Acrobat, Adobe Premiere и т.д.);
-
создают операционные системы. На языке написана MacOS. Но разработчики считают, что С++ — избыточен и формирует громоздкие коды, поэтому в большинстве случаев ОС пишутся на чистом С.
Ещё C++ используют в разработке поисковых систем (например, Google), приложений с графическим интерфейсом, веб-браузеров, библиотек, при deep learning, в облачном программировании, на нём обучают нейросети.
Ранее создатель C++ Бьерн Страуструп признавался, что его «поразил диапазон применения C++».
«Это большая честь — осознавать, что язык используется повсеместно: в автомобилях, фильмах, играх, медицине, финансах, компьютерах, сельском хозяйстве… Больше всего меня радует, что С++ используют в науке: проект “Геном человека”, фундаментальные исследования в области физики в CERN и других лабораториях, марсоходы», — рассказал Страуструп в интервью онлайн-платформе Codecademy.Фулстек-разработчик: чем занимается, сколько зарабатывает и где на него учат
Читать подробнееЗачем C++ химикам и диджеям
C++ похож на конструктов Lego. На нём можно создавать всё, что угодно. Поэтому им пользуются не только программисты, но и другие специалисты.
Математики решают алгебраические уравнения с помощью численных методов, которые созданы на C++. А физики и химики моделируют на нём среды и физические процессы.
Художники научились писать алгоритмы на C++ для генерации картин и скульптур.
Генеративный дизайн колонны, созданный с помощью цифрового производства, автор: Майкл Хансмайер, aiartists.orgМузыканты используют этот язык для изучения акустических эффектов и даже пишут треки. Диджеи-программисты вживую на сцене создают алгоритмы, которые генерируют музыку. Такие вечеринки называются algorave.
Музыкальная вечеринка с живым кодированием, www.artrabbit.comВсем кодить! Зачем вашему ребёнку курсы программирования
Читать подробнееВ чём сила и слабость С++
C++ создавался на базе С, поэтому перенял у него некоторые сильные стороны и получил собственные. C++ отличают:
-
полноценное ООП-программирование;
-
обработка исключений;
-
поддержка множества стилей программирования. Разработчик может выбрать, в каком стиле писать программу;
-
высокая скорость. Разработка на С++ занимает меньше времени;
-
универсальность. С++ можно использовать во многих отраслях - от интернета вещей до веб-разработки и машинного обучения. Написанные на этом языке программы можно запускать на любых платформах;
-
высокая производительность. Язык не перегружает программу;
-
библиотека стандартных шаблонов (Standard Template Library). Она содержит универсальные шаблоны, которые реализуют широкий спектр алгоритмов и структур данных;
-
большое сообщество. Язык постоянно обновляется — новый стандарт выходит каждые три года (C++14, C++17, C++20). Он дополняется библиотеками и шаблонами. О нём написано много книг и самоучителей.
Но у C++ есть недостатки:
-
Легко допустить ошибку, которая приведёт к неправильной работе программы или её падению.
-
Сложно отследить неправильное использование механизмов ссылок, указателей и перегрузок на этапе поиска ошибок.
-
ООП может снизить быстродействие кода.
-
Возникают сложности с управлением памятью. С++ позволяет гибко управлять оперативной памятью. Но ошибки могут привести к утечкам или утяжелить приложение.
Новичку будет сложно выучить C++, однако после него проще освоить Java, JavaScript или C#.
Высшее образование
Стань фулстек-разработчиком, который умеет всё
Узнать подробнееСколько платят разработчикам на C++
По данным сервиса по поиску работы HeadHunter, junior-разработчик может зарабатывать от 40 до 140 тысяч рублей в месяц. Специалисту уровня middle российские работодатели платят от 80 до 250 тысяч рублей, а senior-разработчику — от 100 до 700 тысяч рублей в месяц.
hh.ru Средняя зарплата специалиста со знанием С++ в Москве превышает 120 тысяч рублей, а в Санкт-Петербурге — 100 000 рублей.Разброс в зарплатах программистов большой. Это зависит от нескольких условий: какой опыт у специалиста, работает он на фрилансе или в офисе, трудоустроен официально или ведёт собственный бизнес, где находится его работодатель — в мегаполисе или в небольшом населённом пункте.
hh.ru«Не соглашайтесь на зарплату сразу, к концу собеседования она вырастет» – чему учат будущих айтишников
Читать подробнееКак учить язык C++
Эксперты прогнозируют, что в ближайшем будущем C++ останется востребованным из-за широты своего применения. Например, с каждым годом становится больше устройств, поддерживающих технологию интернета вещей, а значит, спрос на разработчиков на С++ будет только расти.
Если у вас есть желание освоить этот язык, сейчас самое время приступить к этому. В интернете много ресурсов для самостоятельного изучения, найти их не составит труда. Например, можно воспользоваться «Руководством по языку программированию С++» на сайте о программировании metanit.com. Для тех, кто предпочитает видеоформат, есть обучающие ролики «Основы C++. Программирование для начинающих» от SimpleCode или видеоуроки на английском языке «C++ Programming Language Tutorials» от GeeksforGeeks.
Если вы новичок в программировании, вам будет сложно в одиночку справиться с информацией, которую обрушат на вас учебники и руководства по программированию. Чтобы выучить C++, нужна хорошая техническая база, её логичней всего получить в вузе. Ещё важно постоянно практиковать и решать задачи из всевозможных областей на этом языке.
Такая возможность есть на факультете программирования университета «Синергия». 25% учебного времени студенты изучают теорию, 30% - посвящают практике, а 40% займёт отработка полученных во время учёбы навыков на реальных кейсах. Каждый студент получает стажировку или начинает полноценно работать в компаниях-партнёрах вуза уже с 3 курса. К окончанию обучения студенты имеют портфолио с более чем 20 проектами.
Высшее образование
Научись создавать сайты под ключ
Станьте фулстек-разработчиком, который умеет всё. Изучите программирование, технологии веб-разработки, методы создания и продвижения продуктов, работу с базами данных и алгоритмами. Уже во время обучения сможете устроиться на работу и получать от 100 тысяч рублей.
Узнать, как поступить