It would be nice to be able to develop "native" Linux software right from within Windows where I'm doing other things. I can see the appeal. That's why Microsoft built the Linux subsystem, I suppose.
I tried dual booting Linux back in high school, never got anywhere because I never selected it at boot. Virtual Machines changed that - I was able to play around with Linux without having to worry about a power cycle.
Now I can play around Tensor flow (in theory) and not have to worry about the crummy GPU support in nearly all hypervisors.
I've reached the point where I'd love to have Linux on my work machine, no Windows at all. That's only because for the first time Linux isn't this cool kids playground that I'm not invited to.
my first semester of college back in 2010 I, for reasons I cannot explained, decided that I would keep my windows and linux installs on totally separate hard drives. With a laptop. With one drive bay. You never appreciate how quick rebooting into linux is until you spend 4 months physically swapping a hard drive every time you want to switch which OS you're using.
If your laptop was able to boot from USB, perhaps you could place the second disk (the one with Linux) in an external USB 2.0 (better yet 3.0) case. That'd solve the issue...
This one has been around a bit longer, too, and despite its name is now much more than just a pretty face for GDB but rather a full cross-platform development environment which has IntelliSense everywhere, handles the installation of toolchains and BSPs for embedded targets, building kernel modules (with VisualKernel addon), etc.
I would prefer it the other way around: Having a good Windows subsystem in Linux. If however I'm to work on Windows, it's nice to know that I'll finally be able to have access to a functional shell.
Yeah, easy. But AFAIK, unfortunately Wine could not just reimplement the Windows Kernel interface, since Windows DLLs are subject to copyright (so you need permission to redistribute them, guess by whom?), and lots of them are needed for a "working" system. That's why they set out to also create a full set of compatible DLLs for each subsystem instead - a monumental task involving reverse-engineering [often poorly documented] stuff, and reimplementing the thing [possibly without infringing any patents]...
BTW Wine is approaching release 2.0. Hooray for Wine!
The real benefit is not just being able to develop Linux software, but the ability to work on cross-platform code. I do most of my coding and debugging in Visual Studio, but when I want to test the changes on Linux I now simply alt-tab to the bash shell which I have open in the appropriate directory, rebuild the changes with make, and then run the updated executable.
That's not necessarily doable for everyone, but for me that workflow is so much simpler than it would be with dual booting or a separate Linux VM.
No this is not that. The idea is some frameworks/platforms have become nix first, ex. Ruby, Python to an extent Java etc. OCaml to only name some. Windows Subsytem for Linux is about bringing these nix first developer plats to Windows and help developers like me to remain on Windows.
This is precisely the strategy of 'Embrace, Extend, Extinguish'.
Step 1: Embrace new technology ( like Ruby, Python, Java etc ) that run on other ecosystems
Step 2: Add extensions to the technology that only works in Microsoft ecosystem. For example, add new functionality to Ruby for Windows that only work on Windows
Step 3: As more and more people develop software that uses these features, more people will have to switch to Microsoft ecosystem to continue using those pieces of software. This is not a voluntary switching based on the merit of the software ( as the same software could have been developed without those extensions ). The switching is often mandated by management decree, customer requests or market concerns.
The danger of this strategy is the cost for people outside the Microsoft ecosystem.
a) Bad pieces of technology becomes successful, merely because it came from Microsoft. Everyone is forced to use it.
b) People are locked into Microsoft platforms. This causes all the usual problems associated with lack of freedom : harder to experiment, keep the costs down for companies etc
Some people say Microsoft has changed their ways and they have since repented, but most people are still suspicious. Once bitten, twice shy.
So what do you call it when Google adds great UX, advanced sorting and searching etc. to email, and then slowly starts making it harder to send email to Gmail accounts from non-Gmail accounts? (All in the name of eliminating spam, of course.)
Or when Facebook Messenger supports XMPP up until the point where their user base is big enough and they don't have to care about interop anymore?
Welcome to Software Business 101, everyone plays nice with the standards/alternatives/competition until they don't have to anymore. I never understood why Microsoft gets extra flak for this in 2016 - maybe they were particularly good at it 20 years ago, but every big player will play hardball if they get a chance.
The answer is to avoid single vendor lock-in under all circumstances, but Microsoft is hardly on a trajectory to become the single vendor for Ruby or any other Linux-first tech at the moment (ha!).
Microsoft are still doing it. The company that I work for didn't just pay for Office subscriptions because we wanted Office for Mac (and I didn't want to get it on subscription either, but the pricing strategy is designed to penalize you if you don't). We actually have access to three different Office-like products already (iWork, LibreOffice, Google Apps). None of them can yet 100% support Microsoft's "standard" file formats.
Companies with this behaviour regarding my work tools lower my personal life quality.
It might be Software Business 101 now, but when enough executives note that it makes you hated after a number of years, the course content might change...
(For example, what makes me vary about this case is: I expect the Linux subsystem under Windows to start working worse and worse, sometime in the future.)
It may be that Microsoft is doing their usual embrace and extend, perhaps the extinguish part is not possible these days.
This is an interesting effect there, that due to WSL, there will be less perceived need to support windows for development tools. However, isn't WSL aimed mainly at developers? Regular users won't be turning it on. So if you're developing the next dropbox with clients written in Ruby, you'll still need a ruby and gems that run on Windows. i.e. to support end users, we'll still need dev tools that run on Windows. edit: Server-based stuff not so much, and server-based stuff is the main thing these days, to put it clumsily.
Correct, but a LOT of developers today write code that eventually runs on Linux in the cloud. With WSL, such developers using Windows will not leave for OS X/Linux
Yeah I would agree it's a move against osx. I run debian on a raspberry pi3 don't even deal with Windows but this is clearly aimed at the corporate web developers where you have a macosx near monopoly.
I don't think that's necessarily true, I use Synergy on my desktop - 2 machines, a windows box for gaming and windows dev and a Linux box for most general uses including most dev work, ops work on servers, etc.
Something like WSL attempts to reduce the desire for this setup. Having things like real openssh work properly without cygwin is a major plus in my book.
MS is seeing that it can't extinguish Linux, as well as the iPhone or iOS system. It has to adapt to it. Making it easier to develop on a Linux subsystem makes people stay on Windows, which still has stuff like Photoshop that blows away Linux alternatives. Plus of course MS Office, for which LibreOffice is a real alternative, but in some environments it's not.
Now I can play around Tensor flow (in theory) and not have to worry about the crummy GPU support in nearly all hypervisors.
I've reached the point where I'd love to have Linux on my work machine, no Windows at all. That's only because for the first time Linux isn't this cool kids playground that I'm not invited to.