Pinterest Stumbleupon Whatsapp

Every programmer needs to ask themselves several questions about their development environment which, when correctly answered, can make the job much easier in the long run. One of the questions that needs to be considered is which operating system to use for programming. While certainly not the only choice, Linux is a fantastic platform for programmers. Here are several reasons why this is the case, and why you should keep Linux in your considerations.

Linux Is Free

Of course, one of the primary benefits that Linux offers is that it’s free. Especially if you’re just starting out with programming and haven’t built up much of a career yet, you most likely don’t have the money to shell out for the various software that you’d need on other platforms. This isn’t necessarily a technical benefit for programmers, but hey, financial benefits are worth taking into account as well.

It’s Easy To Get Linux And Install It

Nowadays Linux has become extremely easy to obtain and install (besides some distributions which have different philosophies), and it works on virtually any hardware. Just pick one of the more popular distributions (if you aren’t sure which one, a safe choice is Ubuntu), download the ISO file (which, again, is completely free), write it to a USB drive Linux Live USB Creator: Easily Boot Linux From Your Flash Drive Linux Live USB Creator: Easily Boot Linux From Your Flash Drive Read More or burn it to a DVD, and boot off of that media to go through the installer. If you have another operating system already installed, you can also choose to dual-boot between the two operating systems so you can use Linux for programming and your other OS for anything else.

Support For Most Programming Languages

Linux has lots of support for all sorts of languages. Unless it’s notoriously known for being specific to a certain platform (such as Visual Basic for Windows or Objective-C for Mac OS/iOS), then the chances that you can get it on Linux are extremely high. C/C++, Java, PHP, Ruby, Python, Perl, and so many more all work perfectly in Linux.

If a specific language that you’d like to use isn’t already installed by default, you can (except for very rare instances) just get the necessary packages straight from your distribution’s repositories. Just look through the package manager for the name of the language you’re looking for, and you should be able to find it.

Large Range Of Coding Applications

Support for many languages is great, but what about the applications you use to edit your code? Linux has a ton of those too, spanning across the entire range of tastes. You can get as nerdy and simple as emacs, or just use gedit, a more functional equivalent to Windows’ Notepad gedit: One Of The Most Feature-Filled Plain Text Editors [Linux & Windows] gedit: One Of The Most Feature-Filled Plain Text Editors [Linux & Windows] When you think of plain text editors, the first thing that may pop into your head is Windows' Notepad application. It does exactly what its job description states - plain features for a plain text... Read More . There’s also stripped down but focused code editors such as Geany Geany - A Great Lightweight Code Editor For Linux Geany - A Great Lightweight Code Editor For Linux Surprisingly, Linux doesn't offer that many good IDE's (Integrated Development Environments). I believe this is because back in the day most Linux programmers took out good old Notepad (or gedit in this case), and started... Read More , or you can go with full-fledged IDEs like Eclipse. Again, these are just examples that show the variety of coding applications on Linux, and there are several alternatives to these.


Bash Scripting

If you’re just programming to get something specific accomplished, but don’t have any requirements in regards to the language, then tapping into Linux’s utility line commands and Bash scripting is an excellent option. Many of the commands that come with Linux (or that can be installed) work like highly-functional but focused blocks that can do certain things.

With a Bash script, you can put those blocks together to create something that can do what you want it to. For example, as Newsletter Editor for MakeUseOf I have to work with multiple lists of subscribers. With Bash scripting, I was able to create a script that would merge them all, extract the email addresses, remove duplicates, and add the correct formatting so that it can be read by other programs. It didn’t take very much time to write, the script isn’t very long, and it completes very quickly. It’s a great productivity tool worth checking out 5 Beginner Linux Setup Ideas For Cron Jobs & Shell Scripts 5 Beginner Linux Setup Ideas For Cron Jobs & Shell Scripts With bash scripting, you can do a complex series of tasks in one quick go so it's great for elaborate and repetitive needs. It's also a great way to get to know terminal. Read More and putting some time into to learn.

Linux Is A Desirable Skill

Lastly, have you ever looked at the job market lately? A very common item found in programming job descriptions is familiarity with Linux. Adoption of Linux is on an upward trend, and there are no signs to show that will change anytime soon. 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?

With these six great reasons in mind, it’s pretty hard to come up with enough reasons to choose a different operating system. Even if you already have a development environment going, it can’t hurt to reevaluate it to see whether it feels your needs as well as it could.

If you use Linux for programming, what are some other reasons why people should consider it? What’s your favorite programming feature or tool on Linux? Let us know in the comments!

Image Credit: working on laptop Via Shutterstock, Program code and computer keyboard via Shutterstock

Leave a Reply

Your email address will not be published. Required fields are marked *

  1. i have no name
    January 27, 2017 at 9:24 am

    linux is bad

  2. Victor
    October 1, 2016 at 6:16 pm

    1. Linux has problem with modern driver. Graphics adapters, switchable graphics. Some wifi adapters have very old drivers for Linux.
    2. Firmware development, EDA, SCADA, Hardware development - only Windows.
    3. Do you know Photoshop analog for Windows? Gimp???? Really???

    In other worlds. Linux is good for web-development (excluding java) and as an embedded system only.

  3. Martin
    August 9, 2016 at 12:54 am

    @Daniel: Well, that blame goes to Adobe, not Linux. They are free to release a native linux version of Adobe CC...

  4. Tony
    March 31, 2015 at 4:56 am

    Linux is a Unix OS and so is the Mac OS. Now, I would like to ask you a question. Why would you prefer a free operating system slapped together by a bunch of guys over the world, to the same free OS, however carefully and securely made by professionals from Apple? Especially when there is a such variety of different applications for all needs.

    Linux is nice and all, however Mac OS it is for me now, especially with its new flat, frosted glass UI. <3

    • marko djukic
      June 30, 2015 at 12:23 pm

      Because i don't want to pay 2000$ for mac

    • Barry Smith
      September 6, 2015 at 8:28 pm

      So what you're basically asking is: Would I prefer a highly efficient OS that has code that has been bug-tested and peer-reviewed by many thousands of professional software developers from across the globe to make sure it as efficient and bug-free as possible, or would I want one designed simply 'to look good'? (Actually, I'd argue newer Linux Desktop Environments look way better than OSX from a design perspective too).

      Linux is fast, secure, and highly compatible. Its open-source development model means that it has code integrated by many thousands of software development groups, and it is peer-reviewed by many to make sure it is free from bugs and security issues.

      Also, it has many features that Windows and MacOSX simply couldn't have by design. Multiple Desktop Environments means that Linux can look and feel exactly as you want it to.

      So many reasons to use. And its increasing popularity means more people are developing software for it. Virtually all mainstream software now has a Linux build, and those that do not often have open-source alternatives with either the same or better features.

      • Giang Hai
        September 25, 2015 at 1:56 pm

        Seriously bro? you mean a peer-reviewed perfected, perfected-by-thousands, open-source Linux against the shady, incomplete, weak and expensive Mac? You have got to be kidding me.

      • Brendon King (BK)
        October 12, 2015 at 5:22 pm

        Oh dear God another Mac enthusiast... when will the insanity end???????

    • Pasterke
      December 10, 2015 at 11:29 pm

      Linux is not a Unix system ! It's a unix like. The linux kernel has nothing in common with a unix kernel. BSD's are unix systems. Linux users who start with a bsd, has problems to fins their way in the beginning :)

    • An Vu
      January 5, 2016 at 8:11 am

      MacOS is not free. When you buy a mac, the fee is included with the product.

    • omkar
      March 5, 2016 at 4:14 pm

      My friend, Mac is based on original unix kernel. Linux is a completely different kernel but it is inspired from Ideas of original unix OS. But currently both are very different because linux has merged the support of almost all platforms, file systems and other things.

      Mac came in about 1984 with Unix license from AT&T, but linux is developed by linus torvalds initially, as a hobby, because he wanted to use a free OS, but as community of linux developer grew, it became what it is today.

    • James
      June 22, 2016 at 10:03 pm

      Where have you been the last 30 years my friend? The Linux kernel carries one of the largest software support communities in the technology industry, not to mention the scores of dirivites and variations that this magicial piece of ever evolving code has managed to spawn in its lifespan. There is one variation of Mac OS X that is up to date and available for public use at any given time. Currently that version is El Capitan (which was a dumb name, I'm just throwing that in there... I can think of 500 other places in California that would've probably been a better option to go with... Thats just my opinion).... Ill give credit where it's due, OS X is a phenomenal operating system. It works very well 90% of the time, for the average users demands and is always complimented wonderfully by the asthetically pleasing hardware that its designed alongside. I dont think anyone would argue with with me when I say that Apple has created the most popular and userfriendly operating system (for personal use) in existance today. There are arguements that can be made left and right as to the overall usefullness of any operating system when compared to another, but when you say, and I quote " Why would you prefer a free operating system slapped together by a bunch of guys over the world, to the same free OS, however carefully and securely made by professionals from Apple? It really is evident that you have absolutely no clue what you are talking about. I say this for a few reasons.... 1.) OS X is probably the most locked down operating system in existence. Getting it to do anything outside of what Apple wants it to do (like customizing the interface beyond the 2 options Apple provides) is like pulling teeth! Anything can be done with enough time but its a hassle... Unless you're making music, or editing video, the amount of tools you have at you disposle for something like developing Software for Android devices, doesnt even come close to whats available for Linux users. Not to mention the cost of those tools on OS X compared the software available to Linux users that the OS X variations will do and some. Why? That brings me to number 2.) Purpose... OS X was designed to be a mechanism by which a very successfull company generates even more revenue. It is extremely useful, but at the end of the day it does not have any blaring feature which makes it BETTER than any Linux distro in terms of its use as a tool for developing X Y and Z.... Linux is FREE along with 99% of the software that runs on it. I equate it to people who buy $3 bottles of water when they can use their sink for free. You can say its a safer operating system, but thats really only relevant to people who dont know alot about computers and software development. Thats why they buy a Mac becuase they work, and they dont have alot of the issues that Windows PCs expierence. If you are developing software then chances are you have a pretty good understanding of computers, and how to keep them running clean and without issue. Most likely across multiple operating systems. Which brings me to number 3.) The "highly trained professionals at Apple".... Appearently the 12,000 software engineers that Apple employs, have the collective brainpower of a supernaturl being, this is why theyre consistantly capeable of pushing out cutting edge software that no other group of people in existence can make better, nor can they break through the security provided with said software..... Oh wait, I forgot to mention George Hotz.... The 14 YEAR OLD KID THAT UNLOCKED THE FIRST iPHONE IN 2007. Think abut that, Apple had an exclusive aggreement with ATT at that time, thats why it was locked in the first place. Im sure those engineers worked very hard to lock that device down. And yet 14 year old Georgy managed to make that device his b*tch and spawned the popular jailbreaking community you see amongst a large number of iphone users today. Apple creats some securty measure and the community finds a way around it. Its never ending game and I guarentee you that whatever security measures Apple engineers create, the hacking community will find a way around. They always do. You know what Apple does in response?? They hire as many of those quality hackers as they possibly can. .... My point is this... Mac is a great system, with a large userbase but doesnt come close to Linux as it pertainst to practicality and overall usefullness. Apple is a status symbol... Their products are useful, but the purpose behind them is so Apple can make more money. Where as Linux is a product that was given to the world and has been insturmental in the advancement of software developemnt in general for the past 30 years. It is a tool that has been utilized behind the scenes and has contributed far more to the advancement of the human race than anything that has ever come out of Cupertino California.

  5. Alex
    February 2, 2015 at 1:47 pm

    If u want something like C# or VB use Qt, it's free and can compile for Linux, Windows, Mac plus Android, WindowsPhone...

    Don't forget Kate, much better than Geany

  6. Cedric Wehrum
    November 23, 2014 at 11:46 pm

    A big thing is missing:
    If you use Linux technologies it's often easier to port the program to other platforms afterwards. Many libraries and programs that are commonly used in Linux were ported to other platforms as well.

  7. Jon Green
    October 30, 2014 at 5:31 pm

    Even Objective-C is available under Linux - in fact, the GnuStep environment ( uses it as its principal development language.

  8. Daniel Rosca
    October 29, 2014 at 7:07 am

    I have been using Linux for years while being a web back-end developer. Unfortunately, I couldn't continue with it anylonger due to the fact that I joined also the front-end side; the main issue, from my point of view, is that there isn't native support for Adobe CC and the wine workaround decrease a lot the performances of Adobe CC apps(illustrator).

    • Martin
      August 9, 2016 at 12:56 am

      @Daniel: Well, that blame goes to Adobe, not Linux. They are free to release a native linux version of Adobe CC...

  9. Zhong
    October 29, 2014 at 3:39 am

    Is there any other type of productive activities you could do with Linux?

    • James Bruce
      November 1, 2014 at 10:03 am

      Sure - you can get so frustrated with the general usability and interface that you go outside and do some work in the garden to de-stress. That’s pretty productive, for growing vegetables at least.

    • Zhong
      November 2, 2014 at 2:32 pm

      I don't think growing a garden has do with Linux. I'm referring inside the system itself. Hobbies that might interest other linux enthusiast.

  10. NotoriousZeus
    October 29, 2014 at 12:14 am

    One of the reasons to choose Linux is the use of programming terminology throughout and thin line between user friendliness and madness, serving as dive-start platform if you want to get in deep and get rid of your programming fears.

  11. Erik
    October 28, 2014 at 8:52 pm

    There is actually Visual Basic for Linux as well, sort of. Gambas which is inspired by VB, but not a clone. It is also my preferred language and IDE for Linux software development!

    (Will comments with hyperlinks be removed?)

    • James Bruce
      November 1, 2014 at 10:02 am

      They are moderated and approved once checked, yes.

    • Erik
      November 7, 2014 at 4:45 pm

      I am sorry I was sort of "spamming" here... My comment never appeared so I kept reposting, and then I thougt perhaps the link was the issue. Then later I realised all of them came through :O Again, sorry about that!

  12. Erik
    October 28, 2014 at 8:48 pm

    There is actually Visual Basic for Linux! Sort of at least :) Gambas (see is inspired by VB, but not a clone. It is also my preferred language and IDE for Linux software development!

  13. Erik
    October 28, 2014 at 7:47 pm

    My comment disappeared, but what I said is that there is actually Visual Basic for Linux as well, sort of. Gambas at is inspired by VB, but not a clone. It is also my preferred language and IDE for Linux software development!

  14. Erik
    October 28, 2014 at 7:00 pm

    There actually is Visual Basic for Linux - sort of. Gambas! (

    • Anonymous
      October 29, 2014 at 7:11 am

      .net framework runs vb. Mono is the linux software needed to run vb on linux :)

  15. Doc
    October 28, 2014 at 6:35 pm

    Several good reasons NOT to: Few people actually run Linux, so the programs you write will have a very small target audience. Although OpenOffice/LibreOffice is great and only getting better, despite some inroads being made by Open Source in Europe, Microsoft still rules in the office, as well as in PC gaming.

    • Anonymous
      October 29, 2014 at 7:08 am

      'Few people actually run linux' hmm... not vry well researched. The majority of servers on the internet run a version of linux/BSD which both have their roots in UNIX. Pretty much everything Google does run on their own variation on linux. Can you imagine Google paying MS licence fees for all their millions of computers. Don't think so. Tech support in the server room used for the Internet will have more jobs with linux skills In preference to Windows.

    • Doc
      October 30, 2014 at 7:07 pm

      @Anonymous: Yes, lots of servers run Linux (upward of 60%, the last time I checked.) However, servers are not people; Linux on the desktop, outside of European ministries that have mandated open source, is still pretty scarce, so unless you're writing Bash or PHP scripts with an intention to get a job in IT, using Linux on the desktop is going to be a pretty obscure niche (and I say this as a Web designer with some experience). I've been learning Symfony, Magento, PHP, CSS, HTML, and JavaScript for the past 8 years, and I still use Windows on the desktop and only have to SSH in to run a PHP script from the command line once in a while.

      • Martin
        August 9, 2016 at 1:00 am

        If you'd watch the Netwrok protocols, you'd even find, that even microsoft uses in some case Linux as web a server. Ain't that funny ??

    • ed
      October 30, 2014 at 8:33 pm

      Just because you use Linux to program in, does not mean you are building applications that only run in Linux.

      You can use Linux to program in HTML, CSS, javascript, Java, python, PHP, Ruby, C++, etc... All these languages can be used to write code for other operating systems like Android, Windows, iOS, Mac OS X, for the web, for mobile, and Linux.

  16. dragonmouth
    October 28, 2014 at 6:15 pm

    "One of the questions that needs to be considered is which operating system to use for programming."
    If you are freelancing and can pick your O/S, Linux is not a bad choice. However, if you are working in a cube hive, the employer determines the O/S and that most often will be Windows. If the employer uses mainframes, chances are very good that the O/S will NOT be Linux.

    • Doc
      October 31, 2014 at 11:15 pm

      @Dragonmouth: Exactly. I was issued a laptop that is exactly the same as my boss's, so I could compare between his and mine if something went wrong. What OS did both ship with? Windows 7 Home Premium.

  17. Alejandro Tapia
    October 28, 2014 at 4:49 pm

    The majority of servers are running some GNU Linux distribution , so, if you work with linux on a daily basis you may have lesser difficulties to configure and troubleshoot a Web Server

  18. Anonymous
    October 28, 2014 at 4:19 pm

    Why does makeuseof keep asking for my location? My decision of not allowing it the first time hasn't changed and probably won't ever.

    • Anonymous
      October 28, 2014 at 6:35 pm

      Maybe you disabled cookies, maybe that's why it doesn't remember that you've not allowed it to use location.

  19. Ziaur Rahman
    October 28, 2014 at 2:41 pm

    For both Professional & non-professional Linux is best platform for programming.