When comparing Windows 10 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 Windows 10 is ranked 9th.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Latest version of Windows.
Pro DirectX 12
The newest version of Microsoft’s DirectX application programming interface, which handles visual and other multimedia tasks on Windows-based systems.
Pro Good compatibility with Windows 7 software
Both applications and drivers created for Windows 7 work well on Windows 10.
Pro Better than all the other Windows versions
Iv'e tried Windows 10, 8, 7, Vista, Xp and I'll choose Windows 10 every time. It's better than all the previous versions (yes even Windows 7, which is overrated in my opinion).
Pro Returns to a more familiar style start bar unlike Windows 8
Pro Built-in support for VPNs
A VPN connection can be established from the "Change Virtual Private Network" panel. Quickest way to access the panel is by searching for "VPN" in the start menu.
Pro Built-in way to play DVDs
No third-party software is required to play DVDs.
Pro Tablet mode is a pain to use
The tablet mode of Windows 10 has many issues compared to other major tablet operating systems like Android, for example:
- 1.) In the tablet mode the desktop is replaced by the Windows 10 start menu
- 1.1.) As there is no Desktop there is no proper launcher to start your apps so you always have to open that windows 10 start menu...
- 2.) Virtual keyboard often don't come up automatically(you need to click on the keybord icon near the systray to bring it up)
- 2.1.) If the keyboard is docked and comes up it will lay over the window and if(like here on slant) the entry box is on the bottom of the page it will lay over that box so you have to manually undock the keyboard and move it to any other border which of course breaks other options like scrolling a page etc.
- 2.2.) Virtual keyboard and virtual touchpad have no customization options so you can't make them bigger or smaller etc.
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 Collects a lot of user data and sends it Microsoft by default
By default Windows 10 gathers information related to contacts, location, calendar and input (text and touch). The process for opting out of all data collection efforts is both time consuming and requires a reasonable amount of technical know-how.
Con Includes ads by default
Even in the Pro version.
Con Lacks polish
Many interface and functionality changes have not been finalized yet, creating an inconsistent user experience. For example, there are both simplified Windows 10 style settings menus as well as Windows 7 style settings menus that can easily create confusion.
Similarly, many of the bundled applications (People, Photos, Groove, Mail, Calendar, etc) lack functionality compared to their counterparts in previous Windows versions.
Con Forced updates to Home and Pro versions
Since Microsoft has a checkered past in regard to Windows updates, many people worry that a bad patch might break applications, drivers, peripherals or even brick their computers.
Con No guest accounts
Windows 10 lacks the ability to set up Guest accounts.
Con Installs bloatware
It installs many Windows Store apps by default. Moreover, it updates them automatically even after you uninstalled them, then they come back when you install a bigger update or service pack, eg: the creator's update.
Con Start menu lacks expected customization options
It's not possible to cascade menus, pin files, locations or apps to the list (it's possible to pin apps to the live tile section) or add custom menus.
Con Horrible stock performance on old hardware
Would recommend windows 7 (or even 8.1) on older (older than 5-6 years) hardware.
Con No built-in way to play DVDs
Third-party software is required to play DVDs.
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.