Member-only story
Debugger
Microsoft Failed Developers — and Now It Has a Plan to Win Them Back
So long, MacBooks. Hello, Linux!

If you walked into any coffee shop in San Francisco five years ago, you would’ve been hard-pressed to find a single Windows laptop in a sea of glowing Apple logos. The MacBook was the default for startup culture — not just because of its sleek looks, but because the device was so great at web development.
Over the last few years, Microsoft has tried to flip the narrative and win coders back. Last week, its master plan culminated in a major announcement: Microsoft will include Linux as part of the Windows 10 operating system, starting this summer.
Hell has officially frozen over. This would have seemed impossible just a few years ago — but this is the new Microsoft. Years of hard work to redefine its business may finally pay off as developers are finally able to access a slate of modern tools to do their work on Windows.
The seeds for all of this were planted some time ago. Microsoft has technically included a form of Linux in Windows since 2016, when it announced a technology called “Bash on Windows” that makes it possible to run Linux apps, like the popular Node.js server, as if they were on a full Linux computer.
Bash wasn’t quite a full experience, though. It technically “virtualized” software that wasn’t running natively — with quirks that simply wouldn’t appear if you ran the same programs on a Mac.
That should be solved when Microsoft brings the Linux kernel to Windows later this year. Developers will now be able to easily switch from their Mac or Linux computer, because rather than virtualizing the software through a handcrafted layer, Linux will fully exist within Windows. And that might be the key for Microsoft to worm its way back into those coffee shops.
How Microsoft missed a generation of the web
The problems for Microsoft began when it completely missed a shift in the way people build web apps. Over the last decade, developers around the world have turned to new web development languages like Node.js and Ruby on Rails. As that shift happened, it became increasingly difficult to be a web developer…