Sledo » 01 дек 2015, 18:48
Надо бы подредактировать первый пост с "оптимистического и чего то хорошего", "в попробуйте, может понравится". Визуальное программирование не для создания серьезных проектов, а для того, что бы показать что написал программист человеку далекому от кода. Вот пример - не так давно, в качестве хобби, взялся за конструктор миссий для игры Arma, как платформу для отработки поведения ИИ. Первый же скрипт вышел на почти 1000 строк местного кода, 4 функции, и 5 "подфункций", в котором есть три стороны для противников, каждая из которых может быть отключена, для каждой из которых формируются места дислокации в количестве n. Эти места дислокации задает пользователь в виде [["City_", 0, 59]]; где цифрами указывается диапазон мест, из которых надо случайным образом выбрать указанное пользователем количество мест дислокации, исключить повторения названий, исключить возможные ошибки синтаксиса, сформировать полное название мест дислокации ("City_0" например), проверить на соответствие указанных пользователем количества мест дислокации, к указанному диапазону, и если диапазон меньше, то пропорционально ограничить количество мест дислокаций для каждой стороны, исключить повторения одних и тех же мест дислокаций для каждого противника. До кучи надо будет туда в будущем добавить проверку и сортировку мест дислокации по расстояниям для каждого противника, как друг от друга, так и для самих мест и добавить случайную выборку места не привязанную к определенным местам. И все это умноженное на 3, для каждой стороны противника.
Стоит ли говорить что нужно сделать 3 логики, которые пересекаются, разветвляются и снова пересекаются? В визуальном коде, подобное будет выглядеть как картина добротного абстракциониста, хотя конечно, и не лишено смысла. Какой смысл его использовать, если мне намного проще отследить логику построчно и последовательно, четко видя какие значения куда передаются и вычисляются? Зачем мне рассматривать картинку, если я могу прочитать текст и точно понять, что автор хотел сказать? А вот для человека не подготовленного, блок-схемы могут выглядеть весьма наглядно. Однако он все равно не уловит особенностей кода, поскольку у него нет подготовки - почему сделано именно так, а не иначе.
В таких проектах где работает большое количество людей, имеющих знания не связанных с написанием программ, однако обязанных их контролировать, подобная визуализация просто жизненно необходима, именно по этой причине ДРАКОН и был разработан. Но для не "инженерно механических" проектов, он бесполезен.