Microsoft’s love for developers is well-known and has been enthusiastically expressed over the years. Windows’ strength as a development platform—the abundance of custom, line-of-business applications, games, Office integrations—has given the company an entrenched position in the corporate world, ubiquity in Western homes, and extensive reach into the server room.
In the past, Microsoft’s focus on developers had a certain myopic quality. One manifestation of this that was close to my heart was the development of the company’s C and C++ compiler—or perhaps I should say, non-development. Microsoft’s compiler did not support the C99 standard (and still does not today, though it’s better than it used to be), and for a dark period through the 2000s, it made only half-hearted attempts to support the full C++98 and C++03 standards. The failure to support these standards meant that many open source software libraries were becoming difficult or impossible to compile with Microsoft’s own compiler, making Windows at best a second-class citizen.
I asked Microsoft about this many times, wondering why the company didn’t appear to care that it was making Windows irrelevant to these groups. The response was always unsatisfactory: the existing body of Windows developers wasn’t demanding these features, and hence they were unimportant. Never mind that there was a wider community of developers out there that Microsoft was making unwelcome on its platform.