I've been using WSL for a while now (with Docker running through Docker for Windows but accessible through WSL). My whole dev environment is based on running tmux / Vim in it.
I don't want to start any flame wars but I happen to do a lot of pair programming sessions with people (I'm a freelance dev) and a number of people have said they were jealous of my set up and are thinking about a Windows laptop for their next upgrade. Not because my set up is special or super cool, it's just their Mac set up is all sorts of broken and buggy. I can hear legit sadness in their voice.
You don't need MS to bundle an Xserver by the way. Just download VcXsrv for free https://sourceforge.net/projects/vcxsrv/ and be up and running in a few minutes. I use it mainly for flawless zero configuration clipboard sharing between Linux apps running in WSL to work with my Windows clipboard, but graphical apps run ok too (I even tried running i3 through it which was usable but too limiting with multiple monitors).
I guess I just wanted to really say that Linux based / Docker development on Windows is very much possible even today on the stable version of Windows 10, and WSL v2 is just going to make it a lot better than it already is.
I haven't been this excited over a new OS / OS feature since Windows 7 was first released.
Only problem is the June release is for insiders, not stable, and insiders requires sharing A LOT of private info with Microsoft (unacceptable IMO). It might not be until October 2019 or even April 2020 before this hits the stable channel of Windows 10. Doh.
> their Mac set up is all sorts of broken and buggy. I can hear legit sadness in their voice.
I'm normally very happy with the dev experience on my 2016 MacBook Pro. I run iTerm2 (multiple split panes in a window), zsh/ohmyzsh, homebrew, and VSCode. The new APFS filesystem is insanely fast, especially when combined with VSCode's ripgrep-based text search. I watch my Windows-based colleagues start a VSCode text search in our repo and it takes 10-15 seconds to complete. Me - it's usually less than 5 seconds and often instant. Also, moving/copying/deleting large directories (i.e. 25k+ files) is unbelievably fast.
So macOS is great, in my opinion. But I'm often frustrated with this machine: (a) the keyboard is unreliable - certain keys develop habits of not responding (the `fn` key is currently driving me round the bend), (b) it crashes every time the battery runs low, and (c) my corporate policy installs Sophos which sometimes slows it to an absolute crawl.
From many developers' perspective, Windows' greatest downfall is that it's, well, still Windows. There is so much legacy to maintain, and so many ways that it differs from macOS and Linux at low levels. WSL and the new terminal/PTY are making inroads, but if Microsoft would only fork Debian and build their own supported distro, I can guess that's where we'd all be going very soon. What if they forked Wine as well and built a supported Windows compatibility layer on top?
> The new APFS filesystem is insanely fast, especially when combined with VSCode's ripgrep-based text search.
I think this must be due to the NVMe drives they use in MacBook Pros. APFS has some performance overhead that makes it slightly slower than HFS+ (but I do think you get other improvements, when copying files etc.).
I own a 2014 MBP I use as my main work laptop. I also own a desktop running Windows 10. I currently maintain a VSCode dev environment for my coworkers who all use Windows.
We switched from XAMPP and Eclipse for PHP development to WSL with VSCode and so far the transition has been really good. The only problem is that OS X still has a way better free MySQL client in the form of Sequel Pro compared to Windows which only has MySQL Workbench and HeidiSQL for the free options. I wish there was a better SQL client we could use.
Hey Nick. I'm the PM for Windows Terminal, and formerly, WSL:
Thanks for your thoughts on WSL & the new Terminal.
Re. release mechanisms, etc: Terminal will be delivered via the Store so we can ship out-of-band.
We're aiming to deliver new Terminal preview builds every 2 weeks or so which, since we're delivering via the Store, will auto-upgrade everyone soon after each release.
Re. Insiders: We do NOT gather any personally identifiable information. We only collect anonymized statistics about some of the features you use and/or issues you experience. Why? To ensure that we can find and fix issues as effectively as possible.
For example, with WSL, we collect the number of times an un-implemented syscall is called, or # of times a syscall returns an unexpected error. We couldn't care less WHO experiences these issues, only how OFTEN they occur. This info (esp. combined with bug reports in our repo, etc.) has been essential in helping us prioritize which syscalls are being called, which we've implemented, which are failing, and thus, which we need to pay attention to. Without this info, we wouldn't have been able to make WSL as good as it is.
We understand the community's concern about data collection - heck, EVERYONE should be - but in the general scheme of things, I think it fair to say that Microsoft's telemetry data collection is pretty well contained and is not egregious.
The last time I tried to install insiders it mandated that I sign into Windows with a real Microsoft Live account, which requires an email address sign up.
Where as the stable version of Windows allows you to create an offline account.
If I sign in with a Microsoft Live account, now you can associate my email address to my OS usage stats. Isn't that the definition of personally identifiable data?
It mentions "User ID -- a unique identifier associated with the user's Microsoft Account (if one is used)". It also mentions collecting a bunch of low level network data that look questionable, such as IP addresses flowing through network devices. Isn't that saying "logs every website you visit"?
Then it mentions it logs every app I open and how long it was opened for, and even what I search for in those apps. I didn't go through the whole list in detail but that was what I saw in a 60 second scan of the page.
But on the topic of WSL, are you saying if we run Windows stable we'll be able to get and continuously update WSL v2 from the store? That would be neat.
I'm on OSX and I have to have a docker container up and running in order to do development. GNU v. BSD tooling just isn't cutting it, and that's actually (IMHO) what's stealing market share from OSX.
They got windows+linux users in the first place by pre-installing curl+ssh, now their version of ls, find, and bash are all holding back those same windows+linux users.
I use homebrew to install updated versions of gnu utilities. Sometimes it doesn't symlink them into /usr/local/bin because of potential conflicts with preinstalled versions, but you can override that by adding them to $PATH in your .bashrc or .zshrc - it provides the command to do so in the console.
Yeah it's kind of funny that Windows now does a better job at "being" Linux-like than MacOS.
Another example is Ansible. Since my entire dev environment is in WSL and WSL is running Ubuntu 18.04, I can reuse all of my exact Ansible roles that I use on a production Ubuntu 18.04 server. They work just the same in WSL, so setting up my dev environment involves nothing more than reusing roles I've created for production.
I don't want to start any flame wars but I happen to do a lot of pair programming sessions with people (I'm a freelance dev) and a number of people have said they were jealous of my set up and are thinking about a Windows laptop for their next upgrade. Not because my set up is special or super cool, it's just their Mac set up is all sorts of broken and buggy. I can hear legit sadness in their voice.
You don't need MS to bundle an Xserver by the way. Just download VcXsrv for free https://sourceforge.net/projects/vcxsrv/ and be up and running in a few minutes. I use it mainly for flawless zero configuration clipboard sharing between Linux apps running in WSL to work with my Windows clipboard, but graphical apps run ok too (I even tried running i3 through it which was usable but too limiting with multiple monitors).
I guess I just wanted to really say that Linux based / Docker development on Windows is very much possible even today on the stable version of Windows 10, and WSL v2 is just going to make it a lot better than it already is.
I haven't been this excited over a new OS / OS feature since Windows 7 was first released.
Only problem is the June release is for insiders, not stable, and insiders requires sharing A LOT of private info with Microsoft (unacceptable IMO). It might not be until October 2019 or even April 2020 before this hits the stable channel of Windows 10. Doh.