Как стать автором
Обновить

Комментарии 11

Похоже на редактор leo. В свое время он мне очень нравился, но пришлось прекратить им пользоваться, так как сам редактор текста в блоках был довольно примитивен. Но сама концепция Literate Programming и ее реализация в Leo мне очень нравится.

Блин, вот бы под винду. И ещё такой же бы для JS. Я бы купил, вероятно, оба.

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

Однако у меня нет планов разработки парсера для JS, и я не планирую портирование на Windows. Коммерческий проект, разумеется, возможен. Но для этого нужно, чтобы какая-нибудь большая компания заинтересовалась, например майкрософт, и добавила технологию в свои коммерческие продукты. Индивидуально я не смогу сделать IDE коммерческим продуктом.
технологию можно адаптировать к любому языку
А можно что-то сделать с метапрограммированием? Шаблоны, макросы…
На мой взгляд шаблоны выходят за рамки предложенной технологии. Их можно отображать как блоки кода.

А вот макросы и вообще препроцессор — это большая проблема. Я, в основном, использую C/C++, но сделать Codimension для этих языков не решился. И парсер сложнее, и так и не придумал ничего хорошего для препроцессора, когда получаются совсем странные конструкции — например, директивы препроцессора могут запросто приходить из командной строки. Теоретически можно было бы прогонять файлы через препроцессор и компилятор и потом как-то вытаскивать информацию о структуре, но это будет медленно и не будет такой интерактивности, как это удалось сделать для питона. К тому же работы слишком много для одного человека, а результат не гарантирован. В теории можно, а на практике слишком сложно.

Возможно, стоит попробовать leo-editor. Это немного другое, но идея похожая. И, насколько я помню, в leo можно писать на любом языке.

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

С другой стороны, я признаю, что и у реализованного мной варианта есть недостатки. Но чего-то лучшего пока найти не удалось.

Когда планируется поддержка Windows или, может быть, онлайн редактор?

У меня таких планов нет.
Теоретически портирование на Windows может быть выполнено относительно легко, но нужно чтобы кто-нибудь за это взялся. Я могу помочь с ответами на вопросы и подсказать с чего и как начать, но основная работа ляжет на волотера. Мое рабочее окружение почти Windows free и я не планирую его менять.
С онлайн редактором, мне кажется, это скорее утопично.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории