"But git is great on the usability front - if you have understood to responsibly wield its great power."
What that sentence actually means is that the usability sucks and that if you spend enough time reading man pages you might actually get the software to do what you wanted it to do. Which in short means the usability sucks, if you want to say the usability was sacrificed in order to provide great power then say so, UNIX being powerful does not improve it's usability.
Personally, I don't think either UNIX or GIT made the trade off between usability and power, usability was simply ignored.
"Dumbing things down for everyone to cater to a lower common denominator is one of the worst things you can do to software in general." Actually it's one of the best things to do in software, you'll want to look at companies like Apple, Google, Facebook, Microsoft who all dumb things down so that the average person can do things like 'find what they're looking for' with out having to understand the math behind PageRank. Imagine the UI for aircraft was so horrible that to get from NY to LA you needed an aerospace degree.
PS. Mac has all the power of UNIX but with out a retarded interface meaning no tradeoff was actually necessary.
Mach is not OS X's kernel, XNU (http://en.wikipedia.org/wiki/Xnu) is. It contains a modified version of Mach 3.0, but it's not the same kernel. But regardless, the kernel is not particularly important when discussing the operating system's unixness.
This is true of Ubuntu as well. You have to run "apt-get install build-essential" in order to get a compiler. This might be easier than on a Mac, but regardless it's disingenuous to say that Mac is not a Unix because it doesn't come with a compiler.
(I use Ubuntu regularly and have never owned an Apple product.)
Installing a large number of useful unix programs is difficult or impossible. This is getting worse (see the recent changes that came with Xcode 4.3). Fink/MacPorts/Homebrew are horrible kludges when compared to what can be done with a full-featured UNIX.
What it comes down to is that the most basic thing I can do with the default install of any reasonable UNIX system (./configure, make, make install) is not possible on a Mac without a lot of heavy and opaque lifting.
> What it comes down to is that the most basic thing I can do with the default install of any reasonable UNIX system (./configure, make, make install) is not possible on a Mac without a lot of heavy and opaque lifting.
If you call installing a compiler a lot of heavy and opaque lifting...
Macs aren't configured from the start as a development system. And if you start from a UNIX or Linux distro that isn't either, you'll encounter into the same issues (or worse) with trying to run "./configure && make && make install"
Sorry to be pedantic, but if you're using a free operating system, which I assume almost all of us here are, you are almost definitely not using a "UNIX"(tm). A high success rate with ./configure; make; make install; does not mean you have a "full-featured UNIX"; more than likely it means you have Linux, which diverges from traditional big iron Unix OSes in some fairly significant ways.
I never use fink, macports or homebrew to install on my Mac. It's pretty much download source, take a look at the README/INSTALL and go from there.
The main issue is that Mac is probably not the usual target system for these builds (in comparison to a mainstream Linux distro). And as such differences in the version of the compiler, the set of libraries, installed dev tools, etc. may lead to build issues. You might have to download a few more things or know to add or override compiler or link flags.
Even with the latest Ubuntu or Fedora distro, you still run into having to know that you might need to install dev files to get a build from source to work (recent example for me is pcre libs for nginx).
I love homebrew, personally. In fact I wish it was available for linux. This is because we have a pretty restricted linux environment at work, and getting the admins to install anything is very difficult and lengthy.
I've gotten by with installing gentoo-prefix in a sub directory, but that is quite wasteful of space. A homebrew setup would be much nicer.
> Actually it's one of the best things to do in software
Depends on your target audience - easy to learn doesn't necessarily mean usable. It's absolutely a good target for dealing with most people, but if your target is expert users it's not necessarily a good idea. Despite noises about linux for the average user, in reality it's a system designed by expert users for expert users - and for those users it is highly usable.
Autocad is a highly usable system to its target audience, but stick a beginner in front of it, and they'll not have a clue to do.
>What that sentence actually means is that the usability sucks and that if you spend enough time reading man pages you might actually get the software to do what you wanted it to do.
Yes. You have to - gasp - actually understand what the fuck you are doing to get things working correctly. I don't see the problem. As others have pointed out, git is not meant for the beginner, it's not meant for an average user, it's for people who want an extremely powerful VCS. If you start catering to people who are not from the latter group, you are missing both the point and the purpose of git.
>Personally, I don't think either UNIX or GIT made the trade off between usability and power, usability was simply ignored.
False. What you are talking about isn't usability. It's accessibility. And I actually agree with you that git is very inaccessible for someone who's never worked with a VCS before (that's how I started with git, thrown into cold water). The same goes for UNIX, to a degree. Now, usability and accessibility aren't necessarily orthogonal concepts. They aren't parallel, either, though. When you try to improve the accessibility of a program, you will arrive at a point where you will have to make tradeoffs with the usability of the program. And what I am saying is that when you reach that point, stop. Accessibility isn't worth sacrificing usability over.
>Actually it's one of the best things to do in software, you'll want to look at companies like Apple, Google, Facebook, Microsoft who all dumb things down
Argumentum ad populum. Just because those companies do it doesn't imply that it's good. And in fact, they just prove my point: what they are doing is harming general purpose computing in the long run, and for everyone. Microsoft and Apple are aiming to turn computers into one-to-many consumption devices. Facebook and Google are privacy nightmares and impact the open web negatively with their monopolies.
>Imagine the UI for aircraft was so horrible that to get from NY to LA you needed an aerospace degree.
Your ridiculous hyperbole isn't making your point more valid. No, you shouldn't need to have an aerospace degree to fly from NY to LA. But you should have a grasp of how to get from NY to LA, not demand "I want to get to LA". The same goes for search engines. No, I don't expect people to understand the math behind page rank. But I expect them to be able to use a search machine. If that involves learning to make better search queries, then so be it.
Finally, if you want to use a powerful VCS like git, then I'm afraid you have to learn how git works. And not demand that it made be more accessible for people unwilling to learn how it's used. For people who want a simple (D)VCS with a much better accessibility (and consequently a lot less power), there's always bzr.
>PS. Mac has all the power of UNIX but with out a retarded interface meaning no tradeoff was actually necessary.
False. As others have pointed out, OS X is a horrible, crippled excuse for a UNIX, albeit with a shiny UI on top (whose usability is debatable and in my opinion horrible). I don't even know why developers put up with it. If you aren't specifically developing for OS X/iOS (same goes for Windows), there's literally no reason to not use GNU/Linux or one of the BSDs.