Я всегда считал, что визуальное программирование (ВП) неудобно как система программирования общего назначения. Низкая скорость ввода, наглядность хуже чем у текста и т.д. Безусловный плюс - ВП снижает порог вхождения и стреляет в каких то специфических задачах, когда нужно дать неквалифицированному пользователю доп.возможности.
Но есть еще одна область, где визуальное представление востребовано - это структуры данных. Мы рисуем диаграмки из квадратиков и стрелочек на презентациях когда объясняем сложные структуры данных коллегам и студентам, смотрим на диаграмки в статьях про структуры данных и т.д. (спасибо Siborgium - это он меня натолкнул на мысль;-)).
Есть два предельных случая.
-
Программа минимум - хотелось бы иметь утилиту, способную построить в рантайм диаграмму отображающую существующую в программе структуру данных. Например для отладки. Наверное это должно быть что то вроде valgrind, но которая заданной точке трассы исполнения рисует объекты (квадратики) соединенные стрелочками (пойнтерами). Хотя возможна же косвенная адресация, когда используется не пойнтер а индекс в массиве… Но для отладки это было бы круто, мы делали такое для питона - выглядит феерично и местами очень наглядно. Соответственно вопрос - есть ли сейчаc такие утилиты? Я бы такую хотел (для плюсов).
-
Программа максимум - именно программирование. То есть мы берем структуру данных (точнее ее фрагмент) и мышкой перебрасываем стрелочки. Что то подобное я делаю на доске когда объясняю студентам что такое список. Утилита в которой это делается запоминает историю переброса стрелочек и генерит на основе этой истории код какого то метода (например list::insert). Историю можно промотать туда/сюда и отредактировать. Наверное неплохо иметь возможность делать текстовые вставки в историю. Это чисто императивный стиль программирования. Не знаю кто как, а я когда велосипедю сложные структуры данных такую картинку в голове/на доске/на бумажке держу.
Пока что п.2 это чисто фантазии, в ближайшие полгода у меня до такого точно руки не дойдут, да и не очень пока понятно насколько оно вообще надо/удобно.