Я рассматриваю возможность разработки приложения, которое позволило бы людям разрабатывать код C ++ графически. Я был поражен, когда обнаружил Scratch (см. site и обучающие видео ).
Я считаю, что большая часть C ++ может быть представлена графически, за исключением инструкций препроцессора и, возможно, указателей на функции.
Какие функции C ++, на ваш взгляд, могут (или не быть) представлены графическими элементами?
Каковы будут плюсы и минусы такого приложения? Насколько проще было бы, чем "простой" C ++?
ЗАПИСЬ и БОЛЬШЕ:
Плюсы:
- Интуитивный
- просто для небольших приложений
- помогает избежать опечаток
Минусы:
- может стать нечитаемым для приложений большого (среднего?) Размера
- ручное кодирование быстрее для опытных программистов
- C ++ слишком сложный язык для такого подхода
Учитывая, что у нас - в моей работе - уже есть немного существующего кода на C ++, я не ищу совершенно новый способ программирования. Я рассматриваю альтернативный способ программирования, полностью совместимый с устаревшим кодом. Какой-то «вирусный язык», который люди будут использовать для нового кода и, будем надеяться, в конечном итоге также будут использовать для замены существующего кода (где это может быть полезно).
Как вы относитесь к этому вирусному подходу?
Когда дело доходит до ручного и графического программирования, я склонен согласиться с вашими ответами. Вот почему в идеале я найду способ, позволяющий пользователю всегда выбирать между набором текста и графическим программированием. Строковый синтаксический анализатор (+ частичный интерпретатор) может преобразовывать типизированный код в графический дизайн. Это возможно возможно. Давайте все скрестим пальцы.
Есть ли какие-либо предостережения в отношении возможностей как для ввода текста, так и для графического программирования, о которых мне следует подумать и тщательно проанализировать?
Я уже работал над шаблонными классами (и в более общем смысле на уровне типов C ++) и их графическим представлением.
Смотрите там для примера графического представления шаблонных классов. Коробки представляют классы или шаблоны классов. Первый верхний узел - это сам класс, следующие (если они есть) - инструкции typedef внутри класса. Нижние узлы являются аргументами шаблона. Конечно, края соединяют классы с аргументами шаблона для создания экземпляров.
У меня уже есть прототип для работы с такими диаграммами уровня типов.
Если вы чувствуете, что этот способ представления шаблонных классов совершенно неправильный, не стесняйтесь говорить и почему!