Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Completion and refactoring are much more important than these.

When working with code it's very powerful to work on a higher abstraction level. E.g. move this method to an other class and update all references to it automatically keeping the code correct. It takes a few seconds in a modern IDE while in a text editor you have to do most of it manually.

When you get used to the power of refactoring, you start to use it more and more, like a sculptor getting a more powerful tool.

Open source editors should pool their resources to create such powerful refactoring tools which can be accessible in any editor via LSP or something.



The sad part is that text based representations of programs are holding back programmer productivity by raising the bar for these refactoring tools unreasonably. If programs were represented and edited directly as syntax trees, 80 to 90 percent of the complexity of refactoring tools would go away.


On the other hand, when writing new code it is quite efficient to simply type, supported with proper completion.

It would be much less efficient to create a program in a point and click gui, dragging visual elements onto the syntax tree.

So both is necessary. Efficient text editing is required to work quickly with the code, edit things locally efficiently. And refactoring is also needed if you want to perform bigger operations which span methods or classes.

An efficient text editor with completion + powerful refactoring. This is the winning combination.


You're jumping to conclusions when you're associating a syntax tree based program representation with the forced use of a mouse or cumbersome navigation for editing. Nothing could be further from the truth. A completely usable and fast keyboard based editing method for such a program representation is entirely possible. The only downside is that it's harder to create a minimal working version of such a tool compared to a text editor.


It may be possible, but I haven't seen such a tool. I have seen tools where you edited the syntax tree via a GUI and it was terrible for writing code. It may work better for tree modifications.

Text programs are pretty efficent when writing, editing code, because you can access a large number of elements quickly with the syntax.

E.g. writing let a = 3 can be much quicker than starting some command palette from the keyboard, choosing the "declare variable" action and then fill some dialog with the name and value of the variable.

I have doubts it can be made as efficient as typing, otherwise we would have seen such prototypes already. Have you?


I am working on one.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: