Xamarin Studio is already, essentially, open source. It's called "MonoDevelop". Xamarin Studio is just a "skin" of MonoDevelop, because it just bundles 4 plugins that MD doesn't have: Xamarin.Android, Xamarin.iOS, Xamarin.Mac, and Xamarin-Branding. If the SDKs are going to be opensourced, for sure this distinction between XamarinStudio and MonoDevelop will not hold anymore?
Those plugins won't be open sourced. We're releasing the Xamarin runtime and all the commandline tools you need to build apps, but we're going to keep some of the IDE stuff proprietary.
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.
>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.
Tacking on some of the good stuff from Linux doesn't make Windows any less of a horrible option for many, if not most, of us.
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.
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.
No but TBH I didn't with Windows 8/8.1/10 either. In either case, you should be aware that malware exists for any platform (Linux too) and always apply the right level of caution.
To be honest my last malware experience on Windows date from years ago, when I was still naive and clicking on popups in a browser. Haven't seen a malware in a long time, if we don't count as malware the nuisances like the Java installer, Java updater, flash updater, iTunes updater, Adobe updater, all of which either install malware or open popups regularly to nag me to update or install things.
"It's proprietary" is a fully legitimate pain point. It means that I can never fully trust that part of my toolbox, what if it has a bug that gets neglected by the developer or it gets abandoned. The open source ideology is not attractive just because of its ethics.
Why is this being discussed like Ubuntu is the only Linux edition available? You seriously think CentOS, Arch or *BSD users will jump ship because of this?
No, but people wanting a stable no-fuss desktop with everything (from laptop sleep to device drivers) working, access to proprietary software and all kinds of 3rd party drivers available, will.
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.
> No, but people wanting a stable no-fuss desktop with everything (from laptop sleep to device drivers) working, access to proprietary software and all kinds of 3rd party drivers available, will.
Have you used a recent Linux distro? They are mainly stable and no fuss, and they don't require you to run proprietary software.
>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 must say it is quite delusional to argue that I wrote that the "Linux desktop is still in the same state as it was in 1997".
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.
Perhaps not, but that was the core of your argument, wasnt it? That Linux is still in the sorry state it was back then, in the way that still, in 2016 Linux is behind the proprietary OSes?
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).
>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.
If Microsoft develops cross-platform IDE's and office tools I would happily use their software on Linux. Windows is a bit bloated for me, I've reinstalled Windows 10 and 8 a couple of times and upon fresh install it winds up using half of my available RAM, while on Linux running the same amount of software I use less than 1 GB of ram. I don't think I'll ever go back unless they made it less resource hungry. "Windows Lite" would be cool to see if anything.
How much of that "half your RAM" was actually taken up by windows caching? Windows caches pretty heavily these days, so will show a lot of memory used but will give that RAM up when needed. It also will swap out a lot of stuff that's unneeded, so bloat in my experience has been pretty minimal, and that's with some rather hungry programs running.
I don't run a PC with low ram nowdays and I've had the exact opposite problem - about 6 months ago after a random Fedora update I started noticing my system would start swapping after using it for a long time (6+ hours). I tried to diagnose memory usage but every tool I used didn't sum up used memory to the memory used by programs - and it wasn't reserved vs used or whatever - the system was visibly swapping on a machine with 8 GB ram and ~4GB memory used by running processes. I would just restart the machine after 8 hours but I've never had such issues with Windows (at least past XP, Win9x was basically restart after everything).
I have also found that desktop Linux has stopped being a reasonable solution to "bloat". I don't concern myself too much with bloat, as my machines are all pretty big (8GB laptop, 16GB desktop), but even with 8GB I can occasional get myself into a swapping situation. Firefox (I use the multiprocess developer version) and Thunderbird are memory hogs with an impressive appetite, so if I also start up a large-ish editor (like Atom or VSCode) and Inkscape or a video editor, I can end up with real memory problems.
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.
Turn off swap and clear your caches to see your true ram usage:
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.
I imagine the OOM killer would take out a process. In that case, I would suggest paying for some more ram before turning off swap. Swap is death for performance! :)
I desperately hope you know how the Windows memory manager works before you say it "uses half your RAM". Windows is very aggressive about caching and (especially) precaching-- if you're not using a memory readout tool that's been updated since Windows Vista changed things around, it's probably misleading you into thinking Windows' precache is actual "in-use" memory. It's not.
(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+.)
Aggregation does not necessarily imply improvement.
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."
However, the Roslyn language services are open source, which is what currently powers the C#/VB IDE services in Visual Studio and Omnisharp (optionally).