As with many people, I once classified Linux as one of the operating systems (OS) only intended for tech-geeks or IT professionals. I never thought that the day would come where I would use Linux, much less write my thoughts on it. This article briefly summarises my thoughts and experiences with Ubuntu, a Linux distribution.
Linux vs Ubuntu: what’s the difference?
Linux is just a kernel, a core component of the operating system that converts user commands to machine language commands, for the machine to execute. Ubuntu is a Linux distribution, meaning it works like Linux, but is packaged differently. There are many Linux-based distributions, such as Ubuntu, that are packaged nicely by groups of developers, with easy-to-use graphical user interface (GUI), software installers, and applications, but at the core of it all, they are all Linux distributions.
Windows Subsystem for Linux (WSL)
In the past, in order for users to use Linux environments, they had to either dual-boot (running two operating systems on one machine), or use a virtual machine. Today, for Windows users, WSL allows them to run a Linux environment directly on Windows, meaning that there is no need to boot into the Linux OS or virtual machine. The Linux environment is useful for developers, due to its “all-in-one” command line interface (CLI). My experience with WSL was with the Ubuntu 20.04 distribution, mainly to remotely access school servers in order to complete my programming assignments. The convenience of bash scripts, SSH (Secure SHell), vim text editor, and direct access to code compilers, allowed me to seamlessly complete my assignments, without the need for GUI interaction. While this may seem daunting at the start, I became more used to CLI, at least for programming.
Moving to vim from IDEs
While full-fledged integrated development environments (IDEs - think Microsoft Visual Studio) are all-encompassing, they often come with a lot of overhead, and may not perform as well on less powerful/older machines. As primarily a C++ programmer, I find myself enjoying the keyboard shortcuts of vim, and the command line code compilation/execution, much more than using a mouse in the GUI of some IDEs, while not missing out much on debugging features of IDEs. Vim is offered by all Linux-based distribution, and that includes Ubuntu, and is fully customisable with the .vimrc file in the root directory! While I have not tried Java development, it appears that vim is generally not a good alternative for Java IDEs, so that might be a factor of consideration.
OS in your pocket
Booting Ubuntu into a USB thumbdrive has become more popular in the past few years, as more people wish to try out Linux-based distributions. I performed a full install of Ubuntu 20.04 onto my 64GB thumbdrive, and boot it up using grub. In a way, I am “dual-booting” with no HDD or SSD partitioning, and honestly, having the freedom to just plug in my thumbdrive to use another OS with its full capabilities (instead of just WSL) seemed like a convenient idea for me. I carry my Ubuntu thumbdrive with me all the time, and boot it up primarily for programming.
Great way to start your Linux Journey
If anyone feels like experiencing an operating system apart from Windows or macOS, I would highly recommend Ubuntu. However, as this might not be for everyone, I would recommend booting Ubuntu from an external drive, rather than risk dual-booting. I would be posting an article on three types of external Ubuntu drives in the near future, so stay tuned!