Написать C ++ графически, как нуля? - PullRequest
4 голосов
/ 18 марта 2009

Я рассматриваю возможность разработки приложения, которое позволило бы людям разрабатывать код C ++ графически. Я был поражен, когда обнаружил Scratch (см. site и обучающие видео ).

Я считаю, что большая часть C ++ может быть представлена ​​графически, за исключением инструкций препроцессора и, возможно, указателей на функции.

Какие функции C ++, на ваш взгляд, могут (или не быть) представлены графическими элементами? Каковы будут плюсы и минусы такого приложения? Насколько проще было бы, чем "простой" C ++?

ЗАПИСЬ и БОЛЬШЕ:

Плюсы:

  • Интуитивный
  • просто для небольших приложений
  • помогает избежать опечаток

Минусы:

  • может стать нечитаемым для приложений большого (среднего?) Размера
  • ручное кодирование быстрее для опытных программистов
  • C ++ слишком сложный язык для такого подхода

Учитывая, что у нас - в моей работе - уже есть немного существующего кода на C ++, я не ищу совершенно новый способ программирования. Я рассматриваю альтернативный способ программирования, полностью совместимый с устаревшим кодом. Какой-то «вирусный язык», который люди будут использовать для нового кода и, будем надеяться, в конечном итоге также будут использовать для замены существующего кода (где это может быть полезно).

Как вы относитесь к этому вирусному подходу?

Когда дело доходит до ручного и графического программирования, я склонен согласиться с вашими ответами. Вот почему в идеале я найду способ, позволяющий пользователю всегда выбирать между набором текста и графическим программированием. Строковый синтаксический анализатор (+ частичный интерпретатор) может преобразовывать типизированный код в графический дизайн. Это возможно возможно. Давайте все скрестим пальцы.

Есть ли какие-либо предостережения в отношении возможностей как для ввода текста, так и для графического программирования, о которых мне следует подумать и тщательно проанализировать?

Я уже работал над шаблонными классами (и в более общем смысле на уровне типов C ++) и их графическим представлением. Смотрите там для примера графического представления шаблонных классов. Коробки представляют классы или шаблоны классов. Первый верхний узел - это сам класс, следующие (если они есть) - инструкции typedef внутри класса. Нижние узлы являются аргументами шаблона. Конечно, края соединяют классы с аргументами шаблона для создания экземпляров. У меня уже есть прототип для работы с такими диаграммами уровня типов.

Если вы чувствуете, что этот способ представления шаблонных классов совершенно неправильный, не стесняйтесь говорить и почему!

Ответы [ 11 ]

0 голосов
/ 18 марта 2009

Я удивлен, что вы думаете, что указатели на функции были бы особой проблемой. Как насчет указателей?

Язык программирования может быть представлен иерархией узлов - это именно то, во что компилятор превращает его. Очень странно, что пользовательский интерфейс для редактирования программ по-прежнему представляет собой последовательность символов, которые анализируются, поскольку степени свободы в редакторе намного больше, чем доступный набор разрешенных вариантов. Но intellisense помогает значительно уменьшить эту проблему.

C ++ был бы странным выбором для такой системы.

...