Моя парадигма программирования

ccad7fa522d5663c481ced1aff28358a

Введение сложное, длинное описание более потяное.

Есть 2 популярные парадигмы программирования: функциональное и ООП.

Я придумал следующее: в сущностях (можно написать «объектах» или любое другое слово, но это не прям объекты ООП, а в целом то, что мы используем при написании программы, функция — тоже какого-то рода «объект», который используется при написании программ, класс — это тоже некая сущность, некий «объект», который мы использвем при написании программ, переменная — тоже самое, т.е. те сущности их которых состоит программа).

В общем в этих сущностях/объектах выделять минимальные «свойства» (или можно сказать минимальное «поведение» или «элементарные свойства»), и создавать программы не на основе чего-то стандартного, например функции или класса, а создавать программы комбинируя эти выделенные минимальные «свойства» получая новые сущности/объекты.

В статье я попытался расписать подробнее, что я имею ввиду.

Возьмем например «объект», который используется при написании программ — функция.

У нее есть свойства:

  • имеет имя

  • можно вызывать ее — выполнять ее как код

  • можно присваивать в переменные (не в каждом языке программирования (ЯП))

  • можно передавать в другие функции или возвращать из других функций (не в каждом ЯП)

Мы можем создать новый «объект» из этих свойств:

Такого объекта языка программирования конечно не существует, но мы можем его представить в образе и каким-то образом запрограммировать (используя классы ООП или функции в функциональном программировании, используя стандартные сущности, которые есть в языке программирования).

И после этого мы можем использовать такую новую «сущность»/«объект» в своих программах.

Очень хочется разобрать еще пару других стандартных «объектов», которые мы используем при написании программ.

Класс:

  • имеет даннные

  • имеет несколько функций

  • функции имеют доступ к данным

JSON строка:

Вы можете выделить совершенно другие «элементарные свойства» этих 2 объектов.

Теперь мы можем комбинировать все совйства этих 3 объектов вместе в любой комбинации:

Мы можем создать такой объект используя стандартные сущности языка программирования и запрограммировать такой «объект» и дальше использовать.

В общем суть моей парадигмы программирования:

Смотреть не на стандартные объекты типа функция, класс, а выделять из стандартных объектом минимальные свойства (поведение, элементарные частицы) и комбинировать эти элементарные свойства, создавать новые объекты и использовать их в своих программах.

© Habrahabr.ru