Программирование наизнанку
Процедуры, функции, типы, структуры, акторы, объекты, классы — это лишь малая часть понятий, которые так или иначе относятся к программированию. Через призму данных понятий обычно формируются представления о нём. Значит нам также потребуются понятия¹, которые позволят взглянуть на программирование иначе.
Трансляция
В рамках трансляции сопоставляется воздействие и реакция. Когда просят купить хлеб, то необходимо взять деньги и пойти в магазин. Когда просят сделать сортировку, то необходимо получить массив и выполнить попарное сравнение. В некотором смысле трансляция есть перевод с “языка воздействия” одного на “язык воздействия” другого.
Трансакция
Трансакция суть двустороннее действие. Один отправляет, другой принимает. Один продаёт, другой покупает. Совершить одностороннюю трансакцию по определению невозможно. В качестве модели трансакции может выступать описание интерфейса в некотором языке программирования или, например, положение, регламентирующие поведение сторон в гражданском акте.
Трансформация
В рамках трансформации одни формы уже потрачены, а новая форма ещё только будет создана. Постройка дома есть трансформация таких форм как строительные материалы в такую форму как дом. Наполовину построенный дом пока ещё не является полноценным домом, но уже не является кирпичами, цементом и прочими строительными материалами, потраченными на его строительство.
Программирование
Программа есть совокупность трансляций, трансакций и трансформаций.
Программирование суть моделирование трансляций, трансакций и трансформаций.