Live data from Hacker News

Why don’t we have good code editors?

kristofer.reykjal.in

71–74 of 74 posts

Re: Why don’t we have good code editors?

#71
post #28

Earlier quoted context omitted.

The mouse is not a "clumsy" input and there are plenty of situations in which the mouse allows more efficient usage than the keyboard like when navigating through 2D space. For example it is clearly more efficient to place your cursor at a certain arbitrary point in the document using the mouse than to navigate there using keyboard commands. I'm also not really convinced about the "hands on the keyboard" argument...…

> Are they on the keyboard right now? Of course they're not on the keyboard while I'm exclusively reading. But while I'm in vim, my hands certainly are on the keyboard nearly at all times, resting on the home row.

When I’m trying to understand code, my hands are absolutely on the keyboard. This is very common and quite efficient once you learn how to navigate using a code editor.

This is similar to the way a mathematician will often ‘read’ math with a pencil and paper, or a musician will ‘read’ music with an instrument in hand.

When I’m reading prose, I often don’t have either a keyboard or a mouse, but that’s a very different operation (uses different parts of the brain, etc).

Re: Why don’t we have good code editors?

#72

> Terminal editors are out of date. By this I don’t mean that they’re obsolete; I mean their user experience is lagging far behind modern standards. Using editors like Vim and Emacs is not a good experience for the user. You... you are aware that you can run emacs not in a terminal , right? Use the mouse and resize split buffers and everything? It's okay if you still don't think it's good enough, just... don't pigeon…

Modern GUI emacs has basically all of the features that the OP’s rant mentions (You can even run WebKit inside of emacs, if you want), but they have to be configured. It seems likely that they haven’t tried emacs in a while, because the rant demands things about packages that already exist. If this were a serious request for help rather than a rant, “Use Spacemacs or Doom-emacs” would be a fine response.

That said, there’s nothing wrong with a little rant now and then. There’s a pretty pervasive feeling among programmers that our tools for interacting with code certainly could be better, and probably should be. I assume the OP is hitting one of those moments right now.

More seriously, though, I believe that there is an answer to the headline question: we don’t have better code editors because the people with the combination of skill, desire, and opportunity almost always fall into one of the two traps:

1.) If they want to make a better general editor for experienced, skilled programmers, then they get sucked into learning an existing editor (usually emacs or vi, sometimes both) on the way, and they find that once you are proficient, those are really quite powerful coding environments.

2.) If you want to make a better general editor for people learning to code, then they tend to create something that is limited (simplified, streamlined, etc). Along the way, they either stop at a version that’s good enough (there are lots of these around), but definitely missing things that are important to (a smaller group of) skilled, experienced programmers – at which point, see #1. The strongest candidates survive, and some of them go quite far (Linus Torvalds uses a fork of micro-emacs, there are people at Google who use nano, etc.)

In the end, the “editor wars” between emacs and vi came down (IMNSHO) to a question between “fast and lean” vs. “expandable”. In the end, both became ”expandable enough”, and software growth (bloat) grew so extensive that both became “fast and lean enough”.

Re: Why don’t we have good code editors?

#73

> In all seriousness though, a terminal does not a pleasant user experience make. Yes, yes it does. At my fingertips I have access to every single tool and program without needing to clumsily navigate through folders or Finder, whatever it is. Moving my hand away from my keyboard to my mouse to check TS typings is biggest waste of time when I know how to get to any line in any file with less than 3 keystrokes. > The…

Find and replace is laborious in VIM...

https://www.linux.com/tutorials/vim-tips-basics-search-and-r...

In Notepad++ it's easier to do for me... I use Find & Replace VERY frequently as I inherit apps developed by others, Some developers don't need to use it at all because they work on a Single Page App...

We're truly in the era of "If it works for me it's great for everyone", which is truly a bad posture to adopt, because now developers dictate features based on opinion rather than research, polling, testing and facts like they used to in the early days. This is why apps, like Android dialer become annoyingly dysfunctional, because it's made and tested on a small group who have 2 hands rather than also on people who only have one hand (and can't afford 2 clicks to get to a keypad as easily).

CLI has been around forever in terms of development. I understand there are use cases where it's highly useful, but in a world where development should be getting LESS complex, it's a dinosaur that preserves job security because of a huge learning curve.

As an architect I frequently work with non-technical people, and using abstract tools to do my work only complicates my ability to get them to understand what I do. Things should be getting simpler, but they're not.

Re: Why don’t we have good code editors?

#74

> In all seriousness though, a terminal does not a pleasant user experience make. Yes, yes it does. At my fingertips I have access to every single tool and program without needing to clumsily navigate through folders or Finder, whatever it is. Moving my hand away from my keyboard to my mouse to check TS typings is biggest waste of time when I know how to get to any line in any file with less than 3 keystrokes. > The…

Find and replace is laborious in VIM... https://www.linux.com/tutorials/vim-tips-basics-search-and-r... In Notepad++ it's easier to do for me... I use Find & Replace VERY frequently as I inherit apps developed by others, Some developers don't need to use it at all because they work on a Single Page App... We're truly in the era of "If it works for me it's great for everyone", which is truly a bad posture to adopt, be…

> As an architect

I'll take that at face value, and commend you on your programming knowledge. If you're actually a code jockey, let me intone:

Software architects are not architects. Software engineers are not engineers. Computer science is not science.

Post reply on HN