I used it for a while, when Fedora 24 refused to work reliably on my 4k laptop (it worked under 23, and now works again under 25). It was OK. I mean, it's an amazing feat of engineering, but there's a ton of little (and not so little) quirks that made it painful.
Sharing files across the two systems was (maybe still is?) disastrous. I've heard of total Linux system corruption, but I personally had files disappear (they were checked into a remote git repo, so no loss, except for recent changes). It's covered in the docs, but I didn't grok what they were saying and the real gravity of it. Since I was using Windows native Atom for my editor, this was cumbersome.
But, most things work about how you'd expect them to. I was able to install the software I work on (which runs as root, and pokes at everything on the system), and it worked as I expected it to. I didn't even have to tweak it.
I'm still more comfortable and productive in Linux, so I'm happy to have my Linux partition running well again. I also prefer Fedora to Ubuntu, so that's a win for running Linux natively. But, if I liked developing in, say, Visual Studio, and was deploying my software to Linux servers or working on cross-platform desktop apps, having the local Linux would be a big win. Even with the forced separation of filesystems, it's still more transparent than a Vagrant managed VirtualBox, or something.
Also worth noting: Windows is remarkably better as a development environment than the last time I had to develop on a Windows machine (about 10 years ago, one of my jobs included building cross-platform software packages). The quality of tools available is very high. There are good terminals, all of the languages I use have good installers available. Even if Linux weren't there, it's much less painful to develop on Windows than it used to be. (Still painful, and I still had a huge variety of headaches, mostly due to absolutely shitty package management on Windows.)
> Sharing files across the two systems was (maybe still is?) disastrous.
I don't think this has ever been true. Just don't jump through the hoops it takes to modify Linux system files from Windows - that stuff is hidden from Windows apps for good reason.
If you need to access files from both, store them in a normal Windows place like "/mnt/c/...". E.g. in my WSL home directory I have symlinks to my Windows Documents, Downloads, Development, etc. folders. I constantly operate on the same files from both OSes simultaneously, and it's fine.
I didn't really "jump through hoops". I just did what I would do on Linux...I searched for the Linux files. Found the Linux files. Started working with the Linux files. Turns out, that's a bad idea. Files disappeared.
I've seen numerous reports of other folks entire Linux filesystem being corrupted beyond use. So, I'm not alone in doing this...and (at the time) the docs had a single (non-threatening) sentence about it, when I went back to see if maybe I'd missed something. It basically said something along the lines of "this doesn't work", rather than "this will destroy your files".
It's not a big deal. It was bleeding edge stuff when I started playing with it; things go wrong, and I expect things to go wrong when I'm on the bleeding edge. I like where they're going.
But, it's a thing to be aware of. I wasn't aware of it, based on the docs I read on the subject, so I mentioned it, just in case someone else might not be aware of it.
The thing is, I'm not a Windows user; things that may seem obvious to a Windows user (like, "those files aren't obviously visible for a reason and that reason is don't touch them!") are not always obvious to me.
Then again, you're not the first person to say the files are "hidden"; but I was able to find them, probably using the "find" command in the git or cygwin bash shell, or something (I dunno what else I'd use to find them), but maybe using system search. I don't remember...it wasn't a momentous occasion. I just wanted to edit some files in Atom, so I went and found the files I wanted to edit, using some tool on the system. Again, I don't know Windows. If the state of these files was somehow telling me not to touch them, I did not pick up that signal.
ConEmu and Cmder are the ones that get recommended the most, I think. I used ConEmu because it was the first good one I found. It worked pretty good. I like Gnome Terminal better, still, mostly due to the lack of chaos. Those Windows terminals hook into all of the shells...so, my ConEmu had a huge menu of available shells when creating a new one: a bunch of PowerShells (32/64 bit, admin/user), and bunch of Cmd.exe (32/64, admin/user), and a bunch of bash shells (git bash, WSL bash, Cygwin bash). Just a crazy amount of complexity.
It was configurable...but, sometimes I needed one of those other shells to get something done. So, I left them alone.
I use it on my laptop and am generally very happy with it, although I don't do all that much technical work there and certainly wouldn't want it to replace my primary workstation. (I'd be dearly sad if I had to give up xmonad.)
But it's made my laptop a far more pleasant place to get work done if I need to do so, and generally works far better than I was expecting it would. I no longer feel compelled to run a VM on my laptop to get real work done.
That's a bit loaded, but I'll attempt to answer seriously:
Can you replace Ubuntu? Maybe, if you are OK with 14.04 LTS level support. Certain simple things straight up don't work -- you can't send a ping without an admin level windows shell (sudo wont do it either). You also won't magically get driver support for hardware that works in Linux, but not Windows (if you think this isn't a thing, try plugging in a random USB-to-something adapter without finding obscure, broken, or nonexistant drivers on Windows). If you just need access to some tools that only run on Linux, I've found WSL invaluable, so long as those tools are available on Ubuntu 14.04.
Can you replace Linux in general? Nope - I'm a 90+% Linux user for work and home, and neither Debian, Ubuntu, or its derivatives work for me, with the notable exception of some server and embedded applications. If you want a wide variety of up-to-date software, there is no replacement for something like Arch.
Can you replace Ubuntu? Maybe, if you are OK with 14.04 LTS level support.
The latest Creators update uses 16.04 LTS.
you can't send a ping without an admin level windows shell
The latest Creators update supports ping as a non-admin.
---
I would say that for most usages it is a good replacement for vanilla Ubuntu. Microsoft is quickly closing the gaps in support. Most stuff simply works (albeit disk filesystem I/O is still a bit slow). For instance, I used it to compile packages for Ubuntu 16.04 and upload it to a PPA without much trouble. At the time the only change I had to make was using fakeroot-tcp rather than regular fakeroot. But maybe that is fixed now.
It is especially useful if you like to work in a Unix, but also need Microsoft Office, Adobe Creative Suite, or other applications that are not available on Linux.
I did know that, but the update only came out today AFAIK, and is being slow-rolled out (I checked all my Windows machines today, none updated). People with enterprise/business versions of Windows with "Defer feature upgrades" aka "Current branch for Business" enabled also wont get it for a while. I know how to force the update, but forcing Windows updates is something I've learned better than to do.
As an aside, I would highly reccomend WSL users check out wsltty[0]. Gives a better terminal than Windows' built-in 'cmd', with options to open other shells like fish/zsh/etc in arbitrary directories.