Pico Process Overview – Linux binaries on Windows
blogs.msdn.microsoft.com
blogs.msdn.microsoft.com
I might try "bash on windows" but there have been compatibility layers like this for years and there are always drawbacks. For instance it'll be years before this can be considered stable for production, so this is purely for developers. As most developers know, when you go to deploy on a production machine things don't always work the way you expected them to because the production environment is slightly different than your development environment. If your development environment is a frankenstein OS with different parts sewn together to make it work then it's going to just add further complication to the process (Will a Linux service interface with a windows service?).
My workflow involves spinning up containers (usually gentoo) on a remote server for each new project and just sshing into them and using vim and other cli tools to build projects. This has been the most superior workflow I've found. I can use a light laptop for pretty much everything because a remote server does all the hard work.
I know many developers who use this workflow and for large projects that require powerful computational resources this is essential.
The only reason I see to use Windows for development is if you were developing Windows desktop apps and I don't know anyone who's building new windows desktop apps, most people are targeting mobile. Those who do work on Windows desktop apps are usually maintaining something that's been around for years. There are a few other reason to use Windows over a unix or unix-like OS but most of them come down to Microsoft and other companies releasing proprietary software which is locked into their ecosystem, and I'd like to avoid software like that.
Also I'd just like to add that I never realized how bad fonts were on Windows until I tried other operating systems. If MS wants to attract developers they need to fix their fonts. IMO this is even more important than a Linux compatibility layer because all I do is stare at text all day.
You don't know any game developers?
After they switched from cleartype to directwrite it is fucking disaster for display lower than 2k. I have double 1080p and it is fucking hurt my eyes to look at Microsoft edge or any UWP app text.
Luckily that doesn't matter, most of the programming and testing is done at a high level, where base OS doesn't matter. This is the market they are after.
Linux is free ?
While OS X binaries aren't compatible with Linux, it's usually just a recompile. Sometimes there's a little more to it. But generally a lot less work than Win32/Cygwin. Yet to be seen with Ubuntu on Win32/64, but apps written in Windows Linux subsystem have been said not to be fork able from Win32/64 apps.
However, Mac's file system HFS+ is terrible. That's a good reason not to use it for servers on top of parts of it being proprietary.
When moving to the "extinguish" phase, Microsoft uses their non-free licenses to unilaterally retract support for linux, leaving windows server as the only option.
There's no concrete evidence that this technique is what's going to happen, but Microsoft has a history of it and everyone who invests in this platform should be aware that even if that is not the plan right now, it is possible for the plan to change at any point down the track. I recommend maintaining a healthy level of suspicion for the next few years.
Some technical console details are far from perfect IMO, but already good enough for common scenarios and given the context they are in its quite impressive (even if shortcuts are taken in regard with Windows interop)
What will come after will largely depend upon the reception on the first release, I guess. Loads of people already want to at least be able to spawn Windows processes from the WSL env, but that's quite understandable and present no serious risk of extinguishing the GNU/Linux ecosystem by some kind of miracle. I would not see any point of MS going further; they have their own complete ecosystem which in some aspect is technically far more advanced and/or has far more potential than competing solutions (UWP is all about convergence and unless they reboot once again, which I think they have no reason to do anymore, they will eventually get it right on mobile, now maybe from a time to market point of view this will be too late but I highly doubt that the android subsystem will be resuscitated so I don't see what WSL could bring to that story anyway), most people are not even going to want to run WSL in production for server workloads (and would have not wanted to even if MS told them it's OK, which they did not).
The dev target is a very good choice and the approach solve 90% of the issues previous attempts (Posix subsys, SUA) had (not used enough, separate target with small ecosystem, eventually buggy because of that), and for some other applications Cygwin is already available right now and good enough for what it does and how it does it. The Posix subsys had actually been instrumental for MS to a wide take over of US public markets in an impressive bad faith stunt (and that actually was the only reason for its very presence), but the situation is radically different now and the expectation have moved to higher layers, so if they manage to use it like that again I think it will only be in anecdotal proportions.