Linux has long had a reputation as a place for programmers and geeks. We've written extensively about how the operating system is great for everyone from students to artists, but yes, Linux is a great platform for programming. Whether you're taking into account the open ethos or the overall ecosystem, there are many reasons to consider making Linux your home for writing code.

1. Linux is Free

It doesn't cost you any money to download and install a Linux operating system. That's great whether you're a hobbyist, a student, or someone getting started on a career as a programmer. You don't have to fork over money you don't yet have. All you need is a Linux-compatible computer, and there's a strong likelihood that you already do.

Not only will Linux cost no money, neither will most of the software. You can grab the tools you need, whether those are for programming or creating documents, without having to worry about what's in your bank account.

2. Linux is Easy to Install

Most people never install an operating system. They may not even have a concept of what one is. This makes the idea of installing Linux that much harder to grasp.

But you're a programmer. You can easily figure out how to search for a Linux operating system, grab an ISO, and write it to a USB drive. You have no problem pressing the necessary function key during boot and navigating the on-screen prompts that follow. Once you've booted up a live USB drive, installing Linux isn't all that different from installing a program in Windows.

Plus if you want to keep your existing operating system, you always have the option to dual-boot.

3. You're Free to Tinker

Linux offers the ideal place to put your skills to the test. You can access the source code to almost any part of your operating system, from the graphical interface down to the kernel.

Most of it won't make sense to you, no matter how much experience you have. But having the freedom to dive in and experiment is a great way to learn, and with Linux, you don't have to worry about running into any legal trouble when you do. The vast majority of software won't ask you to agree to an end user license agreement. Open source licenses largely deal with using the code to make your own applications, with some stipulating that your program must also be free and open source.

4. There's Support for Most Programming Languages

Need to write in C, C++, CSS, Java, JavaScript, HTML, PHP, Perl, Python, Ruby, or Vala? Linux supports all of them, and the list goes on. Sure, you will hit some roadblocks. Visual Basic only supports Windows, but you can use Apple's Swift. Generally, if a programming language isn't limited to a specific operating system, then it likely works on Linux.

If a language that you’d like to use isn’t already installed by default, you can typically get the packages from your distribution’s repositories. Search your default package manager for the name of the language, and something you want should appear.

5. Pick From a Large Range of Applications

The popular image of a programmer involves sitting in front of a black computer screen filled with white or green text. You can write code that way, or you can fire up a text editor. Defualt options such as Gedit and Kate may be all you need. Emacs, nano, and Vim (our VIM cheat sheet) are options you can use inside of a terminal. Atom is a cross-platform option that's as extensible as Chrome. Or you may be one of the many to fall in love with Sublime Text.

Alternatively, you can go for full-blown integrated desktop environments, or IDEs.  On the extremely light side, there's Geany, which is bound to load quickly on your machine. For something offering a fuller experience, try Eclipse.

6. Feel the Power of Bash Scripting

If you’re just programming to get something specific accomplished but don't care about the language, it's time to learn Linux commands and try your hand at writing Bash scripts. Many of the commands that come with Linux (or that can be installed) are so efficient and powerful that some Linux users prefer to live in the terminal.

With a Bash script, you can put commands together to create more complex combinations. For example, someone managing a mailing list can create a script that would merge lists of subscribers, extract the email addresses, remove duplicates, and add the correct formatting so that the result can be read by other programs. Sure beats doing all of that by hand.

shell_script_example

7. Linux Expertise is a Desirable Skill

Are you learning how to program in order to land a job? The fact that you're using Linux is a marketable skill. Whether you're managing a company's server or helping to build the cloud services that clients increasingly rely on, employers want people that know how to use Linux.

Even if you're just tinkering around for now, putting Linux on your system and doing some programming on it will quickly give you some familiarity with the operating system that can give you a competitive advantage later on.

Why Would You Use Anything Else?

There's a reason so many developers choose to make Linux their home. While some would say that Linux has a shortage of user-friendly desktop programs, that isn't the case with software aimed at programmers. You could go so far as to say that they've traditionally been Linux's target audience.

Even if you already have a development environment going, it can’t hurt to reevaluate it to see whether Linux better fits your needs. You might learn a lot and save some money by making the switch!

And for a great reference you can bookmark, take a look at the difference between GTK+ and Qt.