Найти тему
IT-info

Язык программирования C++. Краткая история

Оглавление

Создание

Язык программирования С++ был создан в начале 1980-х годов, его создатель сотрудник фирмы Bell Laboratories — Бьёрн Страуструп. Он придумал ряд усовершенствований к языку программирования C, для собственных нужд. Т. е. изначально не планировалось создания языка программирования С++. Ранние версии языка С++, известные под именем «Cи с классами», начали появляться с 1980 года. Язык C, будучи базовым языком системы UNIX, на которой работали компьютеры фирмы Bell, является быстрым, многофункциональным и переносимым. Страуструп добавил к нему возможность работы с классами и объектами, тем самым зародил предпосылки нового, основанного на синтаксисе С, языка программирования. Синтаксис C++ был основан на синтаксисе C, так как Бьёрн Страуструп стремился сохранить совместимость с языком C.

Развитие

Первое издание «Языка программирования C++» вышло в 1985 году. Обеспечивает первое описание этого языка, что было важно из-за отсутствия официального стандарта. В 1989 году вышла версия 2.0 языка C++. Его новые возможности включали множественное наследование, абстрактные классы, статические функции-члены, функции-константы и защищённые члены. В 1990 году вышло «Комментированное справочное руководство по C++», положенное впоследствии в основу стандарта. Последние обновления включали шаблоны, исключения, пространства имён, новые способы приведения типов и логический тип.

В 1998 году был опубликован стандарт языка ISO/IEC 14882:1998 (известный как C++98), разработанный комитетом по стандартизации C++ (ISO/IEC JTC1/SC22/WG21 working group). Стандарт состоит из двух частей — основы языка (core language) и стандартной библиотеки языка, которая включает Standard Template Library (STL) и модифицированный вариант стандартной библиотеки языка C.

В 2003 году был опубликован стандарт языка ISO/IEC 14882:2003, где были исправлены выявленные ошибки и недочёты предыдущей версии стандарта.

В 2005 году был выпущен отчёт Library Technical Report 1. Отчёт описывает расширения стандартной библиотеки, которые, должны быть включены в следующую версию языка C++.

С 2009 года велась работа по обновлению предыдущего стандарта, предварительной версией нового стандарта сперва был C++09, а спустя год C++0x, сегодня — C++11, куда были включены дополнения в ядро языка и расширение стандартной библиотеки.

Название

Название C++ придумал Рик Масситти. Название указывает на эволюционную природу перехода к нему от C. "++" - это операция приращения в C. Чуть более короткое имя C+ является синтаксической ошибкой; кроме того, оно уже было использовано как имя совсем другого языка. Знатоки семантики C находят, что C++ хуже, чем ++C. Названия D язык не получил, поскольку он является расширением C и в нем не делается попыток исцеляться от проблем путем выбрасывания различных особенностей.

Для чего используется C++?

C++ имеет множество реальных приложений, в том числе:

  • Разработка видеоигр
  • Приложения на основе графического интерфейса
  • Базы данных
  • Операционные системы
  • Веб-браузеры
  • Вычисления и графика
  • Банковское дело
  • Облако
  • Распределенные системы
  • Компиляторы
  • Встроенные системы
  • Корпоративное программное обеспечение
  • Библиотеки
  • Крупномасштабные серверные приложения
  • Компиляторы кода

C++ также используется для создания многих популярных сервисов, таких как MySQL, Microsoft Windows и Office, macOS и других. Это популярный язык для крупных встраиваемых систем. Он часто используется для системного программирования и создания приложений с ограниченными ресурсами. C++ — отличный язык для использования всякий раз, когда у вас большой буфер, а также в случаях, когда у вас высокий уровень параллелизма и требуется минимальная задержка. Это касается серверных приложений и игр.

Возможности и преимущества C++

Есть причина, по которой C++ остается одним из самых популярных языков программирования. У языка есть много важных функций и преимуществ, в том числе:

  • Обработка исключений: обработка исключений встроена в C++. Это инструмент, который разделяет код, который обнаруживает и обрабатывает исключительные обстоятельства, возникающие при выполнении программ.
  • Перегрузка функций: перегрузка функций — это процесс наличия двух или более функций с одним и тем же именем, но с разными параметрами. Эта функция C++ позволяет вам определять более одного определения для имени функции или оператора в одной и той же области.
  • Управление памятью: C++ поддерживает динамическое распределение памяти (DMA), которое помогает освобождать и выделять память. Его возможности манипулирования памятью позволяют вам настраивать вещи и напрямую обращаться к аппаратным данным, а также писать высокопроизводительный код.
  • C++ Стандартной библиотека: C++ стандартной библиотека шаблонов (STL) заполнена шаблонами готовых к использованию библиотек для различных структур данных, арифметических операций и алгоритмов.
  • Объектно-ориентированный: концепции объектно-ориентированного программирования (ООП) позволяют обрабатывать данные как объекты и классы.
  • Мультипарадигма: C++ — это мультипарадигмальный язык. Это позволяет вам выбрать единый подход или смешивать аспекты разных парадигм программирования (таких как общие, императивные и объектно-ориентированные ).
  • Высокая переносимость: C++ отличается высокой переносимостью и используется для создания сценариев приложений систем, которые составляют значительную часть операционных систем Windows, Linux и Unix.
  • Универсальность: C++ универсален и имеет большой рынок труда. Он используется во многих различных отраслях, таких как финансы, разработка игр, машинное обучение и т.д.
  • Масштабируемость: C++ отлично подходит для ресурсоемких приложений из-за его масштабируемости и производительности.

Стоит ли изучать C ++ в 2023 году?

Сейчас C++ занимает 4-е место по популярности в мире по индексу TIOBE и спектру IEEE. C++ — один из стандартных языков серверной разработки. Это чрезвычайно быстрый и эффективный язык. Многие инструменты и фреймворки полагаются на скорость и эффективность C++. Сейчас он пользуется большим спросом, и он будет оставаться востребованным в 2023 году из-за своей надежности, производительности и эффективности.

C++ — отличный язык для изучения, если вы программист, который хочет глубоко понять, как работают компьютеры. C++ позволяет вам познакомиться с низкоуровневыми концепциями программирования и помогает понять, как компьютеры думают и работают. Другие языки и концепции программирования могут иметь для вас больше смысла после того, как вы изучите C++.

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

Сложно ли выучить C++?

C++ известен как один из самых сложных языков программирования для изучения по сравнению с другими популярными языками, такими как Python и Java. C++ сложно изучить из-за его многопарадигмальной природы и более продвинутого синтаксиса. Хотя известно, что это особенно сложно выучить новичкам, это также сложно для программистов, не имеющих опыта работы с языками низкого уровня. В то время как это делает занять больше времени, чтобы написать C++ кода, язык был модернизирован до нынешних абстракций высокого уровня. Эти абстракции можно использовать для очень эффективного кодирования. Вы можете быстро писать код на C++ 14, C++ 17 и C++ 20.

В то время как некоторые разработчики предлагают изучать C до C++, другие утверждают, что если вы заинтересованы в работе с C++ в своей карьере или в личных проектах, нет необходимости посвящать время изучению C (если, конечно, вы этого не хотите!). Если вы новичок в программировании, важно изучать компьютерное программирование независимо от языка. Есть много фундаментальных концепций, которые имеют решающее значение для разработки программного обеспечения в целом. Вы можете настроить себя на успех, сначала изучив эти основы, чтобы погрузиться в язык, чувствуя себя подготовленным и уверенным.