The Eclipse comment got me to stop here…signup, and write.
I have been a Wintel developer for 25 years. I make a modest 6-figure income writing C#/MSSQL apps (after years of (Clipper, C, C++ and Delphi) that run large businesses. I mainly write multi-threaded server apps (most from the ground up, not WCF/SOAP) but I do still venture into the GUI work and even WPF/MVVM these days. I prefer MSSQL over Oracle any day, no comparison for 99% of what is needed out there. I love Hyper-V and VMWare (even when the Linux-lineage rears its head). My server in the basement is loaded with 140TB of very redundant storage. So, not the overage scrip kiddie who picked up this computer stuff last year.
I completely gave up on Linux and any OpenSource development tools a few years ago, my personality and mind (of lack of) just couldn’t deal with it. It is completely frustrating to deal with almost-no-docs, partial thoughts of most users, buzzwords, short-hand, almost no attention to detail, and often from guys living in mom's basement, that have no need to generate output and earn a paycheck.
I know that sounds harsh, but it is based on my experience with software development. I tried to cope with the Linux ecosystem for 10 years, it had to stop.
It does, (or did) take days to install the completely unfocused IDE Eclipse and the Android SDK (Java itself to a lesser degree). People (I will call them “enthusiasts”) with lots of time, and little experience writing maintainable software, might enjoy the challenge - but I called it hell – I could give endless examples of zero-docs or absolutely wrong examples, docs and walk-throughs. Almost every doc I ever found on setting up Linux-ish (servers) or Android dev environments, etc. was completely full of errors, and the user community seemed to love their walk through their fields of mines. And I believe that is because the authors/users can get away it - production and earning is not key, playing and killing time seems to be the focus. This is fine I guess, but not for me. I must provide value to my customers/employers and write software that is maintainable. MS and VS allow me to do this with relative ease. MS has its faults, and I can list bugs in Windows that may never be fixed.
Look at the Storage Spaces mess. Look at awesome ZFS (I mean that) – and only 1 PhD required to implement and properly maintain it under Linux, with storage beyond a minimal size. Look at the nightmare of Linux, storage controllers, trying to figure out what drive has what serial #, and is attached to what port, CLI and Gerp Hell. I bet FreeNAS still forces someone into spending a day to get all the apps required to pipe and redirect and Grep 20 apps, just right (oops the doc was wrong again) to find the one bad drive and drive serial#. MS with all its faults, smiles at this kind of mess. They usually improve on this, although I can’t say Storage Spaces is an example of this.
It is my strong opinion (but I haven’t had the pleasure in doing) that all one needs to do to support my point, is take a group of average to above-average users/people and give them the mission of getting a dev environment setup to take some input from a user, open a socket and send that data somewhere. All Linux attempts will fail (with hostile screaming involved), most MS VS C# attempts will succeed (with minimal cursing). It really is that simple to demonstrate. One can play around with horrible docs and horrible tools or one can express their thoughts and solutions and earn a paycheck (if you're into that kind of thing). And for real comedy, ask those same test subject to setup an SMB server, in Linux and in Windows. I think you get my point, if you are not the 1 in 1000 Linux users that knows how to do that.
Nothing makes me happier than Win10 IoT Core on Raspberry. I like Arduino, I use it when I have/need to, Netduino was OK but hit its limits, but I now, in 2015, I have a rock-solid IDE and C# at my fingertips, and Raspberry and Minnowboard, my higher-level projects will now be a breeze to implement. I am sure I will experience some pain but MS always gets it together for the developers. We are all of course doing different things for different reasons. I like to build home automation solutions for myself and friends (not commercially). So my Win10 IoT Core vs. Linux views come from that limited slant.
I am not wanting to argue, that happens everywhere, I simply wanted to share my point of view as I remember my Eclipse Android SDK nightmares of a few years ago. We can completely disagree on some or all of this and still enjoy the comments on this thread. I smile and laughed at some of the comments here. Fun stuff. Good luck.
Most all Win32 stuff works just fine. It is documented better than _any_ one Linux module/layer. There is no comparison. But these days I don't even need to bother with Win32, .NET handles 99.9% of what I need to do. Then again I am not a driver developer.
The Eclipse comment got me to stop here…signup, and write.
I have been a Wintel developer for 25 years. I make a modest 6-figure income writing C#/MSSQL apps (after years of (Clipper, C, C++ and Delphi) that run large businesses. I mainly write multi-threaded server apps (most from the ground up, not WCF/SOAP) but I do still venture into the GUI work and even WPF/MVVM these days. I prefer MSSQL over Oracle any day, no comparison for 99% of what is needed out there. I love Hyper-V and VMWare (even when the Linux-lineage rears its head). My server in the basement is loaded with 140TB of very redundant storage. So, not the overage scrip kiddie who picked up this computer stuff last year.
I completely gave up on Linux and any OpenSource development tools a few years ago, my personality and mind (of lack of) just couldn’t deal with it. It is completely frustrating to deal with almost-no-docs, partial thoughts of most users, buzzwords, short-hand, almost no attention to detail, and often from guys living in mom's basement, that have no need to generate output and earn a paycheck.
I know that sounds harsh, but it is based on my experience with software development. I tried to cope with the Linux ecosystem for 10 years, it had to stop.
It does, (or did) take days to install the completely unfocused IDE Eclipse and the Android SDK (Java itself to a lesser degree). People (I will call them “enthusiasts”) with lots of time, and little experience writing maintainable software, might enjoy the challenge - but I called it hell – I could give endless examples of zero-docs or absolutely wrong examples, docs and walk-throughs. Almost every doc I ever found on setting up Linux-ish (servers) or Android dev environments, etc. was completely full of errors, and the user community seemed to love their walk through their fields of mines. And I believe that is because the authors/users can get away it - production and earning is not key, playing and killing time seems to be the focus. This is fine I guess, but not for me. I must provide value to my customers/employers and write software that is maintainable. MS and VS allow me to do this with relative ease. MS has its faults, and I can list bugs in Windows that may never be fixed.
Look at the Storage Spaces mess. Look at awesome ZFS (I mean that) – and only 1 PhD required to implement and properly maintain it under Linux, with storage beyond a minimal size. Look at the nightmare of Linux, storage controllers, trying to figure out what drive has what serial #, and is attached to what port, CLI and Gerp Hell. I bet FreeNAS still forces someone into spending a day to get all the apps required to pipe and redirect and Grep 20 apps, just right (oops the doc was wrong again) to find the one bad drive and drive serial#. MS with all its faults, smiles at this kind of mess. They usually improve on this, although I can’t say Storage Spaces is an example of this.
It is my strong opinion (but I haven’t had the pleasure in doing) that all one needs to do to support my point, is take a group of average to above-average users/people and give them the mission of getting a dev environment setup to take some input from a user, open a socket and send that data somewhere. All Linux attempts will fail (with hostile screaming involved), most MS VS C# attempts will succeed (with minimal cursing). It really is that simple to demonstrate. One can play around with horrible docs and horrible tools or one can express their thoughts and solutions and earn a paycheck (if you're into that kind of thing). And for real comedy, ask those same test subject to setup an SMB server, in Linux and in Windows. I think you get my point, if you are not the 1 in 1000 Linux users that knows how to do that.
Nothing makes me happier than Win10 IoT Core on Raspberry. I like Arduino, I use it when I have/need to, Netduino was OK but hit its limits, but I now, in 2015, I have a rock-solid IDE and C# at my fingertips, and Raspberry and Minnowboard, my higher-level projects will now be a breeze to implement. I am sure I will experience some pain but MS always gets it together for the developers. We are all of course doing different things for different reasons. I like to build home automation solutions for myself and friends (not commercially). So my Win10 IoT Core vs. Linux views come from that limited slant.
I am not wanting to argue, that happens everywhere, I simply wanted to share my point of view as I remember my Eclipse Android SDK nightmares of a few years ago. We can completely disagree on some or all of this and still enjoy the comments on this thread. I smile and laughed at some of the comments here. Fun stuff. Good luck.