When comparing GNU/Linux vs Ubuntu, the Slant community recommends GNU/Linux for most people. In the question“What are the best server OSes?” GNU/Linux is ranked 1st while Ubuntu is ranked 6th.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Lots of development tools available
Pro Most likely also your deployment target
Makes testing while developing easier. According to a September 2014 study by W3 Techs, *nix based servers are used on over 2/3 of websites.
Pro Access to really powerful terminals
Pro Large percentage of Linux users are developers
Pro Package managers
You can install any library or package that you need (gcc, php, node) with just a couple of commands in the terminal.
Pro Most software is open source
Pro Most Linux distributions are free
Pro Flexibility
GNU/Linux handles desktop sessions differently than Windows. Users may customize their own sessions; in fact, a single user may use different desktop environments for different login sessions.
Pro Familiarity with Linux is often required from a developer
Many university computer science programs are based on Linux and in any case, you will inevitably be dealing with a Linux box of one flavor or another someday, be it a server (most likely) or a workstation. The languages and methods used in the Linux/Unix environment (e.g., bash, C, C++, Make, etc.) are very commonplace among developers and are to the computer side of the discipline what the English language is to the human side of it: the common language.
Pro A wide variety of distributions available
With a lot of variety, one can use the distribution that fits the type of work best because of the many choices that are given, instead of just one.
Pro Follows the UNIX philosophy
The UNIX philosophy: 'Write programs that do one thing and do it well'. Since Linux itself follows this philosophy then it's very easy to start creating scripts and programs.
Pro UNIX-like
Nice, developer-friendly environment.
Pro Choose any type of desktop environment (or none)
Most Linux distributions support a range of desktop environments, be it plain old X, a tiling window manager or a fully fledged mammoth desktop like GNOME or KDE.
Pro No telemetry, unlike Windows
Pro Works great on older hardware
7-10-year-old Dell laptops can run Unix or Unix-like OSes very well, where Windows would grind/drag/vomit.
Pro Extremely fast
Can be made even faster by going GUI-free or using a lightweight window manager.
Pro Hardly ever crashes
And if it does you can often drop into console and fix the error before returning to desktop.
Pro Lower chance of data loss
Linux has very few viruses. So there's almost no chance of getting infected by a virus and thus losing your data including your important programming files.
Pro Sometimes it "just works"
Sometimes Linux tends to just work with little to no effort or troubleshooting required. Most of the times it doesn't, though.
Pro Get works done
Get near each and every work done within the command line or terminal, it makes everything so simple as compared to any other os
Pro Isn't "locked down"
Windows and MacOS tend to restrict what the user/developer can do with their PC while Linux empowers the user/developer so they can do whatever they need/want with their PC without unnecessary restrictions.
Pro Easy to setup development environment
It's very easy to setup the development environment. In fact most of the time you don't even need to do much. For an example you don't even have to install GCC if you are coding in C/C++. Some distribution comes with JDK or JRE pre installed. Even if it doesn't, it's very easy to install a JDK than on Windows. There are plenty of free and open source / proprietary IDE's available.
Pro Easy and quick installation
Just grab a ISO file, a 20GB partition on your HDD and boom. You are ready to go.
Pro Lots of support
As the most popular Linux distribution, there's a wide range of sources for support online if you ever need help, including the Ubuntu Wiki, Ubuntu Forums and the Ask Ubuntu Stack Exchange site.
Pro Use it on almost any device
Not just for laptops - Ubuntu was designed with tablets and touchscreen devices in mind, and with phone support on the way. Ubuntu also has Long Term Support releases, as well as a version oriented toward servers, so you can use the same OS at work or on mobile as you do on your desktop.
Pro Good PPA repositories available
PPA repositories allow you to install the latest version of your preferred software while keeping the rest of the operating system "stable".
Pro Simplicity
Ubuntu is designed to be used by everyday people. Because of that, Ubuntu has tried hard to make a user interface that's intuitive and looks pleasant and clean.
Pro Great long term support release schedule (2 years)
This allows for users to always have a new supported release available without long unkown wait times in between.
Pro Stable
It‘s one of the most stable Linux Distros.
Pro Just works out of the box
Lots of support for hardware, lots of pre-installed software, and a smooth install process means less time downloading drivers, less time digging through configuration files, and less time deciding on software to use just to get up and running. It also means less time digging through forums looking for support.
Pro Wide range of software out of the box
The default apps available in Ubuntu cover the gamut of most anyone's needs. From music, video or office applications Ubuntu has an app that will cover the users needs.
Pro Perfect for collaboration on open source projects
This is probably the best option when collaborating on open source projects in hardware. This is mostly because packages and tools are readily available via software center.
Pro Flexible
The setup for personal use is simple enough for anyone to achieve, and can easily be modified to act as a server. Programs and all features are easy to find and use, and first-timers can easily pick up on how to use it.
Pro Dedicated software center
The Ubuntu Software Center offers a GUI interface for installing new apps which is extremely easy and welcoming for beginners to Linux. But it should not be used by more advanced users since the method of installing through the terminal is much faster and easier after one is used to it.
Pro Company behind it
This means that the system must run well, otherwise they will lose money.
Pro Good UI for small monitors
Because the menu usually is in the title bar and the launcher auto-hides, the whole screen can be used by an application.
Pro Snaps
You can get up to date and stable apps right inside the snap store (Ubuntu Software). The snap store has official snaps provided by major publishers, so you can get most of the software you need without having to add third party PPAs to your system.
Pro Looks good
Ubuntu looks clean even when running from a LiveCD.
Pro Cares about stable drivers
Pro UTF-8 is the default character encoding
Beginning with Ubuntu 5.04, UTF-8 became the default character encoding, which allows for support of a variety of non-Roman scripts.
Pro Unified search
Type any query into the Dash Home, and search will look through files, stores and web-pages to find what you are looking for.
Pro Has a clean Gnome interface
Gnome has lot of extensions available and can be custmoized rather easily.
Pro Runs at low resources
Run far faster than Windows on Dell laptop.
Pro Support Active Directory
As of Ubuntu version 21.04, Active Directory is supported out of the box.
Pro Beautiful font rendering
Ubuntu has one of the best font rendering on Linux. It is thanks to how good the Ubuntu fonts are crafted by the Ubuntu team.
Cons
Con Issues with drivers if your hardware is not officially supported
With some proprietary hardware (eg:NVIDIA) you may have a hard time setting up your drivers. But most of the time, some distributions handle hardware better than other operating systems, especially when it comes to older hardware.
Con Maintenance can be time-consuming
You are gonna have to go through a lot of documentation to fix if something breaks. But that time is totally worth it if you are willing to pay it. Because it is likely that you'll find a fix 95% of the time.
Con Too much customization
To get features on par with OS X, you need to research packages, install them and configure them. Even then, it may not be as good as OS X.
Con Steep learning curve
Con HiDPI support sucks
Many developers work on apps that should work on HiDPI monitors. In most distros, HiDPI simply suck on Linux, and making that work is a nightmare.
Con Hard to get used to working in the terminal
It might be a challenge when trying to get used to using the terminal a lot to get around certain things
Con Less and worse professional software is developed, due to the low user base
Depending on what type of work you are doing, you may find Linux software lacking compared to their Win/Mac counterparts.
For example in game development, tools, like Unreal Engine or Unity, usually lack in quality or novelty compared with Windows. Having crashes or bugs that aren't fixed for a while.
Con Low user base to develop to
Linux can develop to any system with the right tools. Mono allows development to Windows. Python and Ruby too. C and C++ can be developed to Windows.
Con A wide variety of distributions available
With a lot of variety, one cannot deploy to a single system and has to prepare for a bundle of distributions, instead of just one.
Con No rolling release
New Ubuntu versions are released two times a year, during this period almost all software receives only security updates and minor bug fixes.
Con Relatively high system requirements
The default GNOME desktop environment is a resource hog which requires hardware accelerated graphics rendering in order to run smoothly, making out of the box Ubuntu unsuitable for low end systems and older hardware. Even mildly aged hardware, you'll get far better performance out of a lighter desktop environment like LXDE or XFCE.
Con Unstable
Some people pointed out that updating Arch is a high risk affair. And one should carefully read forums before doing it. The same is true about Ubuntu. Making system updates (like it was with 10.04 to 11.04) that screw so many things up became a routine. Even LTS releases should not give confidence that it will work.
Con Binary incompatible to Debian
Ubuntu releases are based on Debian testing/unstable, however, unlike other Debian-based distributions they are not binary compatible due to different libc versions, so you can't install Debian packages in Ubuntu and vice versa.
Con Splits the Debian community
The most packages are imported from Debian but Ubuntu uses own bug trackers and develops its own patches.
Con Snaps advertised as native packages in apt
When you try to install a normal Firefox package, it instead installs a Firefox snap.
Con Extremely un-customizable
Con Doesn't shutdown/standby properly on Lenovo laptops (b, e & g series) and desktops (Thinkcentre)
Ubuntu has some serious issue with some Lenovo laptops and desktops. Sometimes, it doesn't shutdown correctly.
Con A tweaked Gnome version
Instead of original Gnome desktop with Ubuntu you get a tweaked Gnome and most of the tweaks makes user experience worse.
Con Redundant
With the removal of Unity, there is no point in choosing Ubuntu over Debian anymore because everything else is imported from Debian to Ubuntu.