Как стать автором
Обновить

«Начало разрушения нервной системы» или введение в C++

Уровень сложности Простой

C++ — как конструктор Lego: вы можете собрать свой замок мечты, а можете кричать от боли, наступая на забытые на полу детали.

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

История языка программирования C++ берёт свое начало в начале 1980-х годов. Создателем языка считается Джим Уолкер, который в 1979 году начал разработку новой версии языка C, известной как "C with Classes" (C с классами). Этот язык предоставлял новые концепции, такие как классы и объекты, что открывало путь к объектно-ориентированному программированию (ООП).

В 1983 году Бьёрн Страуструп, работая в Белл Лабораториз, присоединился к проекту "C with Classes". Он продолжил разработку и расширение языка, добавляя новые возможности и функциональности. В 1985 году язык был переименован в C++ (C плюс плюс), подчёркивая его эволюцию от языка C.

C++ стал широко используемым языком благодаря своей эффективности и мощности, а также возможности объединения процедурного и объектно-ориентированного программирования. В 1998 году был выпущен стандарт C++98, который включал в себя множество новых функций и улучшений. Последующие стандарты, такие как C++11, C++14 и C++17, добавляли ещё больше возможностей, улучшений и современных подходов к программированию.

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

Актуальность языка в 2023 уже потеряна?

На самом деле свою актуальность C++ не утратил, а спрос на него всё ещё есть! Кто-то говорит, что C++ - это не модно, не стильно, не молодёжно, не современно и не круто, но не тут-то было! На C++ сделано уже много кода и экосистем у многих компаний и корпораций. Например, компания Microsoft понаписали кучу своих продуктов, среди них - это Windows, Office (Word, PowerPoint, Excel), компания Яндекс тоже использует много "плюсового" кода в своих сервисах, например: Яндекс.Такси, Яндекс.Еда. На сегодняшний день во многих компаниях, как вы поняли содержится огромное количество кода на C++, поэтому мигрировать на какие-либо другие языки было бы слишком дорого. Также, всем нужна скорость в своём программном обеспечении, а здесь "плюсы" бы точно не помешали! На нём также пишут медицинское оборудование, используют в компании SpaceX, где благодаря "плюсам" летают ракеты в космос, микроконтроллеры, автомобильные пилоты, научные программы в области математики, биологии, физики, химии и не только! В целом, здесь можно сделать вывод лишь о том, что C++ незаменим и он нужен будет всегда.

Язык очень хороший, значит буду учить его!

Да, язык достаточно хорош в своём спектре применении, но очень сложный в синтаксисе, да и не только. Есть международный комитет по стандартизации, который выпускает новые возможности и фишки для языка каждые 3 года. Никто не обладает правами на язык C++, он является свободным. Помимо стандартов есть и куча библиотек, фреймворков и многого другого. Также у языка есть кроссплатформенность, что очень полезно для каждого разработчика! Теперь я кратко расскажу вам о некоторых основных инструментах, которыми пользуются разработчики, пишущие на C++.

CMake

CMake - это кроссплатформенное программное средство автоматизации сборки программного обеспечения из исходного кода. Не занимается непосредственно сборкой, а лишь генерирует файлы сборки из предварительно написанного файла сценария CMakeLists.txt и предоставляет простой единый интерфейс управления. Благодаря ему и появляется кроссплатформенность и перенос кода между ОС.

Boost

Boost — это собрание библиотек классов, использующих функциональность языка C++ и предоставляющих удобный кроссплатформенный высокоуровневый интерфейс для лаконичного кодирования различных повседневных подзадач программирования. Свободно распространяются по лицензии Boost Software License вместе с исходным кодом на GitHub и официальном сайте.

userver

userver - это современный асинхронный фреймворк с открытым исходным кодом с богатым набором абстракций для быстрого и удобного создания микросервисов, сервисов и утилит C++. Проблема эффективного взаимодействия ввода/вывода решается прозрачно для разработчиков. Фреймворк на данный момент находится в open-source на GitHub.

Qt

Qt - это фреймворк для разработки кроссплатформенного программного обеспечения на языке программирования C++.

Компиляторы

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

Существует множество компиляторов C++, разработанных различными компаниями и сообществами. Некоторые из самых популярных компиляторов C++ включают:

  1. GCC (GNU Compiler Collection): Этот компилятор является частью свободного программного обеспечения GNU и широко используется в сообществе разработчиков. GCC поддерживает множество платформ и операционных систем и известен своей хорошей производительностью и оптимизацией.

  2. Clang: Clang является компилятором с открытым исходным кодом, разрабатываемым как часть проекта LLVM (Low-Level Virtual Machine). Он также известен своими возможностями статического анализа и поддержкой современных стандартов C++. Clang активно поддерживается сообществом разработчиков и используется во многих проектах.

  3. Microsoft Visual C++ (MSVC): Это компилятор C++ от компании Microsoft, который поставляется вместе с интегрированной средой разработки (IDE) Visual Studio. Он предоставляет широкие возможности для разработки и отладки приложений под операционные системы Windows.

  4. Intel C++ Compiler: Этот компилятор оптимизирован для процессоров Intel и включает ряд оптимизаций, направленных на максимальное использование аппаратной архитектуры Intel. Он может быть полезен при разработке приложений, основанных на мощных процессорах Intel.

Это только небольшой обзор некоторых из популярных компиляторов C++.

Заключение

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

Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.