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

I wonder if introducing newbies to makefiles and vim is super empowering, or ends up gatekeeping by making it look "as complicated as you feared it would be."

I feel like before any of that:

1. Do practical stuff with Python

2. Learn the semantics behind the Linux directory tree

3. CLI, piping stuff together, a little bit of bash.



> I wonder if introducing newbies to makefiles and vim is super empowering, or ends up gatekeeping by making it look "as complicated as you feared it would be."

This tutorial introduces Vim only after introducing shell and pipes. I was wrong about makefiles -- this tutorial doesn't include makefiles (I was thinking about Software Carpentry [1], which has similar goals). In any case, learning Vim isn't hard as people make it out to be, and one can easily skip that part of the tutorial to come back to at a later point without breaking the continuity.

[1]: https://software-carpentry.org/lessons/index.html


But at some point isn’t it helpful to know that some things are as difficult as you fear, and you just have to power through? I picked up vim early in my programming career and I think it was one of the best decisions I’ve made; I use it every day. Yeah, there’s a time and place for learning “easier” things, but there’s also a time to buckle down, get serious, and dig in.


i am a student and even using nano makes me feel less efficient and productive.

is there something I am missing out by not using vim?


> is there something I am missing out by not using vim?

Being able to use vi is a very handy skill if you're a sysadmin or SSH into other computers/clusters very frequently. Since vi is part of the POSIX specification, all Unix systems would have some implementation of vi. Of course, Vim is much more powerful than a text editor like nano, but also requires more investment to learn. It won't make you a better programmer, but it might make you a faster programmer.


Learning vim at the level of vimtutor is helpful not only because it's a nearly ubiquitous editor with powerful capabilities, but also because the basic navigation is used as the default navigation method in a lot of unix command line utilities like 'less', 'diff', and the man pages.

(Oddly enough, the default navigation used for the info pages is that of emacs.)

Someone's reading this itching to type that you can simply switch the default navigation for those yourself, which is true, but it's still helpful to know these if you have to hop on someone else's machine or ssh into a remote server.

Try one of these editors for at least a month after doing the basic built-in tutorial (e.g., vimtutor) and go through the tutorial every Sunday or so as needed to refresh your memory.

Or you could also use Anki to remember the shortcuts as you learn about them and use them.


It’s hard to look like a true haxxor.




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

Search: