In a way you're right but really there is no best or even "better" platform for development. To really get to what is better you have to take into consideration
1. Are you developing for web or desktop
1a. If web, then what server environment
1b. If desktop then what platform
2. What frameworks, languages, and other tools will you need and prefer
I think Linux and the Mac are on equal footing with what's better being purely a matter of personal preference while choosing Windows seems to only be the better choice when developing for Windows or IIS, .NET and Windows only things in general. Mac is great for GUI tools as an alternative to the command line while Linux is great for keyboard jockeys.
I don't agree that Linux needs to cut it out with the UI craziness. They're just trying to make themselves a viable alternative to Win/Mac for everyday users and I think they're doing well. I myself prefer xfce and OpenBox over Unity, GNOME, and KDE too so I just choose to run xfce instead while leaving everyone else to use whatever desktop they like. It's better for certain distros to use the shitty interfaces by default so that normal folks are included while the rest of us use our skill to run an alternative. Also, there's too much of this idea floating around that doing everything from the terminal is a badge of honor. It's cool that you can but it doesn't mean you should. GUI apps are great and there's no shame in using them. Bad programmers can use the terminal for everything just the same as good ones can use mostly GUI tools. I think there's a small minority of programmers who just learned how to get around in the terminal and start bashing all other OSes because they're optimized for the mouse. That's just silly. The best choice is the one that you can most easily set up a dev environment in, supports the tools your workflow demands, and offers the features your personal preference dictates. Choosing anything else is just blind loyalty to some ideal of a "best", "free-est", "coolest" platform "for good programmers only".
I think linux beats OSX as development environment for the simple reason that most OSS is built for linux first [and almost all the interesting software is OSS nowadays]. Personally the only reason i use OSX is iphone or Mac development.
Regarding your last point: most users who use linux want to learn programming or are already developers. And slick is slick for a few hours after installation, but each special effect comes with bugs; what's the point of slick menu animations when your computer refuses to sleep, hangs up when you connect an external display and does not yet have a desktop search? They don't even have a shortcut for the terminal on the desktop anymore! And the #1 rule for me is that i should be able to get my job done as fast as possible without useless effects cluttering my workflow. I 'm up for honest computing, not for overpromising in UI and underdelivering in UX. [p.s. I 'm probably extremely biased today, as i spent most of the day trying to customize KDE to my needs , just to end up dumping it after many lost hours ]
1. Are you developing for web or desktop 1a. If web, then what server environment 1b. If desktop then what platform
2. What frameworks, languages, and other tools will you need and prefer
I think Linux and the Mac are on equal footing with what's better being purely a matter of personal preference while choosing Windows seems to only be the better choice when developing for Windows or IIS, .NET and Windows only things in general. Mac is great for GUI tools as an alternative to the command line while Linux is great for keyboard jockeys.
I don't agree that Linux needs to cut it out with the UI craziness. They're just trying to make themselves a viable alternative to Win/Mac for everyday users and I think they're doing well. I myself prefer xfce and OpenBox over Unity, GNOME, and KDE too so I just choose to run xfce instead while leaving everyone else to use whatever desktop they like. It's better for certain distros to use the shitty interfaces by default so that normal folks are included while the rest of us use our skill to run an alternative. Also, there's too much of this idea floating around that doing everything from the terminal is a badge of honor. It's cool that you can but it doesn't mean you should. GUI apps are great and there's no shame in using them. Bad programmers can use the terminal for everything just the same as good ones can use mostly GUI tools. I think there's a small minority of programmers who just learned how to get around in the terminal and start bashing all other OSes because they're optimized for the mouse. That's just silly. The best choice is the one that you can most easily set up a dev environment in, supports the tools your workflow demands, and offers the features your personal preference dictates. Choosing anything else is just blind loyalty to some ideal of a "best", "free-est", "coolest" platform "for good programmers only".