Comments 11
Похоже на редактор leo. В свое время он мне очень нравился, но пришлось прекратить им пользоваться, так как сам редактор текста в блоках был довольно примитивен. Но сама концепция Literate Programming и ее реализация в Leo мне очень нравится.
Блин, вот бы под винду. И ещё такой же бы для JS. Я бы купил, вероятно, оба.
github.com/alexmojaki/birdseye
Не идеально то (тут в первую очередь для отладки), но весьма схоже.
Не идеально то (тут в первую очередь для отладки), но весьма схоже.
Вы правы, технологию можно адаптировать к любому языку. Нужен только парсер, который представит текст программы в таком же виде, как я сделал это для питона.
Однако у меня нет планов разработки парсера для JS, и я не планирую портирование на Windows. Коммерческий проект, разумеется, возможен. Но для этого нужно, чтобы какая-нибудь большая компания заинтересовалась, например майкрософт, и добавила технологию в свои коммерческие продукты. Индивидуально я не смогу сделать IDE коммерческим продуктом.
Однако у меня нет планов разработки парсера для JS, и я не планирую портирование на Windows. Коммерческий проект, разумеется, возможен. Но для этого нужно, чтобы какая-нибудь большая компания заинтересовалась, например майкрософт, и добавила технологию в свои коммерческие продукты. Индивидуально я не смогу сделать IDE коммерческим продуктом.
технологию можно адаптировать к любому языкуА можно что-то сделать с метапрограммированием? Шаблоны, макросы…
На мой взгляд шаблоны выходят за рамки предложенной технологии. Их можно отображать как блоки кода.
А вот макросы и вообще препроцессор — это большая проблема. Я, в основном, использую C/C++, но сделать Codimension для этих языков не решился. И парсер сложнее, и так и не придумал ничего хорошего для препроцессора, когда получаются совсем странные конструкции — например, директивы препроцессора могут запросто приходить из командной строки. Теоретически можно было бы прогонять файлы через препроцессор и компилятор и потом как-то вытаскивать информацию о структуре, но это будет медленно и не будет такой интерактивности, как это удалось сделать для питона. К тому же работы слишком много для одного человека, а результат не гарантирован. В теории можно, а на практике слишком сложно.
А вот макросы и вообще препроцессор — это большая проблема. Я, в основном, использую C/C++, но сделать Codimension для этих языков не решился. И парсер сложнее, и так и не придумал ничего хорошего для препроцессора, когда получаются совсем странные конструкции — например, директивы препроцессора могут запросто приходить из командной строки. Теоретически можно было бы прогонять файлы через препроцессор и компилятор и потом как-то вытаскивать информацию о структуре, но это будет медленно и не будет такой интерактивности, как это удалось сделать для питона. К тому же работы слишком много для одного человека, а результат не гарантирован. В теории можно, а на практике слишком сложно.
Возможно, стоит попробовать leo-editor. Это немного другое, но идея похожая. И, насколько я помню, в leo можно писать на любом языке.
Думаю if then else лучше сделать вертикальным к тому же это лучше для case (switch) или сопоставления с образцом. https://docs.google.com/drawings/d/1Ymw1gbfFLMiV2_HhvnqXg_jtRqY-0FFQi_rhJ-k1qzo/edit?usp=sharing
Для случая, когда действия в каждой ветке короткие, как в вашем примере, я согласен — ваш пример выглядит привлекательно. Но в реальной практике сложность кода в каждой ветке может быть произвольной, а это означает, что горизонтальные соединители нескольких веток условия будут на значительном расстоянии по вертикали друг от друга. Соответственно зависимость условий хуже отображена на графике. Я рассматривал этот вариант, когда думал над графическими примитивами и предпочел тот, который реализован сейчас.
С другой стороны, я признаю, что и у реализованного мной варианта есть недостатки. Но чего-то лучшего пока найти не удалось.
С другой стороны, я признаю, что и у реализованного мной варианта есть недостатки. Но чего-то лучшего пока найти не удалось.
Когда планируется поддержка Windows или, может быть, онлайн редактор?
У меня таких планов нет.
Теоретически портирование на Windows может быть выполнено относительно легко, но нужно чтобы кто-нибудь за это взялся. Я могу помочь с ответами на вопросы и подсказать с чего и как начать, но основная работа ляжет на волотера. Мое рабочее окружение почти Windows free и я не планирую его менять.
С онлайн редактором, мне кажется, это скорее утопично.
Теоретически портирование на Windows может быть выполнено относительно легко, но нужно чтобы кто-нибудь за это взялся. Я могу помочь с ответами на вопросы и подсказать с чего и как начать, но основная работа ляжет на волотера. Мое рабочее окружение почти Windows free и я не планирую его менять.
С онлайн редактором, мне кажется, это скорее утопично.
Sign up to leave a comment.
Автоматическая визуализация python-кода. Часть третья: новые возможности графического представления кода