Beginner Friendly Linux Dev Setup

A developer’s operating system is akin to the cowboy’s horse. It should be chosen wisely. There’ll be lots of time spent on it. The better one knows it the more one can get from it. So do choose wisely.

Lots of web devs simply buy a Mac and go to town with OSX. Most of these folks would never think of leaving their land of milk and honey. But for those not yet initiated into the Mac-world but knowing there must be something better then their Windows reality, consider a beginner-friendly Linux setup.

Modern Linux

That’s right, modern Linux.

Many folks seem to exclusively associate Linux with hacker. While the platform is certainly well suited for the hacker-minded codesteader type, it’s also quite friendly for closer-to-normal users.

I’ve been using Linux as my primary work machine for well over 14 months. I came from Windows 7. I don’t have a CS degree and barely knew the command line (before the switch).

Changing from Windows to Linux was like going from a clumsy half-working mini-van to a supped-up SUV.

Primary Linux from Windows Benefits

The primary things I was grateful for when switching were:

  • An awesome terminal (hello bash and z-shell)
  • dev-environment == production-environment
  • speed
  • security (goodbye viruses and spy/mal/bad-ware)
  • stability (no more crtl+alt+deleteing!)
  • old-hardware friendliness (I’m a resourceful fellow and like to keep old things around for as long as it makes sense)

Choose the Right Distro / Desktop Environment

There’s no one default “flavor” of Linux. Instead, there are lots (and lots) of different variations which come from a number of distributions (referred to as distros) for which developers have created many desktop environments.

It’s important to understand the line between distro and desktop environment. In normal-folk terms, think “close-to-the-metal” low-level stuff for distros – like Ubuntu, Debian, Arch, and Suse. For desktop environments, think “icing on top.” For context, Linux servers run a specific distro (Ubuntu and Fedora are two common ones) with no desktop environment.

If you’re considering the switch, you’ll need to choose the right distro/desktop environment. Though there’s no ubiquitous choice, there are several great options worth considering.

If you have time, experiment with as many of these as you can. But do be warned: distro-hopping is a real (and likely paralyzing) thing. Try and settle on one sooner than latter.

Before I settled on my distro-of-choice I was a weary distro-hopper. At the time it brought nothing but toil. Now it brings valuable insight.

Here’s my take on some of the best Linux distros for web-devs and general code enthusiasts (though they’re not really limited to anyone particular, they’re just all-around good choices).

To be clear, I’d recommend any of these to anyone looking to switch to Linux.

Elementary OS

Elementary OS feels a lot like OSX. It’s clean, incredibly smooth, quick and easy to install and get started with but still decently customizable. It’s built on Ubuntu, which some say is good and others say is bad.

I nearly settled on Elementary but eventually moved-on due to wanting finer-grained control over customizations.

Ubuntu Unity

Ubuntu’s Unity disto is a future-now feeling os that packed with features and bold in its overall implementations. It received a fair amount of criticism early on but has since seemed to win-over more followers.

I liked Unity, but I wanted something a bit more “traditionally-Linux” feeling. It also seemed to hog my systems resources. But otherwise, perhaps if I were a bit younger, I’d have stuck with it.

Ubuntu Gnome 3

Ubuntu’s Gnome distro is legendary. I find it to be more traditional than the Unity desktop but still modern and “generally awesome.” There’s an add-on called the Tweak Tool that lets you tweak different settings and such (I consider it a mandatory addition).

I used Gnome 3 for a while and was generally happy with it. It’s powerful, quite customizable, and it’s Ubuntu (which I work with on the server-side). The only reason I switched was because I found something that I liked more.

Antergos

Meet my dev-desktop of choice. Built on Arch Linux, the Antergos desktop distro provides a great balance of power, features, stability, and “customizability.”

Arch Linux is a minimalist approach to Linux where you essentially pick-and-choose the different components you’d like to have makeup your system. While this is a great and powerful thing, it’s also extremely daunting (especially for Linux newbies). But with Antergos there’s the best of both worlds: a quick and easy installer and an Arch-based system.

What’s so great about Arch? The fact that it’s a “rolling” distribution (which means that it’s always up to date). This comes with the slight downside that sometimes (and really, only perhaps once every 3 months or so) there’s a hiccup after updating. In my mind it’s a small price to pay.

Others Worth a Look

More Linux Info to Come

That’s all for now. There are a number of other Linux-related articles already on the to-do list, so stay tuned.