• РЕГИСТРАЦИЯ

Язык прошлого до будущего доведет. Создатель С++ рассказал о скрытых возможностях кода

1 183

Возможности языка C++, разработанного в 80-е годы XX века, до сих пор остаются одними из наиболее востребованных в разработке программного обеспечения, но их можно многократно усилить, если отказаться от старых способов написания кода. Об этом 4 февраля написал создатель языка Бьерн Страуструп в статье на сайте Communications of the ACM. Опрошенные «Экспертом» специалисты отрасли рассказали о преимуществах и проблемах кодирования с помощью C++. Он остается одним из самых популярных и востребованных языков в мире программирования.

C++ стабильно удерживает лидирующие позиции в TIOBE — одном из наиболее известных рейтингов популярности языков программирования. Он оценивается по запросам в поисковиках. В период с 2001 по 2024 гг. C++ не опускался в рейтинге ниже пятой позиции, всего TIOBE отслеживает 50 языков. На C++ написаны такие современные системы, как программный пакет Adobe, главные продукты Microsoft (Office, Visual Studio), поисковая система Google, значительная часть MacOS, внутренние системы Facebook и Siemens. C++ известен благодаря высокой производительности и широкому распространению, он также считается одним из самых сложных в изучении языков программирования.

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

Чтобы использовать какие-либо заранее подготовленные функции в языке (библиотеки), например, для математических вычислений, программист должен сначала «подключить» их к своему коду. Для этого в C++ традиционно используется команда #include (в самом начале кода пишем: #include ). Как пишет Страуструп, замена #include на существующую в C++ аналогичную и более современную команду import позволяет ускорить работу кода почти в 25 раз, при этом возникает значительно меньше ошибок.

Одна из больших трудностей C++ заключается в работе с памятью. Если в большинстве современных языков программирования она осуществляется автоматически, в C++ программист должен сам за ней следить и освобождать её, если она не используется. Это как если бы после каждой строчки, которую мы копируем с помощью Ctrl+C, нам приходилось самостоятельно удалять её потом — иначе произошла бы утечка памяти. Страуструп настаивает на отказе от традиционных для C++ инструментов работы с памятью вроде сборщиков мусора — они освобождают ее автоматически. Сборщики мусора часто работают неэффективно и с ошибками, а подходы вроде RAII (Resource Acquisition Is Initialization) способны значительно снизить вычислительную нагрузку и обезопасить код, указывает Страуструп.

Эти и многие другие способы улучшить код уже существуют в C++, и главная проблема в том, что они почти не используются, уверен он. «Избегать неоптимальных методов сложно. Старые привычки умирают с трудом. Привычность часто путают с простотой. В сети и учебных материалах циркулирует много запутанной и устаревшей информации», — пишет Страуструп.

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

Язык C++ по-прежнему остается актуальным, поскольку значительная часть прикладного программного обеспечения — базы данных, операционные системы и критически важные компоненты современного ИТ — написана на нем, указывает в комментарии «Эксперту» директор продуктового направления компании «КомьюнитиТех» (Community tech) Игорь Горячев. Однако у языка есть и проблемы. Одна из главных — это низкоуровневая работа с памятью, которая может привести к ошибкам в коде, отмечает аналитик. Около 80% уязвимостей, используемых для взлома компьютерных систем, связаны с некорректной работой с памятью, добавляет он.

Одной из главных проблем C++ можно назвать стремительное появление новых стандартов языка (каждые три года) после практически десятилетия затишья — между стандартом 2003 г. и «новой эрой C++», которую открыл стандарт C++11 в 2011 г., считает академический руководитель магистерской программы «Системная и программная инженерия» факультета компьютерных наук НИУ ВШЭ Сергей Шершаков. В последние годы язык движется в сторону упрощения: стали появляться конструкции, которые идейно призваны облегчить решение прикладных задач, сообщил Шершаков «Эксперту». Однако реализация и поддержка этих конструкций — так, чтобы соблюдалась главная идея языка: «принцип нулевых добавленных накладных расходов» (the Zero-Overhead Principle) — весьма сложна, и сложность эта ложится не только на разработчиков компиляторов и инструментов проектирования, но и на разработчиков библиотек, которые хотят поддерживать код в относительно «свежем» состоянии.

Главной проблемой и одновременно достоинством С++ является огромное количество функций и библиотек, считает директор по развитию программных продуктов разработчика программного обеспечения «АЛМИ Партнер» Сергей Аксенов. Это позволяет реализовать одну и ту же логику множеством способов, поэтому язык является сложным для изучения, высокая вероятность допустить ошибку, пояснил он «Эксперту».

С++ достаточно сложен из-за огромного набора функционала, при этом «упрощение» языка и отсечение старых методов и синтаксиса может ударить по совместимости и лишить язык его основных преимуществ, уверен Аксенов.

«Говорить о снижении „порога входа“ для начала работы с такими системами — это то же самое, что говорить о снижении „порога входа“ в профессию врача, например, за счет удаления из человеческого организма части органов: действительно, в целом это упрощает систему», — говорит Шершаков.

Чтобы снизить порог входа для начинающих, стоит, например, разработать более интуитивно понятные библиотеки или инструменты, которые скрывают сложные детали управления памятью, допускает Горячев.

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

Область применения языка весьма широка: это и системные приложения, и настольные пакеты, программы для обработки графики и мультимедиа, серверные приложения (особенно в области высоконагруженных систем), код для микроконтроллеров, перечисляет Шершаков. Все вычислительные программные ядра для востребованного сегодня искусственного интеллекта написаны на C++, язык Python здесь — не более, чем обертка, хотя для многих она и является единственным видимым программным звеном к ИИ, продолжает он. C++ довольно активно применяется для разработки мобильных приложений, особенно предъявляющих повышенные требования к производительности, и даже для веб-приложений, пусть эта область традиционно считается сферой других языков.

 телеграм-канал @expert_mag

    Академические итоги войны России с НАТО

    Вряд ли надо кому-то доказывать, что так называемая СВО на Украине, задумывавшаяся как ограниченная по масштабу и срокам операция, по факту вылилась в войну России с НАТО на украинской ...

    О приёме Украины в НАТО

    Сейчас много говорят о возможном (или невозможном) приёме Украины в НАТО. Зеленский утверждает, что только приём Украины в НАТО может стать достойной гарантией безопасности, компенсирую...

    Ваш комментарий сохранен и будет опубликован сразу после вашей авторизации.

    0 новых комментариев

      Как не смешно но сегодня совкодрочер это фашистская подстилка как и либерасты или бандеровцы . Их объединяет ненависть к России

      Главное, ты пойми главное: эти сволочи страсть как хотят, чтоб тут не было новой тряски! Переворотов, революций. Хотят примирить нынешних со своей страной. Говорят, что ей, мол, уже больше тысячи лет и всё это «НАША СТРАНА», давайте её развивать спокойно. Допустить такого нельзя, браток. Неважно, что марксовских пролетариев нынче нигде с огнём не найти,...
      93

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

      При СССР автора за такой заголовок в ГУЛАГе сгноили или расстреляли как мудозвона-провокатора... а тут  свободно  кукарекает и поливает  кровавый  режим  поносом, как будь то  еиму  с начала перестройки пенсию не поднимали..........
      129

      Свобода, Равенство и Братство. Величайшее надувательство в истории

      СРАЗУ ПРЕДУПРЕЖДАЮ ! Тут и религия и политика и психология намешаны... так что тут без поллитране разобраться Если по поводу благотворности и эффективности демократии как системы спорить начинают уже даже на Западе, то ее базовые основы трогать все же избегают. У современного человечества есть три священные коровы. Их имена: Свобода, Равенство и Братств...
      466

      Тандем проституток

      Одна скачущая проститутка продвигает вторую носато-очкастую скачущую проститутку киевского разлива. У обоих ненависть к России и русофобия.Надо в Россию вносить постоянно раскол! Внушать клятым москалям, что любой ихний начальник – страшный ихний же враг. Тогда есть шанс, что своих начальников они слушаться, наконец, перестанут. Це треба, поскильку м...
      113

      Комментируем...

      Одна  скачущая проститутка продвигает  вторую носато-очкастую скачущую проститутку киевского разлива. У обоих ненависть к России  и русофобия.Но, есть подозрение, что  это всё же одна проститутка выдающая себя за Андрея  Михайлова......
      194

      Что то кучно сегодня проститутки в атаку пошли. К чему бы ?

      ...
      279
      Старичок Лесовичок 21 февраля 15:44

      Рубль растёт при молчании и ненависти к России, слышен только скрежет зубов...

      Недавно рубль падал по  отношению к доллару  и почти каждый из этих  экспертов по Российской  экономике    радовались и выли  про всёпропало, путинслил , Россия снова погибает, народ уже  мрёт с голоду, нас ведут не туда.....Теперь рубль растёт , но шлюхи как  в рот воды набрали, а арод ни чего не понимает ка...
      178
      Старичок Лесовичок 21 февраля 15:25

      Каждый день мы слышим стоны этих продажных паскуд, рассказывающих, как нам плохо и как у нас всё запущено.......

      Кто знает, зачем одна фашистская подстилка пиарит другую носатую фашистскую подстилку киевского разлива?Сначала  НАДАВАЛИТЬ ИЗ РАШКИ , а  помните, как эти паскуды выли что Путин КУРИЛЫЯПОНЦАМСЛИЛ.. потом КРЫМСЛИЛ потом ДОНБАСССЛИЛ..ЭТОТ МОСТ НЕВОЗМОЖНО ПОСТРОИТЬ, ДОГОВОРНЯК И ВСЁПРОПАЛО..оЙ! А как эта деятельность называется? Так вроде это ПАН...
      166
      Старичок Лесовичок 21 февраля 13:51

      Очередной вскукарек русофоба и проститутки

      Цитата из сериала «Спящие» Ты хочешь стать таким же, как наши общие знакомые — вечно озлобленным эмигрантом, который сидит ежедневно в сети и выискивает, что ещё такого плохого случилось в России? Смакует все эти подробности с единственной только целью, чтобы оправдать свой отъезд и своё моральное ничтожество ! Видите, что происходит!? А я вам говорил, ...
      102
      Старичок Лесовичок 20 февраля 16:21

      Из года в год, из месяца в месяц, изо дня в день на протяжении 30 лет нам рассказывают что у на всё плохо...

      оЙ! А как эта деятельность называется? Так вроде это ПАНИКЁР - ПРОВАКАТОР. СПЕЦИАЛЬНО ОБУЧЕННЫЙ ЧЕЛОВЕК, СЕЮЩИЙ ПАНИКУ В ТЫЛУ ВРАГА(у нас с вами)что бы затруднить управление коммуникациями и нанести нам поражение. Он в прямом смысле желает нам всем смерти. Он тут, что бы нас ослабить и потом УБИТЬ....Таких персонажей всегда раньше ставили к стенке, бе...
      154
      Старичок Лесовичок 19 февраля 20:19

      Автопроизводитель из Кореи заявил о начале сборке кроссоверов в России

      Южнокорейский концерн KGM планирует начать сборку кроссоверов в России с марта 2025 года, предлагая модели по цене от 3,59 млн рублей.На пресс-конференции в Москве генеральный директор «Рэкс Моторс» Виталий Осипов сообщил о планах компании KGM, ранее известной как SsangYong, начать производство автомобилей на территории России, передает «Комсомольская п...
      176
      Старичок Лесовичок 19 февраля 17:01

      Российские ученые нашли кишечную бактерию для лечения депрессии

      Российские ученые выявили, что бактерия F. prausnitzii способна лечить депрессию через кишечникВ лаборатории генетики микроорганизмов Института общей генетики имени Вавилова РАН установили, что бактерия F. prausnitzii может быть использована для лечения депрессии.Руководитель проекта Ольга Аверина объяснила, что кишечная микрофлора активно взаимодейству...
      105
      Старичок Лесовичок 19 февраля 16:02

      И снова ПУТИНСЛИЛИ ВСЁПРОПАЛО или работа русофобной инфопроституткой...

      а помните, как  эти паскуды выли что Путин КУРИЛЫЯПОНЦАМСЛИЛ.. потом КРЫМСЛИЛ потом ДОНБАСССЛИЛ..ЭТОТ МОСТ НЕВОЗМОЖНО ПОСТРОИТЬ, ДОГОВОРНЯК И ВСЁПРОПАЛО..оЙ! А как  эта деятельность называется? Так вроде это ПАНИКЁР - ПРОВАКАТОР. СПЕЦИАЛЬНО ОБУЧЕННЫЙ ЧЕЛОВЕК, СЕЮЩИЙ ПАНИКУ В ТЫЛУ ВРАГА(у нас  с вами)что бы затруднить управление комму...
      198
      Старичок Лесовичок 19 февраля 08:20

      Сверхзвуковые авиалайнеры возвращаются: чем это грозит авиапассажирам

      Число Маха определяется как скорость самолёта, поделённая на скорость распространения звуковых волн в воздухе. Преодолеть звуковой барьер означает лететь быстрее скорости звука, с числом Маха больше 1.Во время сверхзвукового полёта самолёт создаёт перед собой воздушные уплотнения, которые имеют свойство срываться, образуя ударные волны и взрывоподобный ...
      1814
      Старичок Лесовичок 18 февраля 07:09

      Платежные системы Visa и Mastercard в ближайшее время могут вернуться в Россию. Об этом заявил председатель комитета Госдумы по финансовому рынку Анатолий Аксаков, передает ТАСС.

      «Я думаю, что они в ближайшее время вернутся и будут предлагать свои услуги», — сказал он.Депутат обратил внимание, что Visa и Mastercard «потеряли большой рынок», но вернуться в Россию будет сложнее, поскольку граждане «привыкли к новым системам». Он добавил, что Национальная система платежных карт (НСПК, оператор карт «Мир») «показала технологичность...
      203
      Старичок Лесовичок 16 февраля 14:21

      Какой мед бухали наши предки: история в деталях

      Произведение Александра Сергеевича Пушкина «Сказка о мертвой царевне и семи богатырях» заканчивается фразой: «И я там был, мед-пиво пил, по усам текло, а в рот не попало». Современному читателю, наверное, сложно понять, какой мед пил Пушкин? А много веков назад на Руси медовые напитки были непременным атрибутом княжеских пиров. А вот простому народу, де...
      295
      Старичок Лесовичок 16 февраля 08:31

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

      Создатели ракеты SLS могут вылететь с работыГлавный подрядчик NASA по проекту создания сверхтяжелой ракеты Space Launch Systems (SLS) для полетов на Луну корпорация Boeing предупредила своих сотрудников о возможном увольнении в космическом подразделении. 7 февраля вице-президент Boeing Дэвид Датчер провел шестиминутное совещание с 800 работниками програ...
      459
      Старичок Лесовичок 15 февраля 20:34

      МВД обяжет владельцев жилья платить штраф за отказ мигрантам в учете

      Собственники недвижимости могут столкнуться с наложением штрафа в размере до 4 тысяч рублей в случае отказа арендаторам-мигрантам в постановке на учет по месту пребывания, как информирует Главное управление по вопросам миграции (ГУВМ) МВД России.Согласно данным ведомства, процедура миграционного учета по месту пребывания носит уведомительный характер. П...
      681
      Старичок Лесовичок 15 февраля 18:30

      Изменение климата угрожает производству шоколада, показало исследование

      Изменение климата привело к тому, что в прошлом году в западноафриканских странах, ответственных за большую часть мирового производства шоколада, несколько недель держалась необычно высокая температура, что сказалось на урожае и, вероятно, ещё больше подстегнуло рекордные цены.Фермеры в регионе, на который приходится около 70% мирового производства кака...
      370
      Старичок Лесовичок 15 февраля 08:07

      Пример работы мудозвона-всёпропальщика в соцсетях

      Как связано выделение государством субсидий для беженцев  и этот  остров- не понятно. Но  понятно, что  скачущая паскуда  разжигает гражданскую войну  ......
      218
      Служба поддержи

      Яндекс.Метрика