Your skill as a programmer/engineer should not depend on the intricacies of syntax and the setup of a prettier or linter library. Additionally, there is no reason not to use a GUI. Sublime Text was a good example of an IDE that is in between a full blown solution like VSCode and a bare bones terminal text editor. Why would you not want a UI to customize and have shortcuts such that you can just click once instead of typing on your keyboard like you are playing a professional game of StarCraft.
By all means, if you’re most effective in emacs then please use it, but in all the places I’ve ever worked, emacs and vim have never been the tool of choice for anything beyond ‘I need this one line changed in this config file’, and there is a reason for that.
(Neo)Vim has these too ;)
d# to cut # lines (or dd to cut one line)
p to paste below, P to paste above
/ to search (supports regex)
Also some bonuses like find and replace:
`:%s/old_thing/new_thing`
And going to a specific line:
#G (where # is line num.), alternatively gg to jump to the top of the document and G for the bottom.
For me it took a day or two to learn these basic keybinds, but now I much prefer it to nano as its significantly faster to navigate around even for quick edits.
If the advice is "learn how things work before using some kind of automation" that's valid guidance but this article seems to assume using an IDE or something like that is a substitute for using your brain, which is pretty bogus. Not everyone who uses an IDE is doing it because they want fancy "code completion" or "AI-enabled write a for-loop for me".
I didn't get the hype around VSCode until I ended up working on a project where I was forced to use a Windows PC but the machines I was interacting with were Linux-hosts.
The "Remote SSH" capability wasn't just "slightly helpful" it was realistically the only way (along with VSCode IDE) to navigate a project that had thousands of files of proprietary, non-open source code (i.e. you couldn't use github or something "offline" to traverse the code base).
Remote SSH enabled me to go from hating life using grep / ripgrep and nano/vim/emacs to figuring out a crazy complex code base to being able to wrap my head around the design thanks to VSCode's "jump to definition" and other really helpful features.
I use VSCodium and open-source plug-ins now for personal work and I'm constantly finding new and useful features.
Addendum: If you work in languages like Python, the single-step and debug experience in VSCode (haven't tried it in VSCodium) is also really impressive. You're not using some strange Python IDE which has its own ideas about how do "single-step" and "watch variables".
I can also state the opposite without evidence:
“Learning programming is hard enough that you should use every available tool to help you overcome the hurdles. Without help from IDEs, you might never discover an API or a have the time and energy to experiment with making your code better.”
There. Now you have two contrary opinions and can choose whichever you personally prefer until someone whips out some research papers.
Funny. After years of use, Emacs is my creature comfort!
You can dig postholes with a spoon, and you'll develop some really great forearm strength from doing so, but I'll be over here using a postholer to put up 75 posts for every 1 of yours.
It is a case of personal preference. Removing or having creature comforts like easy refactoring, being able to do code aware search like go to definition, etc won't make you a better or worse programmer.
It might make things more frustrating to get around. It might make you slower. Or for some people it might remove distractions instead.
Try both using more of a 'just a text editor', and full fat IDEs - and use what you prefer.
The mistake with these kinds of articles is arguing that because you should be able to work without an IDE, then it’s best to work without an IDE — I don’t know where this leap of logic comes from, but afaict is never a good argument, and the HN counter arguments are just as uninteresting
I agree with that conditional. It's too easy to rely on tooling, and never really grasp certain concepts involved in what you are doing.
If you take AI for example, its solutions are generally not quite right. An experienced developer will know what's not right. A junior will spend more time slamming into walls and possibly never really understand if using AI and even per TFA, an IDE.
If you'd please review https://news.ycombinator.com/newsguidelines.html and stick to the rules when posting here, we'd appreciate it.
Straight from the article. Vim is superior because it's harder to learn/use. Nothing original