Search
Write a publication
Pull to refresh

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

Level of difficultyEasy

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++ и его применении в ваших проектах.

Tags:
Hubs:
You can’t comment this publication because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.