{"id":78104,"date":"2019-01-25T15:45:50","date_gmt":"2019-01-25T15:45:50","guid":{"rendered":"http:\/\/www.sickgaming.net\/blog\/2019\/01\/25\/top-5-linux-distributions-for-development-in-2019\/"},"modified":"2019-01-25T15:45:50","modified_gmt":"2019-01-25T15:45:50","slug":"top-5-linux-distributions-for-development-in-2019","status":"publish","type":"post","link":"https:\/\/sickgaming.net\/blog\/2019\/01\/25\/top-5-linux-distributions-for-development-in-2019\/","title":{"rendered":"Top 5 Linux Distributions for Development in 2019"},"content":{"rendered":"<div><img decoding=\"async\" src=\"http:\/\/www.sickgaming.net\/blog\/wp-content\/uploads\/2019\/01\/top-5-linux-distributions-for-development-in-2019.jpg\" class=\"ff-og-image-inserted\" \/><\/div>\n<p>One of the most popular tasks undertaken on Linux is development. With good reason: Businesses rely on Linux. Without Linux, technology simply wouldn\u2019t meet the demands of today\u2019s ever-evolving world. Because of that, developers are constantly working to improve the environments with which they work. One way to manage such improvements is to have the right platform to start with. Thankfully, this is Linux, so you always have a plethora of choices.<\/p>\n<p>But sometimes, too many choices can be a problem in and of itself. Which distribution is right for your development needs? That, of course, depends on what you\u2019re developing, but certain distributions that just make sense to use as a foundation for your task. I\u2019ll highlight five distributions I consider the best for developers in 2019.<\/p>\n<h3><a href=\"https:\/\/www.ubuntu.com\/\">Ubuntu<\/a><\/h3>\n<p>Let\u2019s not mince words here. Although the Linux Mint faithful are an incredibly loyal group (with good reason, their distro of choice is fantastic), Ubuntu Linux gets the nod here. Why? Because, thanks to the likes of <a href=\"https:\/\/aws.amazon.com\/\">AWS<\/a>, Ubuntu is one of the most deployed server operating systems. That means developing on a Ubuntu desktop distribution makes for a much easier translation to Ubuntu Server. And because Ubuntu makes it incredibly easy to develop for, work with, and deploy containers, it makes perfect sense that you\u2019d want to work with this platform. Couple that with Ubuntu\u2019s inclusion of Snap Packages, and Canonical&#8217;s operating system gets yet another boost in popularity.<\/p>\n<p>But it\u2019s not just about what you can do with Ubuntu, it\u2019s how easily you can do it. For nearly every task, Ubuntu is an incredibly easy distribution to use. And because Ubuntu is so popular, chances are every tool and IDE you want to work with can be easily installed from the Ubuntu Software GUI (Figure 1). <\/p>\n<p>If you\u2019re looking for ease of use, simplicity of migration, and plenty of available tools, you cannot go wrong with Ubuntu as a development platform.<\/p>\n<h3><a href=\"https:\/\/www.opensuse.org\/\">openSUSE<\/a><\/h3>\n<p>There\u2019s a very specific reason why I add openSUSE to this list. Not only is it an outstanding desktop distribution, it\u2019s also one of the best rolling releases you\u2019ll find on the market. So if you\u2019re wanting to develop with and release for the most recent software available, <a href=\"https:\/\/en.opensuse.org\/Portal:Tumbleweed\">openSUSE Tumbleweed<\/a> should be one of your top choices. If you want to leverage the latest releases of your favorite IDEs, if you always want to make sure you\u2019re developing with the most recent libraries and toolkits, Tumbleweed is your platform.<\/p>\n<p>But openSUSE doesn\u2019t just offer a rolling release distribution. If you\u2019d rather make use of a standard release platform, <a href=\"https:\/\/en.opensuse.org\/Portal:Leap\">openSUSE Leap<\/a> is what you want. <\/p>\n<p>Of course, it\u2019s not just about standard or rolling releases. The openSUSE platform also has a Kubernetes-specific release, called <a href=\"https:\/\/software.opensuse.org\/distributions\/tumbleweed\">Kubic<\/a>, which is based on Kubernetes atop openSUSE MicroOS. But even if you aren\u2019t developing for Kubernetes, you\u2019ll find plenty of software and tools to work with.<\/p>\n<p>And openSUSE also offers the ability to select your desktop environment, or (should you chose) a generic desktop or server (Figure 2).<\/p>\n<h3><a href=\"https:\/\/getfedora.org\/\">Fedora<\/a><\/h3>\n<p>Using Fedora as a development platform just makes sense. Why? The distribution itself seems geared toward developers. With a regular, six month release cycle, developers can be sure they won\u2019t be working with out of date software for long. This can be important, when you need the most recent tools and libraries. And if you\u2019re developing for enterprise-level businesses, Fedora makes for an ideal platform, as it is the upstream for Red Hat Enterprise Linux. What that means is the transition to RHEL should be painless. That\u2019s important, especially if you hope to bring your project to a much larger market (one with deeper pockets than a desktop-centric target).<\/p>\n<p>Fedora also offers one of the best GNOME experiences you\u2019ll come across (Figure 3). This translates to a very stable and fast desktops.<\/p>\n<p>But if GNOME isn\u2019t your jam, you can opt to install one of the <a href=\"https:\/\/spins.fedoraproject.org\/\">Fedora spins<\/a> (which includes KDE, XFCE, LXQT, Mate-Compiz, Cinnamon, LXDE, and SOAS).<\/p>\n<h3><a href=\"https:\/\/system76.com\/pop\">Pop!_OS<\/a><\/h3>\n<p>I\u2019d be remiss if I didn\u2019t include <a href=\"https:\/\/system76.com\/\">System76<\/a>\u2019s platform, customized specifically for their hardware (although it does work fine on other hardware). Why would I include such a distribution, especially one that doesn\u2019t really venture far away from the Ubuntu platform for which is is based? Primarily because this is the distribution you want if you plan on purchasing a desktop or laptop from System76. But why would you do that (especially given that Linux works on nearly all off-the-shelf hardware)? Because System76 sells outstanding hardware. With the release of their Thelio desktop, you have available one of the most powerful desktop computers on the market. If you\u2019re developing seriously large applications (especially ones that lean heavily on very large databases or require a lot of processing power for compilation), why not go for the best? And since Pop!_OS is perfectly tuned for System76 hardware, this is a no-brainer. <br \/>Since Pop!_OS is based on Ubuntu, you\u2019ll have all the tools available to the base platform at your fingertips (Figure 4).<\/p>\n<p>Pop!_OS also defaults to encrypted drives, so you can trust your work will be safe from prying eyes (should your hardware fall into the wrong hands).<\/p>\n<h3><a href=\"https:\/\/manjaro.org\/\">Manjaro<\/a><\/h3>\n<p>For anyone that likes the idea of developing on Arch Linux, but doesn\u2019t want to have to jump through all the hoops of installing and working with Arch Linux, there\u2019s Manjaro. Manjaro makes it easy to have an Arch Linux-based distribution up and running (as easily as installing and using, say, Ubuntu).<\/p>\n<p>But what makes Manjaro developer-friendly (besides enjoying that Arch-y goodness at the base) is how many different flavors you\u2019ll find available for download. From the <a href=\"https:\/\/manjaro.org\/download\/\">Manjaro download page<\/a>, you can grab the following flavors:<\/p>\n<ul>\n<li>\n<p>GNOME<\/p>\n<\/li>\n<li>\n<p>XFCE<\/p>\n<\/li>\n<li>\n<p>KDE<\/p>\n<\/li>\n<li>\n<p>OpenBox<\/p>\n<\/li>\n<li>\n<p>Cinnamon<\/p>\n<\/li>\n<li>\n<p>I3<\/p>\n<\/li>\n<li>\n<p>Awesome<\/p>\n<\/li>\n<li>\n<p>Budgie<\/p>\n<\/li>\n<li>\n<p>Mate<\/p>\n<\/li>\n<li>\n<p>Xfce\u00a0Developer Preview<\/p>\n<\/li>\n<li>\n<p>KDE Developer Preview<\/p>\n<\/li>\n<li>\n<p>GNOME Developer Preview<\/p>\n<\/li>\n<li>\n<p>Architect <\/p>\n<\/li>\n<li>\n<p>Deepin<\/p>\n<\/li>\n<\/ul>\n<p>Of note are the developer editions (which are geared toward testers and developers), the Architect edition (which is for users who want to build Manjaro from the ground up), and the Awesome edition (Figure 5 &#8211; which is for developers dealing with everyday tasks). The one caveat to using Manjaro is that, like any rolling release, the code you develop today may not work tomorrow. Because of this, you need to think with a certain level of agility. Of course, if you\u2019re not developing for Manjaro (or Arch), and you\u2019re doing more generic (or web) development, that will only affect you if the tools you use are updated and no longer work for you. Chances of that happening, however, are slim. And like with most Linux distributions, you\u2019ll find a ton of developer tools available for Manjaro.<\/p>\n<p>Manjaro also supports the Arch User Repository (a community-driven repository for Arch users), which includes cutting edge software and libraries, as well as proprietary applications like <a href=\"https:\/\/unity3d.com\/unity\/editor\">Unity Editor<\/a> or yEd. A word of warning, however, about the Arch User Repository: It was discovered that the AUR contained software considered to be malicious. So, if you opt to work with that repository, do so carefully and at your own risk.<\/p>\n<h3>Any Linux Will Do<\/h3>\n<p>Truth be told, if you\u2019re a developer, just about any Linux distribution will work. This is especially true if you do most of your development from the command line. But if you prefer a good GUI running on top of a reliable desktop, give one of these distributions a try, they will not disappoint.<\/p>\n<p><em>Learn more about Linux through the free\u00a0<a href=\"https:\/\/training.linuxfoundation.org\/linux-courses\/system-administration-training\/introduction-to-linux\">&#8220;Introduction to Linux&#8221;\u00a0<\/a>course from The Linux Foundation and edX.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>One of the most popular tasks undertaken on Linux is development. With good reason: Businesses rely on Linux. Without Linux, technology simply wouldn\u2019t meet the demands of today\u2019s ever-evolving world. Because of that, developers are constantly working to improve the environments with which they work. One way to manage such improvements is to have the [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":78105,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[40],"tags":[],"class_list":["post-78104","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux-freebsd-unix"],"_links":{"self":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts\/78104","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/comments?post=78104"}],"version-history":[{"count":0,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/posts\/78104\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/media\/78105"}],"wp:attachment":[{"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/media?parent=78104"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/categories?post=78104"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sickgaming.net\/blog\/wp-json\/wp\/v2\/tags?post=78104"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}