Есть ли визуальный редактор двумерного кода? - PullRequest
6 голосов
/ 13 февраля 2010

Позвольте мне объяснить, что я имею в виду под «редактором двумерного кода»: представьте себе, что вы используете Inkscape или Gimp на большом холсте (скажем, бесконечном). Инструмент «T - добавить текст» используется для написания кода. Кроме того, все определения функций будут вставлены в рамки, и ссылки будут соединять вызываемые функции.

Другими словами: у вас есть очень большой лист (виртуальной) бумаги, куда вы можете писать.

Это было бы действительно полезно. Я не хочу писать код в виде длинного списка строк, особенно сейчас, когда большие мониторы дешевле.

Есть ли такой редактор кода?

Каково ваше мнение? Вы бы использовали 2d редактор кода?

Ответы [ 5 ]

1 голос
/ 11 марта 2010

Проверьте это. Я наткнулся на это сегодня и вспомнил этот вопрос.

Код Пузыри

alt text

Разработчики тратят значительное время чтение и навигация фрагментов кода распространяться по нескольким местам. файловая природа современных IDE делает это чрезвычайно трудно создать и поддерживать одновременный просмотр таких фрагментов. Мы предлагаем новая метафора пользовательского интерфейса для кода понимание и обслуживание на основе коллекции легкие, редактируемые фрагменты, называемые пузырьками, которые образуют одновременно видимые рабочие наборы.

Основная цель этого проекта чтобы разработчикам было легче увидеть много фрагментов кода (или другого информация) сразу, без необходимости перемещаться вперед и назад. Каждый из них фрагменты показаны в пузырьке.

Пузырь полностью редактируемый и интерактивный просмотр фрагмента, такого как метод или коллекция членов переменные. Пузыри, в отличие от окна имеют минимальную границу украшения, избегайте обрезания их содержимое с помощью автоматического кода reflow и elision, а не перекрываются но вместо этого выталкивать друг друга из путь. Пузыри существуют в большом, 2-D виртуальное пространство, где можно кластер пузырьков включает в себя одновременно видимый рабочий набор. Пузыри поддерживают легкую группировку механизм и дальнейшая поддержка связи между ними.

Количественное исследование пользователя указывает что пузыри кода увеличились производительность значительно для двоих управляемые задачи понимания кода. качественное пользовательское исследование с 23 профессиональные разработчики указывают значительный интерес и энтузиазм за подход, несмотря на радикальный отход от того, что разработчики привык к.

http://www.cs.brown.edu/people/acb/codebubbles_site.htm

1 голос
/ 14 февраля 2010

Я написал 3 или 4 визуальных редактора, и мой второй работал так, это было для java и c ++ (никогда не публиковался, хотя я использовал его для некоторых опубликованных исследований) Я до сих пор не очень люблю писать свой код «как длинный список строк». Моя точка зрения заключается в том, что, попробовав такую ​​систему, я попробовал оконную систему (схемы классов в окнах, щелчок правой кнопкой мыши, чтобы открыть редакторы кода), затем систему на основе дерева ...

В долгосрочной перспективе (я написал несколько приложений, используя все из них), древовидная система с неперекрывающимися окнами сразу чувствовала себя максимально масштабируемой (для разных размеров монитора) и, прежде всего, наиболее продуктивной, потому что перетаскивание текстовых полей и ссылок и / или окна в первой версии были необходимы, не добавляя много опыта программирования, так что это было расточительно.

Если вы хотите попробовать кое-что из этого, вы можете использовать Google antegram для java (только java) для веб-сайтов (javascript / php / actionscript) и ee-ide (на oogtech.org) , Я не уверен, смогу ли я выкопать оригинальный редактор текстовых + c ++ / java ссылок (который также мог сворачивать графики и имел бесконечный холст, настолько близкий к тому, что вы описали).

Я работаю над этим не так часто, как раньше, так как немногим программистам это нравилось, кроме меня, но если вам нравится работать по-старому или вам хочется добавлять что-то для собственных целей, ee-ide будьте в курсе, так как он модульный и легко расширяемый по сравнению с остальными.

С коммерческой точки зрения вы можете настроить Visual Studio для работы с UML-подобными диаграммами. Я чувствую, что это может быть немного слишком тяжело (хотя это определенно больше кодирования, чем ориентированное на UML), но я не уверен, я еще не пробовал.

1 голос
/ 13 февраля 2010

Это, вероятно, не отвечает на ваш вопрос точно, но в любом случае.

Взгляните на NodeBox beta . Это среда визуального программирования для создания генеративной графики. Вы можете программировать и редактировать узлы с помощью кода Python, подключать и повторно использовать их несколькими способами. (Windows и Mac OS)

Также стоит упомянуть (с точки зрения концепции): Поле . Он предназначен для программирования исполнения и размещения битов кода на сцене / временной шкале. Очень интересно, но и очень запутанно. (Только Mac OS)

Третий - vvvv . Он часто используется художниками-графиками для создания 3D-изображений в реальном времени. На основе узла. (Только для Windows)

NodeBox и Field с открытым исходным кодом, поэтому, если вы хотите создать что-то самостоятельно, вы можете увидеть, как это делается там.

0 голосов
/ 13 февраля 2010

В какой-то момент в LabView был такой режим программирования. Вы соединили программные блоки вместе графическим способом.

Прошло так много времени с тех пор, как я использовал LabView, и я не знаю, не изменился ли он.

0 голосов
/ 13 февраля 2010

Для меня паттерн MVVM означает, что в любом случае за элементами управления пользовательским интерфейсом нет кода. Логика все в классе со свойствами.

В свойствах используется привязка данных WPF для обновления элементов управления пользовательского интерфейса. Например, в форме или окне страницы, независимо от того, MySearchButton.IsEnabled связан со свойством ViewModel.MySearchButtonIsEnabled. Таким образом, логика приложения работает в классе ViewModel и просто устанавливает его собственные свойства, а пользовательский интерфейс обновляется автоматически.

Хотя это характерно для MS WPF, паттерн на самом деле происходит от SmallTalk и встречается в области разработки как MVP. Без WPF нужно было бы написать логику привязки данных или «презентатор», что является обычным явлением.

Это означает, что пользовательский интерфейс может быть оторван, а новый вставлен очень быстро и с небольшим знанием кода от парня из пользовательского интерфейса - который в идеальном мире является креативным парнем, который ведет Citroen 70-х годов. *

Так что я хочу сказать, что, хотя это звучит как изящное новшество, двумерный редактор, подобный этому, помог бы стилю кодирования, который больше не считается оптимальным.

...