Windows is horrible to use, everything is poorly designed. Linux (Ubuntu in my case) and OSX just work sanely mostly, but OSX is a horrible dev environment, so I moved back to Linux.
I thought Windows was a joy to develop on until I moved to Linux... then I realised MS had to develop all these wonderful dev tools to disguise the fact that the API's are disastrous and the command line is useless...
Amen. That's the thing. You don't realize how many hoops you've been jumping through to do the same things that devs on Linus or OS X do effortlessly until you make the switch. But people don't make the switch because they have this blind loyalty to whatever theyre using. So whenever they see someone else loving a different OS they dole out ad nominee attacks, call the products over priced, or too complicated for normal users, or elitist. It's all to do with justifying one's decision to use X despite evidence that Y may be better or just as good and possibly some jealousy in some cases.
In any case it's all dumb blind loyalty the vast majority of the time. And that applies to Linux, Mac, and Windows. You can't have a discussion about operating systems with 90%+ of people because everyone just defends their favorite and facts are distorted to suit those preferences. It really is just about useless to have a discussion about operating systems as "substantive" or "meaningful" discussions about the subject are about as rare as unicorns.
As a cross platform open source developer that uses Mac OS X and Linux about the same (Mac OS X on desktop, Linux on laptop) I don't see what's so horrible about Mac OS X in this regard. At worse, it's the same. I don't prefer either for programming (I do prefer Mac OS X for other things, though).
Well, developing using native toolchain is horrible. Because of legacy gcc 4.2 and unstable and often broken clang. At least about a year back it was the case. No. Scratch that. It is still the case. I just remembered helping a coworker hack some open source package to make it compile with clang. We lost an hour or so, completely unnecessarily. Would have taken him 30 seconds to apt-get it on linux.
And well, not using the native toolchain, and using something like mac ports feels like I'm under cygwin all other again. No, thank you. I love 13" Air, but as a development environment Macs are quite broken.
Plus that home key on the full desktop keyboard... If you are linux+mac user, you know what am I talking about :)
Curious, what package management system are you using to install libraries/packages? Ports? Fink? Homebrew?
Okay, our use cases are very, very different. I mostly do Go now and used to do lots operating system development and embedded work. For Go, your compiler complaint does not apply, and for embedded work you need to build or install a cross compiler anyway. There are some cross compilers which you can get with apt-get, but in practice for the work that I do, there are no distribution provided tools, and you need to maintain your own toolkit.
Same applies to libraries, you can get everything you want with apt-get, as long as you only want things for your architecture. If you need them for another architecture, you are out of luck.
For operating systems you use virtual machines. I use the host just for running my text editor and for my Unix environment needs. All operating systems I've worked on (Solaris, Windows, BSD, QNX, some other real time embedded stuff) have their own tools and compilers used to build the system.
MacPorts, Fink and even Homebrew are FUBAR, I'm glad I don't have to use them.
>Windows is horrible to use, everything is poorly designed
Without qualifiers, that statement is meaningless. Perhaps you mean it's horrible for some devs? (Millions of others are doing just fine with Visual Studio).
For regular users, dropping them to Linux will be like replacing your mom's car's controls with the controls found in an airplane cockpit(command line) or playing "who moved my cheese ?" with the Linux desktop. Granted, everything is moving to the web these days, so why not just give them an iPad or a Chromebook?
1.) Grandmothers and the like who just want to read their mail and check the news.
2.) People like me who can and will use 4 + 2 + 1 + 0,5 hours to customize it over the course of 6-12 months to have an almost perfect working environment instead of living with a slower OS without virtual desktops.
The only thing I can think of that needs tinkering is some online banks that require applets to work, but then again even Windows doesn't come with Java preinstalled.
I know lots of people who successfully installed Ubuntu that don't know what a boot sector is but are still happy with it. (After all most people use web apps anyway.)
Wasn't talking about visual studio, I mean the UX as a whole. It is hugely inconsistent, slow, and hard to get sane information about whats going on. Once you are in an application, then generally its ok, its just up to that application, other than things like where new windows are created which are also broken. Oh and focus and switching, as things are always getting hidden.
Application UX inconsistency is a Mac thing AFAIK. Yes they all look 'pretty' and 'likable', but not consistent. Most decent Windows apps are modeled one after another and are very consistent. They have such things as status bars, sidebars, menus, list views. Usually standard controls, though times are changing with the advent of XAML and web-like interfaces.
And man tell me where should I have gone to get any information about why my _wired_ Ethernet connection wasn't working on Mac when it worked everywhere else?
[UPD: I'd give iOS apps 2/5 on consistency scale, Android, Linux and OSX 3/5, Windows 4/5].
Lots of programmers were doing just fine with punched cards and teletypes. That doesn't mean that punched cards and teletypes were not horrible. People just learn to be comfortable with their tools.