Действительно, единственный способ получить все функции - это реализовать несколько интерфейсов. Доступный и мощный - это часто два конца спектра. Самый простой способ сделать это - внедрить мощную систему с дополнительным интерфейсом, позволяющим новичкам взаимодействовать с системой интуитивно понятным способом.
Если учесть систему, которая позволяет начинающим программировать визуально, возможно, что-то похожее на инструменты программирования Lego Mindstorms :
Где есть компоненты перетаскивания. Компоненты имеют входы и выходы. Компоненты могут быть простые вещи , как AND
, или OR
ворота, или более сложными , как тест на окружающих врагов.
В идеале визуальное представление должно составлять сценарий письменного языка в фоновом режиме. Это предлагает мощный инструмент для изучения языка тоже. Если новичок может визуально «написать» свою программу, то прочитайте код, который он создает, и он с большей вероятностью поймет это и сможет изменить полученный код. В конечном итоге возможность писать более мощный код, чем позволяют визуальные инструменты. Это отвечает требованию облегчить пользователям программирование.
Основой системы, конечно же, является письменность. Визуальные инструменты просто дают пользователям быстрый способ запрограммировать что-то простое и позволяют новичкам начать работу.
Письменный язык позволяет продвинутым пользователям делать сложные вещи. И вы даже можете позволить пользователям создавать свои собственные компоненты, создавая собственные сценарии. Затем они могут повторно использовать созданные компоненты в быстром и удобном интерфейсе для быстрого программирования.
Удачи! Похоже, веселый проект.