Что ты такое язык программирования C++
Я бы мог написать более совершенный язык. Проще и понятнее чем предыдущие, но развитие существующего языка задача гораздо сложнее
Бьерн Страуструп
Язык как таковой интересен сам по себе, его история, трудности технических решений. Про это написано множество книг, статей, взято бесчисленное количество интервью. Попробуем посмотреть на все это с другой стороны какие цели привели к текущему состоянию дел.
На все решения в языке на самом деле влияло два человека сам Бьерн Страуструп, и его лучший друг Александр Степанов. Два человека это два разных мотива развивать язык, Страуструп как прикладной инженер всегда стремился к однозначности языковых конструкций и минимальных издержек на выполнения этих операций. Степанов математик. Как всякий математик мышление котрого заключаеться в лаконичности обработки числовых рядов и символической записи сложных функций.
В таком сложном симбиозе родилась идея создать максимально быстрый язык близкий к аппаратной части компьютера при этом иметь математическую лаконичность. Более 40 лет потребовалось для доведения идей 80-ых годов в конечный вид. Таким стал стандарт C++23, обработка коллекций, контракты функций и многое другое. По мере развития язык вбирал и отдавал идеи и концепции в другие языки, например Haskell умел все то что хотел Степанов, но не умел все то что хотел Страуструп. Теперь в каждом языке есть дженерики, которые в C++ были задуманы как базовая функция.
Тогда и Сейчас
Раньше, нужно было писать циклы чтобы обработать массив. Сейчас нужно вызвать конкретный алгоритм для обработки данных.
Раньше обращались к API операционной системы. Сейчас многое включено в стандартную библиотеку. Например: многопоточность, файловая система и т.д.
Раньше нужно следить за сложностью #include и писать вручную команды для линковщика. Сейчас есть возможность модулей import export
Раньше компилятор был не оптимален в своих решениях, приходилось писать, как на язык Си. Сейчас кроме развития самих компиляторов, язык позволяет управлять компиляцией прямо в коде
Сообщество по информатике и кибернетике на языке C++ в Discord
