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