Hacker News new | past | comments | ask | show | jobs | submit login

Vim is a tool. The more knowledge you have, the more powerful it becomes.

Vim was my first editor in Linux. Before that I used Borland, VS(Visual studio) and MASM(Microsoft assembler) editors.

After learning regular expressions, I felt superman with Vim. I started doing incredible automated work that was impossible or very hard to do in anything else like VS, netbeans or whatever.

Then I learned Lisp, so I forced myself to master eMacs. It happened again, I felt super-superman once you understand Lisp and can use it to automate everything on the editor.

IDEs are great for starting to program. But if you plan on being a serious programmer I recommend that you download anki and start memorizing Vim or emacs or regular expressions commands.

That will make you also a super human, able to do things in way less time that everybody else.




“IDEs are for beginners” and “IDEs are not for serious programmers” and “Vim/Emacs make you superhuman” are myths we should not perpetuate as programmers.

I like Vim/Emacs, but they succeed in making programmers feel like magical wizards more than they succeed in making them super human.

I've also paired with vim/Emacs users who are fast at manipulating text, but terrible at all the things you can do in a couple of seconds with an IDE (rename a file/function/class/parameter and have all references update, jump to a failing test, jump to a definition of library code that isn't stored under the working directory path, structural search and replace[1], extract JSX code from the render method to create a new component etc. etc.).

For many, it's easier to add vim emulation to an IDE than it is to add the IDE features they care about to vim/Emacs. You can still be a passionate, professional, productive developer and use an IDE.

[1]: https://www.jetbrains.com/help/webstorm/structural-search-an...


>But if you plan on being a serious programmer...

Serious programmers don't say such nonsense. Serious programmers use whatever they are comfortable with. Whether it is vi or IDEA


We all start out with the same equipment; the only automation we get is muscle memory. We add software, and multiply that. If we add automation to the software, we multiply it again.

There are reasons why some people can do more than other people. Some people have natural advantages, in certain directions. Nobody has them in all directions, but automation can often compensate in the other directions.

If you don't have ambition to excel, you can stay with the minimum. If you have enough natural talent, you can play to your strengths and excel only there. It's a choice of where to invest your time and effort. It should be a conscious choice.

IDEs are a trap because they automate only certain things the IDE author thought was important, and do not reward impulses to improve in other directions.


>There are reasons why some people can do more than other people.

Yes. 80% (or more) of that is them perfecting their technique (whatever this means in each case). 15% is them spending time on what is really matters. And 5% is for the rest, including crafting or customising their tools. And in many cases you don't really need these 5%.

>IDEs are a trap because they automate only certain things the IDE author thought was important

No, human mind is a trap. IDE is just another piece of software that can be extended just as much as vim or emacs and tailored to your needs. Maybe not that easily or extensively but still.

>things the IDE author thought was important

Modern IDE's are crafted by great number of people with constant communication with their customers and industry. Obviously mass product can't be tailored for each person but you can safely say that a generalised IDE will have all things that are actually important. Everything else can be added via plugins

PS: I'm writing this as a neovim user by the way. Still think that IDEA and VSCode are the best pieces of dev software aimed for mass market out there.


Can you give an example of "super human" regular expressions?

I use regular expression search/replace (even across all files in the project) frequently in WebStorm. I'm really curious what functionality I'm missing out on.




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

Search: