When comparing Debian GNU/Linux vs GNU/Linux, the Slant community recommends GNU/Linux for most people. In the question“What is the best operating system for a developer?” GNU/Linux is ranked 1st while Debian GNU/Linux is ranked 12th.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Wide choice in desktop environments
Debian offers stable and testing CD images specifically built for GNOME (the default), KDE Plasma Workspaces, Xfce and LXDE. Less common window managers such as Enlightenment, Openbox, Fluxbox, GNUstep, IceWM, Window Maker and others can also be installed.
Pro Standard vanilla Linux desktop
Debian runs standard Gnome, XFCE, KDE - it doesn't use its own special desktop environment or debian specific modifications or customisations, which means that users benefit from the work of the whole Linux community, Debian developers can focus on the distribution itself, and any support for your desktop environment on other distributions should work on Debian as well.
Pro Wide choice of hardware platforms
Debian has the widest choice of hardware platforms, including:
amd64, armel, armhf, i386, ia64, kfreebsd-i386, kfreebsd-amd64, mips, mipsel, powerpc, sparc, s390, s390x, source, multi-arch.
Pro Very stable
Debian has a Stable branch, where packages are thoroughly tested before release. Furthermore Debian is know to be the definition of stable when it comes to production systems.
Pro Install and forget
Once installed you can almost forget about it and start to use your desktop for your daily tasks.
Pro Easy to find help with any problem
Debian is one of the oldest and most popular distros out there. Debian's popularity means that you will always be able to find a solution for your problem just by searching on Google, or if by chance nobody has had the problem you are having it's very easy to ask the community and quickly get a solution.
Pro Comes with over 55.500 packages
Because of its popularity, Debian has a lot of applications available which range from productivity programs to business software, games and development tools. It comes with over 55.500 packages (software that is precompiled and ready to be installed on a local machine) -- all of them for free.
Pro Highly secure system
Known for being consistent in maintaining a highly secure system. Several other popular distros use Debian as a base or core for their own Linux OS, the security being one of the main factors why it's so commonly used.
Pro Rolling or Release based
Every Debian Release can either use a Rolling or Release based model.
Pro Well-working team
The developer works very well so the the code is one of the best written out there.
Pro A lot of ways to install software
You can either use aptitude, apt or apt-build to install software from the Debian package archives.
Pro Great for gaming
As Debian is the base for SteamOS and because Ubuntu is based on it, it's almost certain that all Linux games will run properly and require no hacks like creating symbolic links because of some hardcoded paths.
Pro Big open-source project
The Debian project is one of the biggest open source projects with over 5000 active contributors.
Pro Supports SecureBoot
You don't have to disable SecureBoot if you use it, which is useful for LiveUSB or dualboot setups.
Pro The Debian Social Contract
Guaranteed commitment to adherence to values, principles, priorities, requirements and guidelines by the Debian project.
Pro A real installer
Unlike other distributions that just extract their Live image, Debian offers a real traditional and modular installer to customize the installation.
Pro Strict separation of non-free software
Debian is one of the few distros that let the user choose if he wants a free system or not.
Pro Debconf
Depending how it is configured debconf does the most of the hard work for you and only asks you with configuration /file conflicts.
Pro Widely supported
Almost any software that is available for Linux provides a Debian package.
Pro Many ports
Debian supports almost any Kernel maintained CPU instructions set. It has also a few non Linux Ports.
Pro Apt-build
It is possible to rebuild the entire system and optimize it for your hardware (of course, it is not as detailed as Gentoo's USE flags).
Pro Unique release cycle
The most Linux distros have one or two stages before a release, but Debian has five before a new stable version is released (experimental > unstable > testing > code-freeze/bug hunting > stable).
Pro TUI installer
The Debian installer can still be launched as text/curses-like installer which is more compatible and keyboard-friendly than the graphical version.
Pro Standard archives
Debs are normal ar and tar archives with shell scripting and additional gz, bz, lzma or xz compression.
Pro Live install images for CDs, DVDs and USB thumb drives
Debian releases live install images for CDs, DVDs and USB thumb drives, for the i386 and amd64 architectures, and with a choice of desktop environments. These Debian Live images allow the user to boot from a removable media and run Debian without affecting the contents of their computer.
Pro Wise release model
Debian stable does not update a lot and instead provides stability and well tested softwares. You don't get distracted by every shiny new stuff that comes out, and focus on what matters: productivity and reliability of your system.
Pro Debian Fast Track for stable
Stable gets backported software from here.
Pro Great choice for returning Linux users
If you haven't used Linux for a long time, say 5-10 years, it's a great distro in which you can quickly get in the boat again. You don't have to worry about falling back. Everything is in its place.
Pro Has small amount of today's bugs (e.g. no duplicate web cameras in Skype - likely not Skype's fault)
But has quite a few bugs from 2016-2017, apparently for long term.
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.
Cons
Con Stable release contains extremely outdated packages
If you want the newest packages, you'll have to do a minimal installation of Debian stable then upgrade to testing or you need to install testing directly.
Con No default support for unfree drivers
Debian does not official support unfree software so if you have a wifi card or anything elese that requires an unfree driver you will need to download the unofficial/non-advertised non-free iso image which contains all unfree driver packages.
Con Ridiculous package splitting
Even though it makes sense to split devel and the actual binary of an application, the splitting has become as mess in debian and its derivates: for example the nvidia driver is splitted into over 40 different packages.
Con Internal quarrels harm the project
Instead of working all together to provide the best Operating System, some maintainers are just ignorant and aggressive to new ideas or new maintainers. That led to many crises and controversy in Debian's history.
Con Systemd is everywhere
Systemd is very hard to debug by itself, and can break in very strange ways (such as not being able to mount a single partition on bootup), but the increasing number of desktops that are relying on specific functionality provided only by systemd (policy kit, dbus, etc) makes the entire system more fragile and harder to debug.
Con Outdated kernel of the live system
Since the LiveCD is based on Debian stable the kernel is old, outdated but stable.
Con Not designed for general desktop usage
By default, Debian Stable is not that great of a distro for general desktop usage, since the packages are very outdated. You'll have to spend a while configuring the system in order to make it work.
Con No choices
Debian basically doesn't give you any choices, even dpkg supports this feature with virtual packages: for example, it is very hard to use a different sound system than ALSA, like OSS4 or to use ALSA with pulse audio emulation, and the same goes for different init systems.
Con Inconsistent init systems
While Linux uses systemd, non-Linux ports use the traditional sysvinit.
Con Hard to learn
Con Breaks if you suspend/resume
Breaks when you resume the activity on the system if you use nvidia cards.
Con Buggy and non-user friendly
You need to know almost as much as Arch and deal with documentation not as good as the Arch wiki in order for Debian to work.
Con No good choices of fresh desktop environments
GNOME is quite outdated and buggy;
KDE is too old, even in Sid it is at 5.14 branch (at Jun 13 2019 Plasma 5.16 is available in many rolling/fresh distros);
XFCE behaves like crooked, visual artifacts at the taskbar and so on;
Cinnamon as far as I know works better in Linux Mint compared to (almost) any other distro;
For other desktop environments (e.g. MATE) can't say - these are too new (as projects) and possibly incomplete, thus might have many bugs.
Con Old software is not useful, but is stable
Certainly for the stable and old stable versions. But the testing version has quite up to date software.
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.
