?? (-: Now I am confused..!
Surely you have just stated that 'unsupportable' software can be profitable.. seeing as you say MS win98 was 'unsupportable'... and it was a major (succesful) release from the #1 software company in the world... ?
But anyway - a little more on topic..
In any circumstance, Unix is by far a more expensive option for any business, needing expensive hardware and expensive resources - and it is harder to support. And this added cost certainly doesn't devalue the code. Though it does have attributes that sometimes make it the only choice.. it is scalable (vertically and horizontally), it is reliable (for the most part), it is powerful/efficient(ish) and it is relatively secure.
I thought the link on this thread was great though, very funny. And it does reflect reality in many ways - Unix and Linux are not the Xanadu that some people make out. I would select a Windows (2000/XP +) user experience than a unix or linux one - and I use all of these systems regularly. This is because it is easy to use - and it is getting better, it is just a shame that there isn't an 'IT Intelligence' setting for each user so that it can set it's level of UI at the right type of user.
When we look at some of the comments on here about levels of abstraction (i.e. how deep do you go to find out how something works), it is fair to say that they are all right, but inherently are a little too focused. There is a wider picture to be seen - and that is one of perspective and purpose.
Someone who sends an email doesn't want to know how TCP Stacks work, or how SMTP authenticates (or doesn't in some cases) or even what the name of their mail server is. They just want to communicate with somebody using this tool - why should they care ?
Someone who wants to understand how something really works doesn't want to be met with childish wizards that obfuscate the real workings of an SMTP Server, they want to take it to pieces and find out how it ticks.
So - from the perspective of a techy, they will probably want to learn how most things work - that is their passion and probably their job. From the perspective of the end user, they just want to get the job done in the easiest way possible.
Also, even techies do not want to write everything from scratch every time they want to do something - imagine trying to set-up your own network.. from scratch.. ? writing protocol handlers, building hardware components, writing user applications, operating systems - the list is endless - impossible for someone to do this to the level of quality found in all the other programs available as packages. So the purpose of their action is to simply 'consume' something as opposed to 'understand' it. If the purpose of the work is to get a job done (especially in a work environment) then why bother going beyond what you need to to achieve the goal ? If, however, you want to learn something to support it better, or develop a better alternative, then get your hands dirty.
I apply both views - most of the time I simply consume the function of software - I like an easy life, other times I explore the inner workings of it - I have a need to understand how things work.
A final couple of thoughts:
1. Command Line interface in function is little different to a GUI - they both serve as interfaces with a human being - just because you type commands on a black screen and edit config using vi looking like something out of a hacker movie, doesn't mean you understand how something works any more than clicking buttons. A command line interface is more powerful/efficient, but more difficult to use. The mixture of both is ideal - but there are other means for humans to interact with computers.
2. How far is far enough to understand how something really works ? everything we experience and see in day to day life is based/built upon something else - another system or entity. An application may be programmed in Java, which runs on a JVM, which runs on an operating system, which runs numerous drivers / protocol handlers etc etc et, which run on hardware, which is made of matter (steel/plastic/carbon/etc), which is made of molecules, which are made up of atoms, which are made up of sub atomic particles (electrons, protons, neurons etc), which are made up of quarks and beyond to bosons/fermions and even down to 1 dimensonal oscillatng strings... But maybe that is a bit too far - who decides?
It is a matter of perspective... and purpose.
Use the right tool for the right job, and don't believe the hype - nothing is perfect - Unix has just as many 'issues' as Windows. Oh, and just because you CAN do something, doesn't mean you SHOULD.
Anyway, enough rambling for today.. ;-)
A smile is worth a thousand kind words. So smile, it's easy! 