From IDEs to the Terminal

The first IDE I ever used was Turbo Pascal. It ran on Windows through a DOS terminal. But it was really with Dev-C++, over twenty years ago when I started learning C, that I felt how these programming software suites were useful. It seemed less complex than Visual C++, and if I’m not mistaken, it supported the Portuguese language. I remember how simple it was to setup a new project from a template and start coding. A few more steps to link Allegro – the simple graphics library – and I was good to go. It offered syntax highlight, build system (with a compiler: Mingw!) and debugger. These are many of the tasks that would give a beginner C programmer a headache if they were without an IDE.

Eventually, for some reason I don’t recall, I had to switch. Still too afraid of the Microsoft suite with its endless project configuration screens, I opted for a tool much simpler: Code::Blocks. At the same time I was writing a lot of PHP, it was when I first started making websites for some of my family’s small businesses, and my preference was Dreamweaver, a full IDE for webdev by the late Macromedia.

In school I learned Java, and we were given the option to use Eclipse or Netbeans, two of the greatest resource eaters my computer has ever met, especially the latter. So I picked the former. Both of them shared the same philosophy: bring your own language, by supporting plugins. Sometimes I brag about how efficient I got with the keyboard in Eclipse. I liked it a lot, so I used it for all my projects, in all the languages. For work, it was Actionscript3 and PHP.

I adopted Visual Studio when I began learning C#. Later, as a Unity developer on Mac computers, I was required to use Monodevelop. And it was so bad that I eventually switched back to Eclipse for a while, until I was given a PC and went all-in into the Visual Studio era. I remember learning all the shortcuts in it, took me a couple days to get pretty efficient. It’s still my main IDE at work, ten years later, only now for C++. That same tool I was afraid to learn in the very beginning.

During all this time, I used many code editors too. Many years dedicated to TextMate on the Mac, then Kate on Linux (back when I preferred KDE), Sublime Text and finally VSCode. But they were more for smaller projects, mostly scripts. Now I found myself setting up LSPs in Neovim, as I work on some of my projects over SSH on a VPS. A few days doing only Neovim for Javascript and Python and suddenly I can barely open VSCode anymore.

I watched so many videos on Neovim that at some point it just clicked. And now I feel so happy everytime I do something smart that saves me a couple strokes, or more importantly, a trip do the mouse, that it got pretty addictive. This has led me to use it even on Windows, via WSL, bolstered by my confidence in pairing it with tmux and the shell.

I find it interesting that I went through all these extremely complex tools with so many GUI buttons that sometimes look like your aunt’s browser with all those toolboxes, just to settle down with a program that is a few interations newer, but essentially a tool written almost 50 years ago (first version of Vi was made in 1976!!!) and still runs in a terminal! Except now I can run this terminal on a device that is on my pocket, accessing a server hundreds of kilometers away and with seemingly zero lag.

Computers are fun.