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

Biggest problem with IDEs is they are a big in-your-face hurricane of features that is often too much.

As a newbie you want to create a single-line Hello World program but the goddamn IDE wants you to create a workspace, and then within that workspace create a project, and within that project create a bunch of infests and manifests and resources and XML files, and pretty soon you're lost.



> Biggest problem with IDEs is they are a big in-your-face hurricane of features that is often too much.

This is another aspect. They suck up attention, which is a scarce resource. It is just like you start a web browser to look up some documentation, and it shows a dozen of interesting sites you might want to read because the browser developers got some money from these sites, or whatever.

Good software typically has a sparse feeling (depending on which are its intended users), in the sense that it does not distract.

But this is just a symptom of a bigger issue that they are not really friendly to the developer.


To be fair, emacs and vim suffer from other equally baffling problems for newbies. Otherwise this wouldn't be such an upvoted question on SO:

https://stackoverflow.com/questions/11828270/how-do-i-exit-t...


That's just a meme at this point; pretty much every intro resource for vim gives an answer to this specific question.


And the fact that that information needs to be repeated so often clearly highlights that it's not intuitive from vim itself.


What is unintuitive, is the concept of modes. One, because it is a unique concept and Two because many people who accidentally end up in vim have no use for it.

Once you grasp this concept, exiting vim is one of the most intuitive actions:

* [ESC] <- This is the "modal" part, the hard part, what you probably call unintuitive. * : <- The other part of "modal", difference between commands and navigation. Also a unique concept, that is not hard to grasp, but probably hard to know that one has to grasp it at all. * quit, exit, close * Some error may show up, telling you what to do instead, E.g. * :quit!

That is all: `[esc]:quit` a series of keystrokes that make little sense when you are not familiar with some basic concepts of vim. But entirely guessable, without reading a single line of help, if you do grasp the very basic concepts.


I'm a native vim-er now so a lot of it is second nature, but there's absolutely nothing about "modal" that suggests one mode is "commands + navigation" a priori. For instance, why isn't navigation a command? It's not necessarily bad that it's unintuitive -- lots of things require you to know something before you interact with it -- but to suggest that anyone who doesn't immediately guess the syntax has somehow failed only introduces needless elitism.


I think we are saying the same thing.

I was pointing out that the basic concepts like "modes", "commands" and "navigation" are unintuitive. But the commands, or navigation itself is not.

And from that, I state that it is not unintuitive to "close vim" in itself. But that "using vim at all" is.


That's the matter of your intuition itself. Being familiar with editor modes concept and the idea of editor commands (e.g. "actions" in IntelliJ Idea or "command palette" in VSCode) - you can figure out how to quit quite quickly.


One thing that command-line tools have over IDEs for beginners is that they don't litter your hard drive with surprising artifacts (which, in some cases, create unexpected behavior months or even years later). If you're experimenting with code in vi, you can delete everything when you're done and be absolutely certain that no trace exists.




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

Search: