When comparing Windows vs macOS, the Slant community recommends macOS for most people. In the question“What is the most versatile operating system to learn how to program?” macOS is ranked 2nd while Windows is ranked 4th. The most important reason people chose macOS is:
The UI of Mac OS is rather unrivaled. The smooth, responsive, and cohesive UI makes the system quite joyous to use.
Specs
Ranked in these QuestionsQuestion Ranking
Pros
Pro Best driver support of any OS
No other OS comes close to supporting as much hardware as Windows 10 does. Because it's the most popular OS, the bulk of hardware manufacturers support Windows first, and all other operating systems second.
Pro Widely used
Windows is the most-used desktop OS in the world.
Pro Windows comes first
Windows is the most used platform in the world. If you build something and need a third-party software it will most likely run on Windows. Not because it's good, but because everyone uses it.
Pro Free access to great development IDE in Visual Studio Community
Pro Ubuntu bash shell
Windows has a binary compatible Ubuntu shell to run non-Windows apps natively.
https://msdn.microsoft.com/en-au/commandline/wsl/about
Pro Stable
Pro The most solid choice for .NET development
Pro Free with most new computers
At least the non-Apple variety at any rate.
Pro Touch screen support
You still can't get touch support on a Mac. Windows has had touch for 5+ years now.
Pro Best support for Visual Basic
Pro Polished UI
The UI of Mac OS is rather unrivaled. The smooth, responsive, and cohesive UI makes the system quite joyous to use.
Pro Based on Unix
macOS being a UNIX certified system means that you can install a lot more stuff with a lot fewer headaches than if you were on Windows.
Pro Easy access to lots of great dev tools
There's a large selection of great development tools available for OSX. The operating system itself comes bundled with a powerful terminal emulator, called Terminal. Additionally, Apple provides tools, like Xcode, an IDE that contains a comprehensive collection of tools for developing OSX and iOS software, for free.
Pro Powerful terminal
It's very similar to a Linux terminal.
Pro Best support for Objective-C
Pro More commercial software and gaming support compared to other Unix systems
Adobe CC, MS Office, Steam games.
Pro Has many special tools for developers
Has support for multiple IDEs.
Pro Lots of open-source software available
Because it's Unix under the fancy GUI, most open source ports easily to it.
Pro Ideal setup, out of the box
Next to no custom configuration is necessary.
Pro Great Git GUI tools
Tower, Kaleidoscope, SourceTree.
Pro Has software that only runs on Mac
For example, Sketch.
Pro Streamlined workflow between devices
Because this is an Apple product, there is a streamlined workflow between your computer and all mobile devices. For example, if you type an a Pages document, once you save, you can open the updated document just moments later on your iPad, and vice versa. The same goes for iMessage, (yes, you can text people with your phone number from your computer. Actually, you can text other people with apple devices with just your Apple ID, with or without a phone number, for free!) Numbers, Notes, Reminders, Contacts, and just about any other Apple workflow application.
Pro Great modifier key layout
Pro Using VMware you can also run Windows 10 on the Mac
This is useful for testing and some development tools that are Windows-only (XML Spy, MapForce).
Pro You need it to compile macOS or iOS apps
Cons
Con Uses more resources than most alternatives
Con Most software is closed source, including the operating system itself
Con Weak default terminal
The standard terminal lacks basic features that Linux and OSX has. Alternatives to the default terminal for Window can be found here.
Con Lacks package management
It is not easy to install/keep current development packages that developers need and use.
Con Limited in its flexibility
Window managers, startup systems, and system components cannot be changed.
Con There are some privacy issues
By definition, it's spyware. Pre-compromised OS.
Con Scanning for viruses makes builds slow
Compiling a project means reading and writing a lot of files. Even fast anti-virus software slows down the build time (which is almost always too long).
Con Update policy / scheduling is a nightmare
Pop-up to update your system that will restart it if you don't interact quick enough and will have to be in reboot mode, which can freeze your activity until the update is done.
Con Unstable and slow
Windows crashes often and is much slower than alternatives, especially at file IO, which is important for developers.
Con Maintenance is time-consuming
Previous versions needed to be formatted ever 6 months to maintain performance.
Con Embarrassing to give talks
On conferences or in user groups the audience laugh at speakers presenting their talk on a Windows machine.
Con Expensive
OSX is tied Apple hardware and Apple hardware tends to be expensive for what it gives.
Con Limited hardware
Usually, the hardware that can run this can't be upgraded.
Con Most software is closed source
For people who like to use open source tools for their development work, this may be a problem. There's plenty of advantages to open source software, one of which is the ability to tinker with and customize the tools themselves that you are using. Although there's plenty of FOSS tools available for Mac, especially through Homebrew, the number of packages available is much lower than the number of packages available for any Linux distribution.
Con Closed source
Mac OS is closed source itself, which means that it is developed more slowly and has more problems.
Con No native package management
A comparison of package managers available for OSX can be found here.
Con Poor application support
Fewer apps run on Mac OS than on Windows or Linux.
Con Bash version is obsolete
macOS comes with an obsolete version of Bash, due to licensing issues.
Con Vendor-Lock-in
You are now forced to use the Apple services.
Con Silly modifier keys layout
The Command key is strange, Alt is where Super should be.
Con Poor X11 integration
The most open source software does work but is very poorly integrated due apples ancient version of the X-server.