Here is a blog post series about getting into the Linux world and how one can learn more. This series is intended for beginning programmers who want to learn how to program on the Linux platform. You don’t need any programming experience or background at all but it will help if you do.
If you are not familiar with coding or programming, I recommend that you check out this free online course by MIT. It will teach you everything in C programming.
If you are already familiar with C, then great! If not, I also recommend that you take a look at it as well. It is an easy language to learn and it’s one of the most used languages in the Linux world.
I will be covering topics like setting up your environment, various development tools, text editors, version control and much more. This blog post is part of my “Linux Programming from the Ground Up” series.
A couple of years ago, I wrote a blog called “A Geek’s Guide to Becoming a Linux Programmer.” It was an exercise in working towards making myself a more complete programmer and it helped me learn so much. I wanted to share what I learned with anyone else looking to make the same transition.
I really love using VS Code with Linux and WSL (Windows Subsystem for Linux). One thing that always annoyed me was how when I opened up a folder in WSL, I couldn’t use Ctrl-P and do quick open to jump to files in that folder. I had already remapped my Caps Lock key to be Ctrl for ergonomics, but even then it was still very inconvenient switching between my left hand holding the Ctrl key and my right hand typing out the file path.
Once again, my trusty VS Code extension API saved me from this problem! So today I am releasing the WSL Quick Open extension:
If you have been following my blog and have been involved in the comments, you might know that I have been doing Linux programming for some time, and have been wanting to write about it, but haven’t gotten around to it. This is because I’m a lazy person who works too much and spends too much time watching TV.
But enough about me. What is this post all about?
This is a post about how I got into programming on Linux, what resources I used, what tools I use and tips on getting started. It’s a bit of a long read (sorry), but hopefully it will be useful to someone who wants to get into Linux development but doesn’t know where to start.
Who is this for?
I am writing this for people who are new to Linux programming or want to learn more about Linux programming. If you don’t know what Linux is, or if you are not interested in learning more about it, this post may not be for you.
I’ve been meaning to write a blog about this for a while: how to get started programming on Linux. It’s a question that comes up every once in a while, but seems to be fairly common among those who are new to the world of Linux. So here it is.
Now, I’ve been using Linux for over half of my life now and I am a professional software engineer (well, I work as one anyway), so I do have some experience in this area. However, this is not going to be your typical “how-to-code” blog — there are plenty of those out there already. This is more aimed at the people who are newish to Linux, who may or may not have any programming experience (though it will help if you do), and who want a bit of guidance on how they can start coding on Linux.
For the purposes of this blog, I am going to assume that you already know your way around the command line: you know how to navigate directories, list files, copy/move files and search for files and directories; you know how to edit files with an editor like nano or vim; you know how to install applications from the command line and manage permissions. If
I started my journey as a Linux programmer a few years ago. I had no idea what it was all about, so I ended up learning by doing.
I’d like to share my experience with you in hopes that you may be able to learn how to program in the Linux environment. This is not a tutorial, but rather a guide to help you understand the Linux way of doing things.
Visual Studio Code works on Windows and Linux, but it does not have any support for Mac OS X yet.
The first thing that you need to do is pick a text editor. I’ve found that for beginners, Vi or Vim will be the easiest solution. If you are using Ubuntu, then it is pre-installed and ready to go. If you are using a different distribution of Linux, then you can install it by typing “sudo apt-get install vim” into the terminal.
Now if Vim isn’t your thing (it is kind of confusing at first), then there are plenty of alternatives. The second best alternative would be Emacs. It is another open source text editor but it has a bit more functionality than Vim. You can get Emacs by typing “sudo apt-get install emacs” into the terminal.
If you want something a little more simple and straightforward, then I would recommend nano. Nano doesn’t have all the features that Vim and Emacs have but it can get the job done quite easily. You can get nano by typing “sudo apt-get install nano” into the terminal.
The first thing that you will need to do is to install Ubuntu in a virtual machine. I would suggest using VMWare but if you have a different preference, such as VirtualBox, then go for it.
After you have installed Ubuntu and booted into it, you may notice that there are a lot of things that you don’t really need on your system. So, the first thing that you should do is remove these unnecessary packages. To do this, open up a terminal and run the following command:
sudo apt-get autoremove –purge
This will remove all the unwanted packages from your system.
Next, what we want to do is to make sure we have all the correct packages installed so that our development environment is set up correctly and can be used right away. To install these new packages, run the following commands:
sudo apt-get update
sudo apt-get install build-essential git mercurial pkg-config libgtk2.0-dev libx11-dev gcc g++ libxau-dev libxdmcp-dev libxcb1-dev libxext-dev libglu1-mesa-dev automake autoconf bison flex mono-gmcs