4 ms·
8. Switch to an editor that doesn't treat your code trees as dumb strings of text...
by nnq 9y ago
8. Switch to an editor that doesn't treat your code trees as dumb strings of text...
- TeMPOraL 9y agoWhich, beyond Emacs with Paredit, whatever is called Paredit-as-ported-to-vim, and some obscure Smalltalk stuff, generally doesn't exist. So yeah. Stay with Vim or switch to Emacs.
- skrebbel 9y agoJetbrains MPS does this. But admittedly it's not positioned as an allround code editor. Still, it does this and it does it pretty well.
- TeMPOraL 9y agoIsn't MPS for making weird DSLs that require special tooling, and not for editing your generic code? That was the impression I got after installing it and clicking around + reading some of the documentation. I understand 'nnq asked for editor treating code as trees; beyond Paredit mode for Lisp code, I'm not aware of anything like that being currently in use for regular code anywhere.
- skrebbel 9y agoYes, totally. But as a side effect it's also the best and most usable tool that I've ever seen that lets you edit the syntax tree directly. In that sense it can be seen as the most extensive exploration of this idea, and it could definitely serve as an inspiration to those who want to make a tree editor. Jetbrains poured some serious time and UX design into how to edit a syntax tree. It has a decent Java mode for example, which you could use to edit Java sources. It takes some getting used to but it really isn't half bad. You can't write code with it that doesn't parse.
- TeMPOraL 9y agoThanks. I'm going to check it out again, time allowing, and try a small project this time, instead of just casual clicking around. I'm very interested in the space around the idea of more structured code editing and different code presentations.
- nuriaion 9y agoStill very early but a good try: https://isomorf.io/ https://isomorf.io/
- aaron_kent 9y agoSome detail on isomorf.io editor: https://blog.isomorf.io/an-experiment-in-structured-code-editing-68b917a9157c https://blog.isomorf.io/an-experiment-in-structured-code-edi... https://blog.isomorf.io/the-economics-of-semantic-coding-7e8fd1b421e6 https://blog.isomorf.io/the-economics-of-semantic-coding-7e8...
- nnq 9y ago...web based and slow to load? Thanks, but >100ms latency is not something I can tolerate in a code editor. If I need a heavy IDE I can just run it on an overpowered machine and get to my target latency, but web based makes this unusable...
- nnq 9y agoFor the purposes of Lisps there's Emacs with Paredit (or other editor with Paredit, there are versions for most of them I think), for the purpose of notes there's Emacs with Org-mode. For the purpose of Java w.r.t. refactoring and navigation there's Intellij, Eclipse etc. For the purtpose of Python w.r.t. refactoring and navigation there's Pycharm. And so on. I use a combination of (1) Emacs & Org-mode for structured editing of notes and prose, and (2) Whatever IDE is most suited for the language I work in.
- sametmax 9y agoI'm not a big fan of Vim, but unless you can find any smart editor that have had half of the success of vim for half of its life time, I'd say maybe the way it threats text seems to be successful.
- nnq 9y agoEmacs and IDEs are also successful. No IDE in particular was long-time successful, but the general concept of "heavy program dedicated to structured editing of code" is successful. I still use Vim for config files though :P
- oblio 9y agoIt depends how you define "long time". Visual Studio was launched 20 years ago. Eclipse 15 years ago. Both of them seem to have at least as many years left in them.
- zeveb 9y agoEmacs is older than vim, almost exactly as old as vi (both emacs & vi started in 1976, IIRC), is quite smart and is capable of treating code as trees rather than strings.