I've found there are two very different worlds of software development. For convenience, I'll label them the "Microsoft" world, and the "Open Source" world. (The labels aren't completely accurate, but I think they're largely descriptive.)
The Microsoft world runs .NET, Visual Studio, C#/VB.NET/ASP.NET, targets the Windows desktop runtime (tho increasingly also the web), relies primarily on proprietary (and usually non-gratis) libraries and tools, etc.
The Open Source world revolves around *NIX, uses open-source languages (gcc, clang, Java, V8 Javascript, MRI Ruby, etc), targets the Linux runtime and sometimes OS X/iOS, relies primarily on open-source (and gratis) libraries and tools, etc.
The ecosystem differences go pretty deep. For example, even though either world can interop with practically any SQL database, inhabitants of one will largely choose Microsoft SQL Server while inhabitants of the other will largely choose MySQL/PostgreSQL.
Both can have great software development or terrible software development. It's possible to mix and match (eg, using Windows doesn't preclude you from writing Ruby).
But startups tend to choose the Open Source world, likely due to the combination of lower licensing costs and the "hackability" of open-source software. I'd argue that due to those same reasons, the Open Source world has produced more innovation in the last decade.
Unless you stick with MS dev tools like Visual Studio and .NET, unfortunately, I'd have to say yes.
You can still use Windows for general software development, many people do, but most tutorials and tools are aimed at unix compatible systems. Also, when it comes time to deploy a server on AWS (or any cloud provider other than Azure), it'll help to know your way around a unix-like OS.
Also consider that for iOS development you need a Mac, and those seem more lucrative these days than Windows apps.
Windows machines ROCK for software development. Microsoft's tools are second to none. I say this as someone that's done mostly Linux and Mac dev for the last 6 years. I massively miss the MS toolset.
while i would love to believe you because as mentioned, i am partial to windows, why is it that you seem to be very isolated in your view? the other responses seem to support the idea that Macs are better for software development.
also, as a mildly interesting anecdote, when i was in india for a project, i noticed that indians generally all use windows machines for software development too. i rarely see apple machines there.
MS does have a nicely integrated set of developer tools, but they are not particularly useful for people who aren't developing for a Windows platform. Most consumer-facing Websites don't run windows, nor do most cell phone apps.
There are plenty of Windows jobs building corporate software (think intranet web apps and desktop GUI applications) and so there are indeed many devs who build that stuff and enjoy doing so on Windows. I imagine there is an overlap between the Indian devs and the Windows-related dev jobs.
Personally, I build OSS-based web applications on Linux. My last machine was a Mac and while I enjoyed it I chose Linux this time around because of the lower sticker price and the better native integration with OSS tools.
You're right. It really depends on what you are making. MS's tools only target MS platforms. So if you're not trying to make something for an MS platform, or specifically Windows, then they're out of the question.
Mac has the advantage it's a flavor of unix so if you're writing server software you're on a machine that's closer to your target environment. Similarly if you run Linux. But, the tools on both of those don't come close to MS's tools when actually writing the software. At least that's mine and many other people's experience.
As just one example, state of the art debugging on Linux is still command line GDB. Even many of my mac friends switch back to GDB to debug on Mac. Where as on Windows Visual Studio's debugger has always been amazing to work with for like 20 year? (19?) Maybe Valve+RadGameTools will fix this with their work on LLDB but it can't be too soon.
As for India I'd assume they don't want to pay the Apple tax. Best Buy lists 147 PC laptops for under $499. The cheapest Apple is $999. And that's just on brand stuff. Go to further off brand stuff and the prices get even cheaper. I'm not judging quality or specs. But people without money would seem unlikely to pick the $999
definitely not. I'm am a programmer and we are a windows shop that doesn't do any .net programming. Sometimes it's a little bit more difficult for some languages or frameworks (ie: django) but really there's not much you can't do.