Следующие статьи будут посвящены детальным разборам конкретных реализаций с применением VAOP. Я расскажу про реализацию Top trading cycle (TTC). Это совсем свежий пример и коды у меня есть.
Потом расскажу какие чудеса в веб-разроботках можно сотворить на ровном месте благодаря универсальности (спасибо Rsa97) VAOP.
Мне тоже удивительно. Говорю про то, что уже успешно применяется и работает, а Вы доказываете, что это неудобно, не полнятно и не нужно.
Все последние эффектные реализации, сделаны когда я работал в Канаде и Штатах, начиная с 2005 года, а там народ, который со мной их делал не понимает по-русски.
Представляю как бы они повеселились, читая нашу переписку…
Хотя, нет, когда в 2009 для голландцев тендер выиграли, была команда из русскоговорящих канадцев. Надо им линк послать. Пусть повеселятся ))
Кто бы мог подумать, что обсуждение статьи на хабре может стать для меня таким нужным и полезным. У меня это первый опыт и я в восторге.
Все по полочкам удалось разложить. Я отдельную лекцию в середине курса по VAOP посвящу детальному разбору заблуждений и тех полезностей, которые из этого можно и надо извлекать. Дам студентам все это прочитать, а потом обсудим еще раз. Короче, Всем огромное Спасибо.
Вот, например, Вы пишите:
В общем как обычно. Универсальная система, умеющая делать всё, делает всё хуже, чем несколько специализированных.
Я, не знаю как Вас благодарить! УНИВЕРСАЛЬНАЯ! Как я сразу до этого не допёр! Вы мне подсказали. VAOP, действительно, можно прикрутить в любом месте, что я и делал всегда там, где без VAOP все выходило безнадежно запутано.
Это я из скромности ) Многие мне помогали. Вот Вы уже очень сильно помогли. Я уже многое хочу изменить в описании.
Вот и получится методология уже Наша с Вами. Я, вообще, командный игрок. В программировании без этого плохо всё получиется. Я дал линк на этот пост всем своим знакомым и они очень за меня переживали.
Спасибо, друзья за Поддержку!!!
Надо с моей кафедрой в МИФИ связаться. Отличная тема для дипломных работ.
Спасибо за замечания и предложения к улучшению. Теоретикам тут есть над чем поработать. Реализаций FSM очень много и давно пора поместить их под зонтик новой методологии.
Мне для лекций это надо как можно быстрее. Понятийный аппарат нужен. Вот и пытаюсь что-то делать для этого
В самом начале статьи:
… Идеологически v-agent ориентированное программирование — добивается того, чтобы алгоритм был записан в одном месте в виде, понятном всем — заказчикам, програмистам и исполняюшей среде (компьютеру), что улучшает процесс взаимодействия всех при создания программного продукта и, что особенно важно, существенно снижает затраты на этапе поддержания работы и адаптации к изменению внешних условий в Будущем.
Это понятно, что работа по причесыванию и доведению до ума только началась. Я практик и, притом, старой школы, Надеюсь молодые теоретики подключатся и помогут всем нам.
Вы обратили внимание на формулировку идеологической составляющей новой методологии?
VAOP, новая методология программирования, родилось совсем недавно и не на пустом месте. Так получилось, что я применил VAOP, сам того не зная, в 1981 году при написании программы для дублирования перфолент на ЭВМ СМ-1. Согласен, что по сути, это одно из приложений теории конечных автоматов в программировании или реализаций FSM. Потом я применял опыт реализации FSM, программируя некоторые задачи на протяжении 40 лет.
Два года назад я разместил в youtube видео Бесконечные возможности конечных автоматов | Введение в "eco-programming" где рассказывал о чем планируется мой курс онлайн лекций "Введение в 'eco-programming'". Про новую парадигму программирования можно прочитать [здесь]
Год назад Dmitry Ponyatov написал судьбоносный комментарий под этим видео, который год не оставлял меня в покое, пока я не сформулировал основные принципы и идеологию новой методологии программирования. Это был совершенно другой взгляд на многочисленные реализации FSM.
Бегающий агент — как раз то, что объединяет все реализации. VA script и VA box вот все что нужно для v-agent. Все это попытка уйти от понятийной путаницы, когда мы "Что делаем" называем тем "Чем мы это делаем". Dmitry Ponyatov поставил все на свои места. Поднявшись на более высокий уровень, мы можем заметить частное в общем и наоборот при анализе конкретных "реализаций FSM" потому, что все они сделаны для написания кода с применением v-agent oriented programming (VAOP).
Они различаются инструментами по работе с VA script и реализацией VA box.
В этой статье я описываю новую методологию программирования, а не очередную реализацию FSM.
Привенные в статье примеры далеки от совершенства, хотя, вполне работоспособны )
В 1981 году, сразу после института, уже на работе, я толко это первый раз придумал и применил и на 20 лет забыл об этом )
А, перед переездом в Канаду, три года преподавал в институте. Больше 20 лет уже прошло. Ничего о тех студентах с тех пор не слышал.
Самому интересно узнать. Одно, точно, знаю, что когда не таким накрученным, как здесь показываешь на деле как просто, можно реализовать VAOP методологию и какие от этого преимущества обалденные то всем очень нравилось. Я имею ввиду коллег по работе, где я применял VAOP в совместной работе. Это ведь как некий шаблон, правила и он накладывается на любой язык программирования. В РНР в Zendframe я его на бекэнде втыкал, где сложная и запутанная логика была. Надо, кстати, будет этому статью посвятить. У меня там даже SPA был на VAOP сделан. Красиво, помню, получилось. Все офигели.
Повспоминать надо. К SPA помню прикрутил, когда в штатах работал. У меня тимлид Дэн, был ему очень такой подход понравился.
Надо еще повспоминать…
Для голландцев, в 2008 вообще всю систему онлайн приёма заказов сделали. Я в видео об этом упоминаю.
Дайте время, мужики, у меня есть про что рассказать )
VAOP на деле очень простая, очень полезная и удобная штучка )
Кто бы мог подумать, что от Ваших замечаний может быть столько пользы.
В лучший спаринг партнер для любого лектора. Буду Вас рекомендовать. Это серьезно. Я не шучу.
В том-то и дело, что ООП — не "примочка к языку", а методология программирования.
Смотрите какая замечательная идея лекции у меня родилась — сравнить разный меторологии или сравнение VAOP c другими методологиями программирования.
Берем пример из статьи. Студенты уже ее прочитали.
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')
и показываем его с применением VAOP методологии
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')
а домашнее задание сделать этот же пример в ООП, объект создать, методы и все как полагается )
Попросить студентов обратить внимание на то, что у каждой методологии программирования есть своя ИДЕОЛОГИЯ.
Отослать студентов ко второму абзацу статьи, где представлена идеология VAOP, а если у методологии программирования есть своя идеология значит она всё всерьез и надолго.
Очень благодорен Вам и всем кого оставил неравнодушным к моей статье.
Просто, мы уже вокруг одного и того же ходим и, вроде, все все поняли и остались при своем.
Дождитесь моей второй статьи, поверьте, там будет что пообсуждать
Что вы все на языке зациклились. Это не язык. Это как и ООП примочка к языку. И никто 40 лет ничего не развивал. Я полгода назад решил эту примочки описать и определиться с терминологией. Выкатил это все здесь и уже три дня разговариваем здесь как на разных языках )
Подождите я все растолкую. У меня пенсия через год. Мне же надо себе занятие придумать )
Я же пишу. Время покажет. Если приживется, по народ будет пользовать. Если это ерунда, то само все отомрет )
VAOP — это шаблон, следуя которому, даже новичек напишет отличный, всем понятный код
Нет, просто нет.
Вы пишите. Я с Вами не хочу спорить, просто, давайте проверим как дело пойдет )
Через год можно вернуться к этому разговору.
Сорок лет применяю этот подход. Тендеры благодаря ему выигрывали, я лекции читал, студенты курсовые у меня писали на эту тему, а Вы мне нет да нет. Откуда такая уверенность )
VAOP не требует ничего особенного, легко изучается и применяется. Я думаю жить будет, а почему бы и нет )
Боксов понаделаем и народ будем юзать в разный программных средах. Время покажет…
Мы здесь ошибочно замыкаемся на одном кодировании, а все сложнее и не надо забывать, что это только первые шаги вашего программного продукта. Может VAOP окажетя полезным при сопровождении и модернизации. Поговорим об этом после моей следущей статьи. Я там поднимаю этот не простой вопрос.
P.S. А что будет, если в примере из статьи программист ошибся, и вместо
direction = "Direction_10" # Yes
написал
direction = "Direction_20" # Yes
Я так понимаю, что никаким статическим анализатором эту ошибку не отловить и придётся ковыряться разом в обоих частях вашей программы, чтобы понять, почему цикл никогда не заканчивается.
Видимо вы правы, хотя по логам переходов между состояниями-действиями возможно это отловить.
Кстати, ошибки там легко искать. По логам всегда знаешь как ты дошел до контретного кода дейсвия и в нем уже ищешь ошибку. Короче, время покажет и пусть у разработчиков появится еще одна альтернатива — как писать код )
Никакой магии потому, что ничего никуда не надо переносить. Каждый отвечает за своё.
Все гениальное — просто )
VA script отвечает за логику переходов между Action или Действиями, а в VA box находиться код самих действий. После каждого Действия (завершения кода действия) определяется код направления — Direction, чтобы по коду текущего действия и этому коду направления определить следующее действие.
В простом примере, в статье
"_action_description":{
"_010":"--> i = i + 1",
"_020":"-->if i > len(M) — 1"
так подробно описано что делать и это вводит всех в заблуждение. Там, в реальных скриптах, коротко пишется что надо сделать в этом Action
Как например
"_action_description":{
"_010":"--> Увеличить i на единицу и проверить на конец массива"
Надо будет так пример переписать, чтобы о синхронизации изменений не было вопросов )
VAOP — это шаблон, следуя которому, даже новичек напишет отличный, всем понятный код
Вот реалный VA script
s01… это как у нас Action, а v_… это как у нас Direction
{
"s_01_0000":
{
"state_descriptions":
{
"_000":"==> state for - init",
"_010":"- Set environment for tracking and logging",
"_020":"- max_m = 200"
},
"v_00": "s_01_0000", "00": "Init",
"v_10": "s_01_0010", "10": "Start"
},
"s_01_0010":
{
"state_descriptions":
{
"_000":"==> state for - check max_m and other reason to stop",
"_010":"-check if not reached max_m || unassignedArray is empty || All site_capacity=0 || All site_balance>0",
"_020":"-add to message to log"
},
"v_10": "s_01_0020", "10": "ok",
"v_20": "s_01_0080", "20": "done - reached max_m or not more loop found",
"v_30": "s_01_0081", "30": "done - isUnassignedAppsArrayEmpty()",
"v_40": "s_01_0082", "40": "done - isAllSiteCapacity0() = True",
"v_45": "s_01_0083", "45": "done - isAllSiteBalanceGT0() = True",
"v_50": "s_01_0020", "50": "test"
},
"s_01_0020":
{
"state_descriptions":
{
"_000":"==> state for - if",
"_010":"- Remove all sites from all applicant lists where applicant weight > capacity",
"_020":"- Remove all applicant from all site lists where applicant in assigned",
"_025":"- Remove all applicant from all site lists where applicant site list is empty",
"_030":"- getFirstNotCheckedAapplicant from unassignedArray",
"-035":"- set gl_max_jump",
"_040":"- set gl_taken_sites_capacity_dict",
"_050":"- set gl_checked_applicants_code_list",
"_060":"- is last applicant?"
},
"v_10": "s_01_0010", "10": "Yes",
"v_20": "s_01_0035", "20": "No",
"v_30": "s_01_0000", "30": "test"
},
"s_01_0035":
{
"state_descriptions":
{
"_000":"==> state for - --",
"_010":"- check how many jumps",
"_020":"- get first site from applicants list",
"-030":"- add to gl_checked_applicants_code_list",
"_040":"- Update gl_checked_applicants_code_list"
},
"v_10": "s_01_0040", "10": "ok",
"v_20": "s_01_0020", "20": "- not enough capacity || site balance > 0",
"v_30": "s_01_0020", "30 Error ???": "- rank_list is empty",
"v_40": "Err_0035_030", "40": "- site does not exist",
"v_50": "s_01_0020", "50": "- if jumps > jump_m"
},
"s_01_0040":
{
"state_descriptions":
{
"_000":"==> state for - --",
"_010":"- get first applicant from site's list"
},
"v_10": "s_01_0050", "10": "ok",
"v_20": "s_01_0020", "20": "- rank_list is empty",
"v_30": "Err_0040_020","30": "- applicant does not exist"
},
"s_01_0050":
{
"state_descriptions":
{
"_000":"==> state for - --",
"_010":"- add to stack and check for loop"
},
"v_10": "s_01_0060", "10": "- loop",
"v_20": "s_01_0035", "20": "- no loop"
},
"s_01_0060":
{
"state_descriptions":
{
"_000":"==> state for - --",
"_010":"- check if loopArray is done"
},
"v_10": "s_01_0020", "10": "- loop done",
"v_20": "s_01_0070", "20": "- loop not done"
},
"s_01_0070":
{
"state_descriptions":
{
"_000":"==> state for - --",
"_010":"- found loop!",
"_020":"- add applicants in loop to AssignedApplicant array ???",
"-030":"- take applicant in loopArray",
"_040":"- place applicant into result_a",
"_050":"- reduce capacity of site by applicant's weight (error if site_capacity <0)",
"_055":"- reduce balance of applicant's home_site by weight",
"_060":"- cleanup applicant from loopArray"
},
"v_10": "s_01_0060", "10": "- loop done"
},
"s_01_0080":
{
"state_descriptions":
{
"_000":"==> state for - Final State",
"_010":"- any applicant in unassignedArray is assigned to 0",
"_020":"- create file of result_a",
"-030":"- create file of result_s (code, capacityleft, balanceleft)",
"_040":"- create short log"
}
},
"s_01_00--":
{
"state_descriptions":
{
"_000":"state for - --",
"_010":"",
"_020":"",
"-030":"",
"_040":""
},
"v_10": "s_01_00--", "10": "",
"v_20": "s_01_00--", "20": ""
}
}
Спасибо. Надо будет в деталях все расписать кто и за что отвечает.
VA script за общую алгоритмическую логику отвечает, в боксе только действия закодипованы и код дирекшена определяется и та все крутится )
Вот почему я курс лекций пишу с кучей примеров для разных мест применения.
Согласен, что не для всех шурупов VA отвёртка подходит ), но будем собирать опыт, где эта отвертка пригодилась. Я еще расскажу, что в веб-разработках можно с ней подкрутить.
Следующие статьи будут посвящены детальным разборам конкретных реализаций с применением VAOP. Я расскажу про реализацию Top trading cycle (TTC). Это совсем свежий пример и коды у меня есть.
Потом расскажу какие чудеса в веб-разроботках можно сотворить на ровном месте благодаря универсальности (спасибо Rsa97) VAOP.
Мне тоже удивительно. Говорю про то, что уже успешно применяется и работает, а Вы доказываете, что это неудобно, не полнятно и не нужно.
Все последние эффектные реализации, сделаны когда я работал в Канаде и Штатах, начиная с 2005 года, а там народ, который со мной их делал не понимает по-русски.
Представляю как бы они повеселились, читая нашу переписку…
Хотя, нет, когда в 2009 для голландцев тендер выиграли, была команда из русскоговорящих канадцев. Надо им линк послать. Пусть повеселятся ))
Кто бы мог подумать, что обсуждение статьи на хабре может стать для меня таким нужным и полезным. У меня это первый опыт и я в восторге.
Все по полочкам удалось разложить. Я отдельную лекцию в середине курса по VAOP посвящу детальному разбору заблуждений и тех полезностей, которые из этого можно и надо извлекать. Дам студентам все это прочитать, а потом обсудим еще раз. Короче, Всем огромное Спасибо.
Вот, например, Вы пишите:
Я, не знаю как Вас благодарить! УНИВЕРСАЛЬНАЯ! Как я сразу до этого не допёр! Вы мне подсказали. VAOP, действительно, можно прикрутить в любом месте, что я и делал всегда там, где без VAOP все выходило безнадежно запутано.
Это я из скромности ) Многие мне помогали. Вот Вы уже очень сильно помогли. Я уже многое хочу изменить в описании.
Вот и получится методология уже Наша с Вами. Я, вообще, командный игрок. В программировании без этого плохо всё получиется. Я дал линк на этот пост всем своим знакомым и они очень за меня переживали.
Спасибо, друзья за Поддержку!!!
Надо с моей кафедрой в МИФИ связаться. Отличная тема для дипломных работ.
Надо народ спросить? Может мне одному надо?
Нашу. Я сам до такого, точно, бы не допёр )
Спасибо за замечания и предложения к улучшению. Теоретикам тут есть над чем поработать. Реализаций FSM очень много и давно пора поместить их под зонтик новой методологии.
Мне для лекций это надо как можно быстрее. Понятийный аппарат нужен. Вот и пытаюсь что-то делать для этого
В самом начале статьи:
… Идеологически v-agent ориентированное программирование — добивается того, чтобы алгоритм был записан в одном месте в виде, понятном всем — заказчикам, програмистам и исполняюшей среде (компьютеру), что улучшает процесс взаимодействия всех при создания программного продукта и, что особенно важно, существенно снижает затраты на этапе поддержания работы и адаптации к изменению внешних условий в Будущем.
Это понятно, что работа по причесыванию и доведению до ума только началась. Я практик и, притом, старой школы, Надеюсь молодые теоретики подключатся и помогут всем нам.
Вы обратили внимание на формулировку идеологической составляющей новой методологии?
VAOP, новая методология программирования, родилось совсем недавно и не на пустом месте. Так получилось, что я применил VAOP, сам того не зная, в 1981 году при написании программы для дублирования перфолент на ЭВМ СМ-1. Согласен, что по сути, это одно из приложений теории конечных автоматов в программировании или реализаций FSM. Потом я применял опыт реализации FSM, программируя некоторые задачи на протяжении 40 лет.
Два года назад я разместил в youtube видео Бесконечные возможности конечных автоматов | Введение в "eco-programming" где рассказывал о чем планируется мой курс онлайн лекций "Введение в 'eco-programming'". Про новую парадигму программирования можно прочитать [здесь]
Год назад Dmitry Ponyatov написал судьбоносный комментарий под этим видео, который год не оставлял меня в покое, пока я не сформулировал основные принципы и идеологию новой методологии программирования. Это был совершенно другой взгляд на многочисленные реализации FSM.
Бегающий агент — как раз то, что объединяет все реализации. VA script и VA box вот все что нужно для v-agent. Все это попытка уйти от понятийной путаницы, когда мы "Что делаем" называем тем "Чем мы это делаем". Dmitry Ponyatov поставил все на свои места. Поднявшись на более высокий уровень, мы можем заметить частное в общем и наоборот при анализе конкретных "реализаций FSM" потому, что все они сделаны для написания кода с применением v-agent oriented programming (VAOP).
Они различаются инструментами по работе с VA script и реализацией VA box.
В этой статье я описываю новую методологию программирования, а не очередную реализацию FSM.
Привенные в статье примеры далеки от совершенства, хотя, вполне работоспособны )
Извините, пропустил этот вопрос.
Покажите, как без всего этого, просто описать FSM в коде. Можно пример и Вы делали уже это?
В 1981 году, сразу после института, уже на работе, я толко это первый раз придумал и применил и на 20 лет забыл об этом )
А, перед переездом в Канаду, три года преподавал в институте. Больше 20 лет уже прошло. Ничего о тех студентах с тех пор не слышал.
Самому интересно узнать. Одно, точно, знаю, что когда не таким накрученным, как здесь показываешь на деле как просто, можно реализовать VAOP методологию и какие от этого преимущества обалденные то всем очень нравилось. Я имею ввиду коллег по работе, где я применял VAOP в совместной работе. Это ведь как некий шаблон, правила и он накладывается на любой язык программирования. В РНР в Zendframe я его на бекэнде втыкал, где сложная и запутанная логика была. Надо, кстати, будет этому статью посвятить. У меня там даже SPA был на VAOP сделан. Красиво, помню, получилось. Все офигели.
Повспоминать надо. К SPA помню прикрутил, когда в штатах работал. У меня тимлид Дэн, был ему очень такой подход понравился.
Надо еще повспоминать…
Для голландцев, в 2008 вообще всю систему онлайн приёма заказов сделали. Я в видео об этом упоминаю.
Дайте время, мужики, у меня есть про что рассказать )
VAOP на деле очень простая, очень полезная и удобная штучка )
Все правильно, но это не как VAOP потому, что это не тянет на методологию программирования ))
Реализаций FSM, дейсвительно, очень много и это замечательно, но VAOP совсем не про это
Кто бы мог подумать, что от Ваших замечаний может быть столько пользы.
В лучший спаринг партнер для любого лектора. Буду Вас рекомендовать. Это серьезно. Я не шучу.
Берем пример из статьи. Студенты уже ее прочитали.
и показываем его с применением VAOP методологии
а домашнее задание сделать этот же пример в ООП, объект создать, методы и все как полагается )
Попросить студентов обратить внимание на то, что у каждой методологии программирования есть своя ИДЕОЛОГИЯ.
Отослать студентов ко второму абзацу статьи, где представлена идеология VAOP, а если у методологии программирования есть своя идеология значит она всё всерьез и надолго.
Очень благодорен Вам и всем кого оставил неравнодушным к моей статье.
Просто, мы уже вокруг одного и того же ходим и, вроде, все все поняли и остались при своем.
Дождитесь моей второй статьи, поверьте, там будет что пообсуждать
Что вы все на языке зациклились. Это не язык. Это как и ООП примочка к языку. И никто 40 лет ничего не развивал. Я полгода назад решил эту примочки описать и определиться с терминологией. Выкатил это все здесь и уже три дня разговариваем здесь как на разных языках )
Подождите я все растолкую. У меня пенсия через год. Мне же надо себе занятие придумать )
Я же пишу. Время покажет. Если приживется, по народ будет пользовать. Если это ерунда, то само все отомрет )
Нет, просто нет.
Вы пишите. Я с Вами не хочу спорить, просто, давайте проверим как дело пойдет )
Через год можно вернуться к этому разговору.
Сорок лет применяю этот подход. Тендеры благодаря ему выигрывали, я лекции читал, студенты курсовые у меня писали на эту тему, а Вы мне нет да нет. Откуда такая уверенность )
VAOP не требует ничего особенного, легко изучается и применяется. Я думаю жить будет, а почему бы и нет )
Боксов понаделаем и народ будем юзать в разный программных средах. Время покажет…
Мы здесь ошибочно замыкаемся на одном кодировании, а все сложнее и не надо забывать, что это только первые шаги вашего программного продукта. Может VAOP окажетя полезным при сопровождении и модернизации. Поговорим об этом после моей следущей статьи. Я там поднимаю этот не простой вопрос.
Видимо вы правы, хотя по логам переходов между состояниями-действиями возможно это отловить.
Кстати, ошибки там легко искать. По логам всегда знаешь как ты дошел до контретного кода дейсвия и в нем уже ищешь ошибку. Короче, время покажет и пусть у разработчиков появится еще одна альтернатива — как писать код )
Никакой магии потому, что ничего никуда не надо переносить. Каждый отвечает за своё.
Все гениальное — просто )
VA script отвечает за логику переходов между Action или Действиями, а в VA box находиться код самих действий. После каждого Действия (завершения кода действия) определяется код направления — Direction, чтобы по коду текущего действия и этому коду направления определить следующее действие.
В простом примере, в статье
"_action_description":{
"_010":"--> i = i + 1",
"_020":"-->if i > len(M) — 1"
так подробно описано что делать и это вводит всех в заблуждение. Там, в реальных скриптах, коротко пишется что надо сделать в этом Action
Как например
"_action_description":{
"_010":"--> Увеличить i на единицу и проверить на конец массива"
Надо будет так пример переписать, чтобы о синхронизации изменений не было вопросов )
VAOP — это шаблон, следуя которому, даже новичек напишет отличный, всем понятный код
Вот реалный VA script
s01… это как у нас Action, а v_… это как у нас Direction
Спасибо. Надо будет в деталях все расписать кто и за что отвечает.
VA script за общую алгоритмическую логику отвечает, в боксе только действия закодипованы и код дирекшена определяется и та все крутится )
Вот почему я курс лекций пишу с кучей примеров для разных мест применения.
Согласен, что не для всех шурупов VA отвёртка подходит ), но будем собирать опыт, где эта отвертка пригодилась. Я еще расскажу, что в веб-разработках можно с ней подкрутить.