> And I'm not talking about just Pi development - developing anything on Windows is a huge pain without a Bash prompt and proper coreutils support.
You haven't used Windows in a very very long time I take it? Powershell is likely a better shell than Bash and Microsoft freely provides compilers for C/C++/.Net and you can trivially get compilers for most other major languages on the platform.
All I am reading from your complaints is that you're scared of learning something new.
The (old) C# compiler, as the VB compiler, was actually part of the .NET framework starting with .NET 2. Since .NET comes pre-installed on Windows, you also have a compiler. However, the new C# 6 compiler is no longer included in the framework, I think. When you install .NET 4.6 it even adds a notice to the old compiler's greeting message:
This compiler is provided as part of the Microsoft (R) .NET Framework, but only supports language versions up to C# 5, which is no longer the latest version. For compilers that support newer versions of the C# programming language, see http://go.microsoft.com/fwlink/?LinkID=533240.
I highly doubt that powershell is better than bash, unless you're perhaps only counting bash and its builtins and disregarding the whole environment of binaries around it.
I've spent quite a bit of time recently with PowerShell and I have to say that at best, I'm underwhelmed. I can see the potential with PS but there are too many things that are just left out by default.
The documentation seems incomplete and very clunky to actually use; it's hard to find what command you want and some docs are just plain wrong. Even using third party docs is frustrating. Honestly, it reminds me of the PHP docs, and not in a good way. Job control seems to be very clunky. I can't seem to push things into the background reliably in a PS1 script. Some things seem to work OK but others just background and disappear. Another problem I've had is appending to files; you can output log information to a file (ie. ls > ls.log) but you can't append to a log file (ie. ls >> ls.log). There may be a way to do it, but it probably involves writing a command and loading it somewhere.
That's the most annoying thing I find when living in the Windows world; there doesn't seem to be a good representation of $HOME. Where do I keep my SSH keys? When I create PS1 scriptlets how do I ensure they are loaded in a new PS1 shell? I'm sure there are answers to this but, as I said before, the docs are not the best. Maybe Microsoft should author a BASH --> PS1 translation guide. :)
You haven't used Windows in a very very long time I take it? Powershell is likely a better shell than Bash and Microsoft freely provides compilers for C/C++/.Net and you can trivially get compilers for most other major languages on the platform.
All I am reading from your complaints is that you're scared of learning something new.