Programming is an activity is that often performed on Linux. And Linux is a great choice for that, as it’s easy to install support for virtually any language you can think of. Programming is simply made easier on Linux.
You may think that programmers need nothing more than a terminal to work with, but desktop environments still provide plenty of features that even programmers find difficult to pass up on. Without those features, their productivity wouldn’t be nearly as high as it could be.
So what’s the best desktop environment out there for programmers? It’s hard to say, and each programmer will have a different opinion. But I’m going to make a choice and explain why I think it’s the best one for programmers. My answer to this question? Gnome Shell. Now here’s why.
A good way to become more productive is with virtual desktops. Now I know that just about all desktop environments support virtual desktops, but Gnome Shell is the only one that encourages its use — so much so that it suggests virtual desktops as a replacement for the minimize button on windows. Of course, you can still get that minimize button back if you want it, but that was the original explanation.
Programmers tend to have five windows open in a very short amount of time, and that number will do nothing but grow until they’re done for the day. Not only do virtual desktops let you separate tasks or windows in whatever manner you prefer, but in Gnome Shell the number of virtual desktops is also dynamic. You will always have one empty virtual desktop, and if you put a window in it, it’ll create another virtual desktop. If you close out all windows in a virtual desktop and end up with two, Gnome Shell will automatically remove one. It simply lets you be productive and takes care of all the little details to save you time and effort that could be spent programming instead.
Gnome Shell also has a plethora of keyboard shortcuts. Not only does it have useful ones like Alt + Tab to switch between windows, but it also has plenty of them that relate to—you guessed it—virtual desktops. While the idea of virtual desktops is great, it’s a bit difficult to constantly switch between them graphically because you have to go into the Activities view first. But with keyboard shortcuts, that’s not necessary—you can switch between them with just a press.
Extensions have become an important part of Gnome Shell, and they let you tweak the desktop environment so that you’re happy with how it works. Various extensions exist to add functionality, change appearances, or modify some default behaviors. It all depends on what your preferences are as a user or programmer, but with plenty of extensions to choose from, you can make Gnome Shell feel much more like home.
It’s also worth noting that a lot of programmer tools, such as my favorite code editors Geany and Eclipse use the GTK framework for their UI on Linux. Since Gnome Shell also uses GTK, that means that applications will visually fit in with the rest of the system. The same can’t be said for Qt apps running on GTK desktops or vice versa (although they have been getting better at making them look good in such scenarios). In any case, running GTK applications on Gnome Shell will give you a very consistent experience.
Finally, Gnome Shell offers excellent performance. While it’s not as lightweight as LXDE or even Xfce, it behaves very smoothly and animations are quick. It’s also still faster than KDE, both in perceived and real performance. Gnome Shell only starts to act slowly on relatively weak systems like older netbooks, but programmers will most likely be using something that has more performance than that—otherwise it would take forever for software to compile!
Gnome Shell Has It All
While there are parts of each desktop environment that I like, I ultimately think that Gnome Shell is simply the best choice for programmers. It’s fast, it’s functional, it looks good, and it encourages productivity. That’s really what I’d look for in a good desktop environment, and it delivers on all of those points. It’s also easily available on just about any distribution you’d want to use. If you haven’t used Gnome Shell before, it’s definitely worth checking out and tinkering with. You can even get it on Ubuntu, despite the default desktop environment being Unity!
What’s your favorite desktop environment to program with, and why? Let us know in the comments!