I was really hoping I would be able to develop on Linux. Visual Studio is nice (my favorite IDE actually), but I'm willing to put up with lesser IDEs if it means I don't have to use Windows.
Check out the recent news - Microsoft is making Windows a lot more attractive to developers even those with Linux background.
I spent the last ~12 months doing C++ with Clang on Linux and porting that to windows was a lot less painful than I though it would be, even Visual C++ required maybe a day of work to get working - the biggest issue being Nuget and their Angle Packages are only available for sandboxed Windows apps - it took two hours to configure projects and fix stuff that made VC++ choke. This was a template using C++14 project btw. so I'm impressed.
And they now support using Clang as a front-end to VS code generator backend - no MinGW or Cygwin. Sadly the compiler crashed when I tried that and I still haven't gotten around to sending them the bug with repro - need to try with Update 2 first.
And on top of all this they just announced they will implement linux kernel interfaces in windows and add support for running ELF binaries - and they will port apt-get with cannonical - basically you can get Ubuntu packages to run natively on windows kernel - without recompiling or nothing.
Huge props to Microsoft !
I am impressed by what Microsoft is doing, and I'm willing to use Azure and other MS tech at some point, but only if I can get away with not having to deal with Windows for anything but a small build slave server for Windows Phone and Windows builds, just like I currently do with a Mac Mini.
Actually that's exactly what it does. What were your pain points?
(Besides "it's proprietary").
I use OS X mostly because of the UNIX underpinnings. I could not care less for Linux of the desktop, despite having used it since 1997 (and having a history with UNIX going back to Sun OS and HP-UX).
If Windows gets good enough with its basic unix userland support, and has a decent shell, I'll be very tempted to try it.
After all, any actual deployment etc, I do on Linux servers and VMs (vagrant etc) -- no reason to pollute one's base desktop system with development libs and setups.
Have you used a recent Linux distro? They are mainly stable and no fuss, and they don't require you to run proprietary software.
Only I specifically asked the inverse: to be able to run all the proprietary software I want.
Besides, that's always the case -- "a recent Linux distro" is always supposed to fix all of these problems, I've been hearing that (and trying in vain) ever since 2000 or so. And I use Linux on the server side just fine (and actually have several desktop Linux installations too, since 1997 and RedHat 5.3 IIRC, just not as my basic everyday work/fun desktop, because they're dreadful still).
I never wrote that, and it is indeed much improved.
What I wrote is another thing: that the total parity with proprietary desktop OSes (Windows, OS X) "just works-iness" is always "in another distro" or "a release away".
And there's another problem: proprietary desktop OSs haven't stood still in their 1997 state either. They are a moving target.
Sorry to break it to you, but this is simply false.
In fact Linux offers far superior hardware support to OS X or Windows. Also the actual "desktop software" provided on Linux is far superior (WMs and such).
But don't let the facts hit you on your way out.
Which doesn't mean much -- or even it's a plus for some.
>And Microsoft spies on its users.
Well, we're spied on any network use we do anyway.
>Which doesn't mean much -- or even it's a plus for some.
It does mean a lot, you just don't accept that it does. And yes, some people are masochists. That's their decision, but we should reward people who force people to be masochists.
>>And Microsoft spies on its users.
>Well, we're spied on any network use we do anyway.
Privacy isn't binary. Just because it's possible to penetrate walls with xrays doesn't suddenly mean that you don't close the curtains in your house when you're naked.
I would be curious to know what % of security flaws are discovered because exploited vs as a result of a code review.
On top of that I will add "It's propietary". Because it is. It's a security risk, it means I have to buy it and I have to manage every license I buy. No need for the Stallman pasta here to express clear reasons why it is unacceptable for me and many others.
Other reasons:
- Bloated by default. Comes with many things I do not need, and some I outright despise.
- Resource hungry. It's gotten much, much better with the last few versions, but I can take my Linux set-up to a lowly Chromebook, a discardable netbook or a cheap SoC like the RPi and barely notice a difference for most of what I do. I cannot do that with Windows.
- Not POSIX. I could switch to OS X or BSD tomorrow and barely notice the difference for most of my computing. Not on Windows.
- Carries a particular culture of everything having to be done on the GUI. And what a bad GUI it is.
- Security wise it's terrible, you can't simply brush off the threat of malware as I do on Linux.
- No first class package management. The App Store is a joke.
- It is a completely different system from what I run or would run on my servers anyway.
I could go on but I think it's enough to justify why Windows is not a good option for me (me, as in, me, not someone who's really happy now with Windows).
IMHO every GUI (Win, Mac, Gnome, KDE etc.) is bad compared to any decent CLI, if you are trying to complete non-trivial tasks. The real problem is, on Windows you don't have a simple way to switch from doing things in the GUI to doing them on command line. You can, but it's sort of second-class citizen.
> you can't simply brush off the threat of malware as I do on Linux
Uhm, as a former Linux-only user (for about 2 years, circa 2011-2012) I would advise you not to brush it off completely.
Go with Linux if you want to build on something that is not built on sand, greed and damned lies.
I haven't actually dug in to see where all the memory is going precisely, but my email/web workflow (Firefox+Thunderbird) has been the same for about ten years now, so it's interesting that it continues to bump up against memory limits no matter how much memory I have. But, Windows on the same system has similar memory issues when working on the same tasks; so it is not immune, but I don't think it is notably worse than Linux.
swapoff -a -v
echo 3 > /proc/sys/vm/drop_caches
I recommend `htop` to check out your memory usage after that.You can also tweak the vm.swapiness variable to change Linux's behavior there. I personally just turn swap off on all my systems as soon as I set them up.
(If you're looking at Microsoft's Task Manager, make sure you're seeing the amount of memory in "available", that's what counts. "Free" is kind of a useless measure in Vista+.)
Architecturally, it's quite worse than just putting lipstick on a pig - they're bolting a racehorse on top of their pig.
If you look at things just right and ignore the pig, you can pretend you're galloping around on an able horse. but, inevitably, both you and the horse will have to deal with the fact that there's a pig bolted to the undercarriage.
Linux doesn't need to be put inside another OS to be any more relevant or useful.
I think, if it could talk, Linux would tell Windows: "Sit down - I got this."
Instructions are included in the MonoDevelop repository, and they could not be simpler: