Познакомимся с v-agent ориентированным программированием предложенным в 1981 году программистом из России, выпускником МИФИ, Валерием Ракитиным.
Внимание! Чистая теория!
v-agent ориентированное программирование (VAOP) - это методология программирования, основанная на представлении алгоритма в виде v-agent script, который позволяет программному агенту, получившему название v-agent, выполнять операции закодированные в модулях v-agent box.
Идеологически v-agent ориентированное программирование - добивается того, чтобы алгоритм был записан в одном месте в виде, понятном всем - заказчикам, програмистам и исполняюшей среде (компьютеру), что улучшает процесс взаимодействия всех при создания программного продукта и, что особенно важно, существенно снижает затраты на этапе поддержания работы и адаптации к изменению внешних условий в Будущем.
Парадокс заключается в том, что мы должны меняться, чтобы все было по-прежнему, поэтому главная задача v-agent ориентированного программирования это обеспечить Бессмертие программного продукта при минимальных вложениях средств в его постоянную модернизацию.
Знание v-agent ориентированном подхода к программированию, будет полезно ни сколько разработчикам, которые получают деньги за не важно по какой методологии, сделанный программный продукт, а заказчикам, которые на долгие годы остаются один на один с проблемами поддержания работы программного продукта и адаптации его к изменению внешних условий. Помните, что Будущее не приходит само! Будущее мы программируем умело или не умело, поэтому надо создавать Ваше программное обеспечение, используя v-agent ориентированное программирование для того, чтобы у Вас было Будущее
Звучит туманно и не конкретно, но без теории нельзя, так как нет в мире ничего практичней хорошей теории.
Зачем, что и как?
Зачем нужно v-agent ориентированное программирование?
Для удобства работы всех участников создания программного продукта - заказчика, программиста и исполняющей среды (компьютера)
Что такое v-agent ориентированное программирование?
Представление апгоритма работы программного продукта в форме "v-agent script", понятной всем участникам разработки - заказчику, программисту и исполняющей среде (компьютеру)
Как работает программный продукт, сделанный по правилам v-agent ориентированного программирования?
Все участники создания программного продукта - заказчик, программист и исполняющая среда (компьютер) используют одну форму записи алгоритма "v-agent script". Такого нет и в одной технологии программирования.
В сравнении с другими технолониями, v-agent ориентированное программирование существенно снижает затраты как на этапе разработки, так и во время сопровождения и обновления программного продукта.
Алгоритм - это модель действий
Сравним различные формы записи алгоритмов и увидим всю уникальность v-agent ориентированного программирования.
v-agent ориентированное программирование инновация в разработке программных продуктов сравнимая с удобствами полученными человечеством при переходе от римской системы счисления к арабской (позиционной).
Сами в этом убедитесь, когда научитесь использовать форму записи алгоритмов "v-agent script"
![](https://habrastorage.org/getpro/habr/upload_files/cdf/6c2/185/cdf6c21851aa6d4d0b4be6db9879a7da.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/a7a/c11/831/a7ac11831dcb63519ae564e854061920.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/47b/f30/3e0/47bf303e0d9f2a5e9f4b85c4d0f24e6f.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/e57/63b/224/e5763b224598ee4c760f961d847ee5d9.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/e7f/f3a/779/e7ff3a7794c173999b4383db6e2a6366.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/dd7/320/a79/dd7320a79d2763eddc71d85bb72aecec.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/d14/b4e/746/d14b4e746e58eeae5e5c6ab42e33a291.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/73a/0a8/a15/73a0a8a157aaccfb95ca8b9c169566f2.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/eb2/bbf/d98/eb2bbfd98083cd1794ed7a86fb7cd1f2.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/d58/685/13e/d5868513e35046380a805274158f6490.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/7ae/2e9/02f/7ae2e902f214acb0248ba9cf8d70a2c9.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/815/44b/fea/81544bfeaf00b5771ec41e98c883a3df.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/7a6/0fa/6e4/7a60fa6e48b02102f023aa338b3933fd.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/41d/264/f29/41d264f2995bc23e8cb6acd27d2daa63.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/68b/bb5/3b3/68bbb53b302495e6f37d5c7ee26ea325.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/6fe/0e6/dc2/6fe0e6dc25b82cb93929cb0920f7a8cf.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/54f/bbc/57e/54fbbc57e4c691f049adf9966335b0b3.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/bcd/b95/766/bcdb957665ebde5f50041fa9fedfbbd6.jpg)
![](https://habrastorage.org/getpro/habr/upload_files/26c/596/14d/26c59614da6b40d6dc307be95fffdeff.jpg)
Обычная реализация алгорима для нахождения суммы элементов массива на языке Python
M = [1,2,7,1]
sum = 0
i = 0
while i < len(M):
sum = sum + M[i]
i = i + 1
print("\nsum is [" + str(sum) + ']')
print('\nThe End')
Применение v-agent ориентированное программирование (VAOP) для нахождения суммы элементов массива на языке Python
actions = {
"Action_00":{
"_action_description":{
"_010":"--> init action",
"_020":"--> Set array M, i = 0; sum = 0"
},
"Direction_10":"Action_10", "_010":"Done"
},
"Action_10":{
"_action_description":{
"_010":"--> sum = sum + M[i]"
},
"Direction_10":"Action_20", "_010":"Done"
},
"Action_20":{
"_action_description":{
"_010":"--> i = i + 1",
"_020":"-->if i > len(M) - 1"
},
"Direction_10":"Action_END", "_010":"Yes",
"Direction_20":"Action_10", "_020":"No"
}
}
# init block
M = [1,2,7,1]
sum = 0
i = 0
current_action = "Action_00"
direction = "Direction_10"
while 1 == 1:
# define next action
action = actions[current_action][direction]
previous_action = current_action
current_action = action
print(previous_action,direction,current_action, i, sum)
print('------------------------')
if current_action in actions:
if current_action == "Action_10":
sum = sum + M[i]
direction = "Direction_10" # Done
if current_action == "Action_20":
i = i + 1
direction = "Direction_20" # No
if i > len(M) - 1:
direction = "Direction_10" # Yes
continue
break # end of loop where 1 == 1
if current_action.find("END") == 0:
print("\n\Error: current_action:[" + current_action + "]\n")
if current_action.find("END") != 0:
print("\nsum is [" + str(sum) + ']')
print('\nThe End')
От автора
Я, Валерий Ракитин, автор этого комикса, изобретатель и популяризатор v-agent ориентированного программирования (VAOP) не прощаюсь с Вами. За 40 лет у меня накопился богатый опыт применения VAOP как в обработке данный, так и в Веб-программировании и я готов им поделиться.
Tzimie
010? 020? И это что, типа красиво и понятно?
ValRakitine Автор
В чистой теории, для спецов, вроде, и так все понятно о чем и к чему я все это придумал. Картинки взяты из моего курса для школьников. Детям по картинкам (комиксам) легче про эту методологию программирования рассказывать.
Ключи _010, _020 "ленивые" школьники уже заменили на массив
[
'comment line_10',
'comment line_20',
…
]
DoctorMoriarty
Это не методология программирования. Это результат истории про то, как ниасилятор нормального программирования с грехом пополам сочинил для себя костыли, но как и большинство фриков (физика, лингвистика, ...) решил, что изобрёл «серебряную пулю» и революционную инновацию.
А полагать всерьез, что приведенный пример кода на Пайтоне существенно менее понятен, чем
v-agent ориентированное программирование (VAOP)бред сивой кобылы, приведенный после него — позволяет всерьез задуматься о психическом здоровье автора. Есть, знаете ли, такая штука, как бред систематизаторства.Это всё ведь похлеще пресловутого «визуального языка программирования ДРАКОН» будет…
ValRakitine Автор
Полностью с Вами согласен и уважаю Ваше мнение. Спасибо, что не оставили мою статью без своего внимания. Вещь, действительно, настольно революционная, что может крышу снести ...
kesn
Ну с детьми вы погорячились, мягко говоря
ValRakitine Автор
Как раз наоборот, на примере опросника школьники очень хорошо видят все преимущества v-agent ориентированное программирование (VAOP) в веб-программировании:
Все коды для "школьников" в открытом доступе. Подкачайте в pythonanywhere и сами все увидите.
Помните, учиться никогда не поздно )