I think I might have stumbled upon the secret of getting things done. The long lost secret of being productive. It’s simple: “use what works until it doesn’t”. That’s it. If you just intuitively get this, that’s amazing. If you want my points of view on the matter then read on. (Beware: It’s just a goddamn long rant on my history with text editors)
This all started a couple years ago. When I used notepad to write small programs. I quickly got tired of it, and moved onto a simple IDE which I received with my programming book, “CodeBlock”. It was simple. It worked. I was happy. I coded.
Then I moved onto doing some Java, and obviously, code blocks wasn’t working. I switched to eclipse but found it too confusing. So I started using notepad++ along with command line compiling. It was simple. It worked. I was happy. I coded.
Then I stumbled upon some heavy dependencies for a Java project I was working on (writing bot scripts for a game I used to play), and notepad++ wasn’t enough. So I took out some time to learn eclipse just enough to get things to work, and surprisingly they did. It was simple. It worked. I was happy. I coded.
Then I stumbled upon this sneaky little kid in class who was apparently really clever. Linux. The command line tools blew me away. I quickly became a fan of the terminal and tried doing what all the c00l l33t kids were doing. I started learning vim.
But since I sucked at vim, I still coded things which I wanted to “get done” in gedit.
Everyone told me that once you master vim, you’re beyond godlike. It’s the one true way to be a programmer, and that I’m a nobody if I don’t have a customisable text editor because that’s what programmers do. They think and they type. I was a naive 2nd year college student. I believed in the wisdom of the elder greybeards whom I stumbled upon in the forest of the internet. They have a hat, a robe, and a shiny staff, they must be wise, I thought.
Fast forward a couple of years, I was still learning vim because I kept giving up. When I wanted to “get things done”, I used Atom and Sublime instead of gedit, because they just worked.
But I knew that my training would pay as I was ALMOST near mastering my vim-fu.
Then I stumbled upon emacs, and every single thing which frustrated my bones in vim was easily solvable in emacs. Also they had evil mode. I spent days researching on it and finally decided to take the plunge.
Oh boy. The spiral repeats.
Fast-forward to now. I’m still learning emacs while still using Atoms when I want to get things done. Some say I am not patient enough, or a 1000 other reasons on why a true programmer must master their own tools. But to hell with those reasons.
Yes, I am still pretty fast in VIM than I am in Atom. But what about when I want to run a debugger. What about when I want split panes. What about when I want to jump between function declarations. I still am not comfortable with all these in vim. And I can’t even get started on debugging. It’s a pain in both vim and atom. (It’s a breeze in IDEs though, I installed CLion and got started with it and the debugger tool in a mere 5minutes)
I know, I know. I am not using XYZ plugin, or the ABC package. Oh just stop. Let me be at peace right now. Let me remove this agony once and for all.
Maybe I’m not smart enough to use vim, or emacs, or org-mode. Maybe I don’t want to learn vim script, or elisp, or goddamn coffeescript and nodes. Maybe I need someone else to do all this for me so I can spend most of my time thinking and debugging. Because I think about code 10 times, debug it 10 times, read it 10 times, but only write it once.