I'm pretty firmly in the Unix camp on this. 'I can't program' should be as rare as 'I can't read.'
What makes programming so special that it needs to be different here?
You might as well write, 'reading exists so most people don't need to read,' which would be equivalently true.
> What makes programming so special that it needs to be different here?
Because directing computers to perform work is as fundamental a skill in the modern world as is reading. Yes, there are people nowadays who cannot read, and there are some few jobs for them. But there aren't many, and it's not a good place to be.
Programming is not a specialised skill: it is a general skill with applicability in almost every field of human endeavour.
Joel, the author of the article you linked to, states the core value of Windows as being "useful to non-programmers" basing it on "By contrast, Windows was created with one goal only: to sell as many copies as conceivable at a profit". The former does not follow from the latter.
Microsoft didn't need to rely on usefulness to anyone to sell many copies, and they didn't. As for why Linux isn't non-programmer friendly, I beg to differ. Android is a prime example and the argument as to why it's not doing well on desktop, as Linus Torvalds puts it, is because no one ships Linux on their desktops. Microsoft has a lot to do with that. When and if they ever do, Aunt Marge will be as happy using Linux without even knowing it's Linux (does the average non-programmer know that Android is Linux?)
There's still Linux underneath -- it's not stock Ubuntu, not by a long shot -- but it's Linux.
Unless she wants to print something... [1]
"1. Make sure the printer is turned on. 2. Connect the printer to your system... 3. A message will appear when the system is finished installing the printer..."
https://help.ubuntu.com/stable/ubuntu-help/printing-setup.ht...
Also Windows teaches you values that are not appreciated by UNIX wizards: http://www.joelonsoftware.com/articles/Biculturalism.html
"Unix culture values code which is useful to other programmers, while Windows culture values code which is useful to non-programmers." (really: read the whole article!)