I can still go into /etc/ssh sudo vim sshd_config, can my values, and they stick.
Just to test it, I did it right now, and I'm running 10.13.4, for what its worth.
What exactly was the issue with changing the sshd config? This isn't a SIP protected directory, which is the only thing that would prevent such a move.
Perhaps the requirement of sudo? I feel like most linux distros force that in the /etc directory too.
this security feature that is great for the vast majority of Apple's user's isn't convenient for me.
Luckily, Apple shipped SIP with the option to disable it, and it's not hard. So you can disable it once and then you never need to deal with issues like that again. It's weird because it sounds like you want the protection of SIP without the inconvenience of SIP, but that's never been possible with pretty much any security measure ever -- more safety means less convenience. That being said, to me Apple has actually been the best when it comest to safety/convenience ratio. Linux distros don't even have the option of SIP or something similar, so I can't say I find your argument compelling.Linux > Windows > macOS?
The only UNIX based that tops it is macOS.
There is not a single cohesive stack of desktop technologies, what macOS calls Kits, Android frameworks, Windows UWP and such.
Something like Glade still fails short of what XCode or VS Blend are capable of.
Sure there is something like Qt QML designer, but that isn't Linux specific anyway.
Tooling for C and C++ mostly relies on some external package manager, often the OS-provided one (on most Linuxes, for example). There isn't a standard cpan/npm/pip/cargo for C/C++, although there are plenty of tools that can do kind of the same thing.
There's also not much support for virtual environments (there are tools out there, but not ubiquitous tools). It's pretty easy to point the compiler to a different set of header files and libraries, even on a per-file basis, to get a similar effect.
And from the Apple side (which I have a vague understanding of, having dipped my toes in a few times): Most of the documentation assumes that you're using XCode, and I'm pretty sure that the version of the compiler is just tied to whichever version of XCode you're using (which has a somewhat looser tie to the version of MacOS you're running). So in that case, you'd be using the XCode-provided toolchain rather than the OS-provided one.
Not an official one for sure, Cargo is a blessing for people used to dealing with C/C++ dependency management.
You can fix that of course but homebrew does the same job on macOS.
Roll on 18.04LTS.
It does have the overhead of requiring you actually understand (or know how to google) your system/packages that you use though.
Wasn't that hard to do in the end but it's not something I've done for many, many years and doesn't fill me with confidence.
Other UNIX utilities are actually standard POSIX ones. If you are used to GNU extensions to these on Linux, then Mac ones may seem outdated, but ironically (macOS kernel is called XNU which stands for X is not UNIX) Mac is certified UNIX, while Linux is only UNIX like.