Парадигмы программирования
Парадигма программирования - это общая методология или философия, определяющая подход к написанию компьютерных программ. Она устанавливает основные принципы, понятия и синтаксические структуры, которые используются для создания программного обеспечения. Каждая парадигма программирования предлагает свой собственный набор правил и методов решения задач, что в свою очередь влияет на способ организации кода, структуру данных и алгоритмы.
Иными словами, парадигма программирования представляет собой основные принципы, которые лежат в основе разработки программного обеспечения, и определяет, как программист должен мыслить и подходить к созданию программ.
Большинство популярных языков программирования СИ-подобные, т.е. их синтаксис похож на синтаксис языка СИ. Изучив синтаксис любого такого языка, вы можете легко перейти на другой язык программирования, так как синтаксис будет вам уже знаком. Однако, встречаются люди, которые пытаются сравнивать языки программирования и доказать, что один язык программирования лучше другого.
Получается странная вещь, если синтаксически языки похожи, то зачем их так много? На самом деле всё дело в предназначении того или иного языка программирования. Предназначение языка программирования часто определяет парадигму в которой будут мыслить разработчики.
P/S: если кто-то пытается утверждать, что есть хороший язык программирования и есть плохой, то это значит, что человек просто не способен разобраться в другой парадигме программирования, пожалейте бедолагу, не пытайтесь его переубедить, он просто склонен к солипсизму...
Парадигмы программирования:
1) Императивное программирование, в этой парадигме программа описывает шаги, необходимые для выполнения определенной задачи. Здесь основное внимание уделяется изменению состояния программы.
2) Декларативное программирование, наоборот, в декларативном программировании вы описываете, что должно быть сделано, а не как это делать. Примеры включают SQL и некоторые языки функционального программирования.
3) Функциональное программирование, в этой парадигме основной упор делается на использование функций и избегание изменяемого состояния.
4) Объектно-ориентированное программирование, здесь программа структурируется вокруг объектов, которые содержат данные в виде полей и методы для их обработки.
5) Процедурное программирование, в данной парадигме основное внимание уделяется процедурам, функциям и блокам кода.
Каждая из этих парадигм имеет свои преимущества и недостатки, и выбор конкретной зависит от поставленной задачи и предпочтений разработчика.
C++ — мультипарадигменный язык, поддерживающий несколько стилей программирования:
-
Процедурное программирование
-
ООП (объектно-ориентированное)
-
Обобщенное программирование (шаблоны)
-
Функциональное программирование
-
Метапрограммирование
Объектно-ориентированное программирование
C++ поддерживает объектно-ориентированный подход, это значит, что при разработке программ, мы можем думать о сущностях (объектах) и способах их взаимодействия друг с другом.
На самом деле это довольно удачная концепция. Вспомните любую компьютерную игру жанра RTS, ваши игровые юниты являются объектами которые взаимодействуют с другими юнитами и постройками. При написании игр, удобно использовать ООП (объектно-ориентированное программирование).
Теперь у нас есть понимание того, что написание программы - это не просто набор инструкций, у этого процесса есть творческая составляющая, далее мы будем подробнее рассматривать ООП.