So much potential wasted because of a culture that idolizes unecessary complexity as if it were a badge of honor. If anything, it's Microsoft technologies that are to pity for their wasted potential. Wasted because of the commercial software culture of closeness and lack of choice. Now, what you describe as "unnecessary complexity" (which others describe as necessary flexibility), a developer -and any user- can overcome and eventually even learn to appreciate by trying hard enough, however the lack of freedom, no matter how hard he tries, will still be there.
In the end it is a matter of priorities, which I get the idea that users of free software have consciously selected, contrary to the majority of Microsoft users.
Having to learn 14 different tools to get something done might be good for bragging and leetness, but they kill productivity. In the real world, that kills the deal. That is if you ignore reusability. In the real world, what you learn once applies many. So yes, you might have a slower start, but after a while you'll end up being equal -if not more- productive.
In the end it is a matter of priorities, which I get the idea that users of free software have consciously selected, contrary to the majority of Microsoft users. Having to learn 14 different tools to get something done might be good for bragging and leetness, but they kill productivity. In the real world, that kills the deal. That is if you ignore reusability. In the real world, what you learn once applies many. So yes, you might have a slower start, but after a while you'll end up being equal -if not more- productive.