In a conversation about various Smalltalk environments on the VSE mailing list, .NET came up. What piqued my interest was this statement:
The default .API for .NET is *not* webservices. Anyone saying so is clearly trying to advocate a language missing real .NET bindings.
Never mind the context, or even the obvious edge in the statement - that's not what grabbed me. It took me back to Steve Yegge's rant about Google (and their non-support for a platform). But again, this isn't really about that rant, or about Google, either - it just made me think about the difference between how Microsoft approaches things and how Apple does.
The impression I get (from way on the outside, admittedly) is that Apple has "a way" of doing code. There are standards, both at the API level and at the UI presentation level. Microsoft? Not so much. There was an obvious push from one influential group for .NET a few years back, but it largely foundered - most app dev at MS still uses C++, and .NET is really only focused out now.
I'd say that Microsoft is just too big to be that focused, but apparently Amazon got religion (at the behest of a really committed CEO). Likewise, Apple is obviously focused - and that makes me wonder: is the real difference having a CEO who's willing to jump in and get his hands dirty? Lots of firms have CEO's who advocate best practices, and then leave their team to execute on that as best they can. Is having a control freak a better way?