Are you thinking about becoming a developer or dabbling in programming to improve your chances of finding a job? If your answer is yes, you’ll definitely want to read today’s post and spend some time getting to know the Linux operating system. [FYI, it should be pronounced “Lin-ux” and not “Line-ux.” If you say “Line-ux,” developers will laugh at you.]
But even if you’re not sure about your career path, you should still consider checking Linux out anyway.
Why should you do that? A few reasons, really. For starters, Linux is free, stable, and easy to use.
And, at some point in the future, if you decide that you’d like to experiment with programming (maybe you’ll sign up for a class on Codecademy or try to build your own website), you’ll find that it’s much easier to write and test your code if you’re using Linux.
I didn’t know anything about Linux, so I called in some help from one of the AfterCollege software developers, Simon Luppescu. Simon is a long-time fan of Linux and he promised to explain it as simply as possible so that it wouldn’t be scary.
What is an operating system?
Mac, Windows, and Linux are all examples of operating systems, but their features and intended audience can vary widely.
An operating system (often referred to as an “OS”) represents a bridge between a device’s hardware and its user, which means that pretty much any electronic device (even one that’s as simple as a digital alarm clock) has an operating system. Computer operating systems are huge pieces of software that consist of many features. The main reasons to use any electronic device are to store, compute, and retrieve data, and an OS allows the user to do all these things.
What’s the difference between Linux and other types of OS?
The main difference is that compared to Windows and Mac, Linux is free and open source (more on that a bit later). That means that Linux is tailored to a specific audience, such as developers and users who don’t need the feature-rich interface provided by Windows or Mac. Linux is known for being easy on hardware, meaning you can even install it on slow computers.
Another great feature of Linux is its simplicity, which means that it’s a very stable OS. Have you ever been using a Mac and you get the colorful spinning ball showing the Mac is running something long or difficult? [Editor’s note: This is what I call “the pinwheel of death.”] And then it doesn’t stop? And you have to restart the application causing it—or worse, your entire computer—to crash?
That won’t ever happen on Linux. Not to hate on Windows or Mac, but their complexity comes with a higher risk of application and OS crashes. If your line of work involves valuable information, then you might appreciate the stability of Linux.
What does it mean that Linux is “open-source”?
Open-source means the code that makes the program is open to the public, especially developers, and allows them to make improvements.
This leads to many distinct versions of Linux, called “distributions.” The most popular distributions now are Debian, Fedora, and Ubuntu. Each one has its own flavor and might be suited for particular people, but not for others.
Which distribution do you use and why do you like it?
Here at AfterCollege, I use Ubuntu not only because of its plethora of useful developer tools, but also the features for general users. Many of you may be familiar with Mac’s famous Exposé and Spaces feature (now called Mission Control) for fast window-switching. Well, it’s on Ubuntu too!
Ubuntu is also great for programmers, even if you are just starting out. The reason for this is setting up Ubuntu is super easy. A lot of the tools you need are pre-installed, but you may have fun downloading some extras. Downloading libraries (pre-written code that serves a specific purpose, such as a library for mathematical functions) is easy and will work right out of the box.
As an example, let’s say you want to make a simple Tetris game. If you’re using a popular general-purpose programming language, chances are there is a library for drawing simple shapes and animating them. That’s a lot of the work already out of the way.
Once you have things set up, navigating through all your files and opening programs can be accomplished very quickly with the command line.
Typing in text-based commands in the Terminal might sound scary, but after getting the basics under your belt, you will find it is considerably more efficient (and a bit more fun) than going through folders on your desktop.
The essential commands we need are navigation through folders, opening files, opening and even installing applications, and running code.
Being able to control so many things through the keyboard really gives you the sense that you know how to operate your computer efficiently. [Editor’s note: If you decide that you would like to pursue a career in web development, you’ll also find that familiarity with the command line is a huge asset, according to senior front-end developer Joey Nguyen.]
How can a newbie get started with Linux?
To be able to use Linux, you have to install it on your computer, but not like you’d install a typical piece of software. We won’t go into the entire process, but basically the idea is to download the installer on a CD or USB drive and boot up your computer using that CD or USB drive. For fully detailed instructions, check out the specific distribution’s website (Ubuntu, Fedora, etc.) or this Lifehacker article.
How did you personally learn Linux? What kinds of projects have you used it for?
My first exposure to Linux was from my dad when I was a little kid because he used it for all his work. When I officially became a computer science major, I started using Fedora because my university’s computer labs all had computers running Fedora.
After I got a Windows PC, I realized how much more suited to programming Linux was compared to Windows. I used it for the programming projects that I had to do for school. In my Computer Networks class I made an instant messaging program, and Linux made testing it easy because all the computers sat on a local network and I could remotely log in to other computers making them virtual users for my application. After this experience, I decided to install Ubuntu on my own computer to replicate the lab environment on my home computer. It saved time and was easy to use.
Homework time! Download a distribution of Linux and try running it on your computer. If you’re feeling extra ambitious, sign up for a course to learn the basics of programming. Codecademy, Lynda, and Skillcrush are great places to start.