Aeons ago, a sweat-drenched Steve Ballmer took to the stage of a Windows 2000 conference and, with the hypnotic repetition of a Gregorian monk on acid, chanted “Developers, developers, developers.” Microsoft, then faced with an ascendant Apple and the increasing popularity of Linux, wanted to ensure coders that they were Microsoft’s number one boo.
Actions trump words. Always. Today, Microsoft proved its commitment to its developer community by announcing two exciting new features for Windows 10 that dramatically increase its usefulness for those versed in the way of the command line.
First, it added a brand-new command line experience to Windows, called Windows Terminal. This, frankly, was long overdue. Over the years, Microsoft has recognized that developers want a proper shell to work in. GUIs aren’t enough, especially in an era of DevOps, where things are automated to the nth degree.
Microsoft has three command-line environments. Firstly, there’s the old-school command prompt, CMD, which harks back to the dark days of Windows NT and IBM OS/2. Then there’s PowerShell, which introduced more powerful scripting features, making it better for automating IT tasks, but still lagged behind BASH. And finally, there’s the Windows Subsytstem for Linux (WSL), which lets developers run Linux applications without the need to install a virtual machine, like VirtualBox.
That’s three different command line experiences, if you lost count. Windows Terminal round them up under one coherent roof. From a developer perspective, this is obviously immensely attractive, as it means there’s less time wasted flitting from command line to command line.
As a sweetener, Windows Terminal comes with theming and customization, as well as support for GPU text rendering and emoji in filenames. Essentially, it won’t be a one-size-fits-all approach. The attractiveness of this can’t be understated. Developers like to control their environment. Don’t believe me? Just one to show you their vimrc file.
Windows Gets a full Linux Kernel
Microsoft is also overhauling WSL. Later this year, it’ll start shipping with a full Linux kernel, created and customized in-house by Microsoft’s engineers.
You heard that right. The Linux kernel will eventually be a component available within Windows. That’s nothing short of amazing considering that, in 2001, then-Microsoft CEO Steve Ballmer called it a “cancer” over licensing fears.
Microsoft’s kernel will be based on the current-generation long-term stable (LTS) release of Linux, Version 4.19. According to Microsoft program manager Jack Hammons, this will be rebased at the advent of any new LTS release, so that it’s always at the cutting edge.
Why does this matter? Because the former WSL didn’t have a “real” Kernel, instead using a sophisticated compatibility layer. This meant that some things wouldn’t work. Tasks which relied on kernel functionality not implemented in Windows Subsystem for Linux, like CUDA processing, would fall flat.
Obviously, Microsoft isn’t making any specific claims about functionality at this premature stage. Hammons says the kernel that features in the upcoming version of Windows Subsystem for Linux, which Microsoft called WSL2, will be a “minimal” kernel designed to be a drop-in replacement for the current emulation architecture.
For those worried about a return to the sordid days of “embrace, extend, extinguish,” don’t be. Microsoft is promising to be “be good citizens and contribute back the changes that we make.” This isn’t purely altruistic. Failing to do so could introduce irregularities into the Microsoft-maintained Kernel, and potentially even security risks.
During the 00’s, developers fled towards UNIX-based operating systems like MacOS and Linux. Consequently, so many development workflows and tools are based entirely upon the presumption of a BASH command line.
Windows might be the biggest operating system overall, but when you look at the breakdown for developers, things are a lot murkier. In Stack Overflow’s 2019 Developer Survey, more coders said they’d build for Linux than Windows. That’s a statistic that would be utterly unthinkable 15 years ago, and shows how much territory Microsoft has ceded.
If Microsoft wants to endear itself the developers it lost during its post-millennium hinterlands, a good start is to ensure that people can use Windows with their preferred tools and workflows.
And honestly? The time is right. With MacOS stagnating and MacBook keyboard issues, Microsoft has a golden opportunity to recapture the ground it previously lost.
Windows Terminal will arrive in mid-June. WSL2, with its full Linux Kernel (I’m still getting used to saying that), will hit Windows Insiders later this summer.
TNW Conference 2019 is coming! Check out our glorious new location, inspiring line-up of speakers and activities, and how to be a part of this annual tech extravaganza by clicking here.