自 Idea征集:改进lsp-ui-doc 继续讨论:
上次说要讲个东西,然后果然已经有(好几个)人做出来过了类似的东西。
不过鉴于和我设计的还是有点出入,所以该做的我还是要做的什么的。
我觉得可以作为IDE和编辑器的补充卖点, 但是仅凭这一个功能, 很难叫下一代IDE了, 现在开发环境都比拼全面性和自定义能力, 一个卖点不够。
我看来就是语法感知, 不光是模板,而是根据当前的代码进行智能替换, 要把这一点做好很难, 因为很难做到智能, 代码上下文太复杂了。
Anyway, 我觉得这个功能很 cool.
Live coding 这种东西,现在好多工具都有了,他们都有一个共同特点:慢。
Automatic formatting 什么的我觉得早就该普及了,不知道为什么没人做⋯⋯ Mathematica 里自古以来就有⋯⋯
Haskell 十年前也有人玩, 但是我同意你的看法,当一个智能的东西, 如果性能不能快过开发人员的思维, 就很难用下去。
怎么不盖楼了
重点不在 Live Programming,而是用复杂数据结构代替传统储存成纯文本的代码。我也不觉得 Live Programming 有必要做,有 REPL 就够了。
然后过段时间, 自己就看不懂这些复杂的数据结构了, 感觉没有工具, 自己就是智障了, 哈哈哈哈
可以用 OOP 包装个界面出来,按需求从简单到复杂。Common Lisp 有个工具叫 Inspector,专门用来查看复杂数据结构,可以说最擅长这个了。
这个跟解释器干的事很像吧?能不能直接利用解释器?
用数据结构代替文本是为了实现什么功能呢?除了live coding以外?是不是补全,refactor,替换这些?
下一代IDE 不是声控的么?
是的,这就是我为啥提 Mathematica。Mathematica 的 notebook 文件里有大量的元数据,不过存的也不是语法树就是了。
编译器也行。
还有语法分析。
比起 live coding,更希望在代码结构的可视化方面下下功夫,比如括号匹配、缩进层级、函数依赖关系,分支等等,希望以后可以在拓扑关系图上看/写程序
这些就是 Lambu 的项目目标啊。为啥你们都只看到 Live Programming。
另外 Live Coding 是指通过编程现场即兴作曲,莫用错词。
可以啊,用错词成功打开 overtone 的大门,这波不亏