Введение сложное, длинное описание более потяное.
Есть 2 популярные парадигмы программирования: функциональное и ООП.
Я придумал следующее: в сущностях (можно написать "объектах" или любое другое слово, но это не прям объекты ООП, а в целом то, что мы используем при написании программы, функция - тоже какого-то рода "объект", который используется при написании программ, класс - это тоже некая сущность, некий "объект", который мы использвем при написании программ, переменная - тоже самое, т.е. те сущности их которых состоит программа).
В общем в этих сущностях/объектах выделять минимальные "свойства" (или можно сказать минимальное "поведение" или "элементарные свойства"), и создавать программы не на основе чего-то стандартного, например функции или класса, а создавать программы комбинируя эти выделенные минимальные "свойства" получая новые сущности/объекты.
В статье я попытался расписать подробнее что я имею ввиду.
Возьмем например "объект", который используется при написании программ - функция.
У нее есть свойства:
имеет имя
можно вызывать ее - выполнять ее как код
можно присваивать в переменные (не в каждом языке программирования (ЯП))
можно передавать в другие функции или возвращать из других функций (не в каждом ЯП)
Мы можем создать новый "объект" из этих свойств:
имеет имя
можно передавать в другие функции
Такого объекта языка программирования конечно не существует, но мы можем его представить в образе и каким-то образом запрограммировать (используя классы ООП или функции в функциональном программировании, используя стандартные сущности, которые есть в языке программирования).
И после этого мы можем использовать такую новую "сущность"/"объект" в своих программах.
Очень хочется разобрать еще пару других стандартных "объектов", которые мы используем при написании программ.
Класс:
имеет даннные
имеет несколько функций
функции имеют доступ к данным
JSON строка:
может передаваться по сети (сериализоваться)
простая в структура и понимании
Вы можете выделить совершенно другие "элементарные свойства" этих 2 объектов.
Теперь мы можем комбинировать все совйства этих 3 объектов вместе в любой комбинации:
имеет имя
может выполняться как код
может передаваться по сети (сериализоваться)
Мы можем создать такой объект используя стандартные сущности языка программирования и запрограммировать такой "объект" и дальше использовать.
В общем суть моей парадигмы программирования:
Смотреть не на стандартные объекты типа функция, класс, а выделять из стандартных объектом минимальные свойства (поведение, элементарные частицы) и комбинировать эти элементарные свойства, создавать новые объекты и использовать их в своих программах.
