The History of UNIX
Tucros writes "There is a nice article over at Bell-Labs.com detailing the History of UNIX." This is a somewhat lengthy bit with lots of entertaining stuff that normally would just be sorta anecdotal. I enjoyed this one a lot.
...so they say in the article.
It's really funny to read stuff like this. I use GNU/Linux because I find it the easiest system to use for the work I do, the freedom part is a nice side effect which have become important to me now that I'm used to it, but freedom was never why I chose the system at first. Besides, why am I talking about freedom when we're talking about UNIX ? Nevermind.
Read any paper or article where some two-bit reporter mentions UNIX or GNU, and watch him bitching about those complicated commands, ackward syntax, and what not. Now that's a person who never took the half hour it takes a chimpanse to learn the effect of the ``|''. It's almost not funny.
I'm happy knowing that the system I use is build from the philosophy of making things easy to use. There's just no replacement for ``|'', grep, sed, or their successors. There haven't been in 30 years, and I'd be damn surprised if there was a replacement for this in the next 10 years. Maybe later on, but not in just 10 years. Virtually nothing happens in this industry in 10 years (remember, pipes are from the 50's, they got implemented in the 70's. The wavelet transform is about 100 years old, we still don't use it for streaming media compression)
The other really funny part is, of course, that the pace of real development -- evolution -- is as slow in this industry as in any other. The time between real breakthroughs is not measured in seconds as some would like us to believe, it's measured in decades. A nice example: If you powered off one of your memory banks on your Multics machine, only the processes living in that memory would die -- even Sun Enterprise series can't do that _today_, you'll have to warn the system of the change first. And people were using toilet-paper for storage those days ! We're 30 years past that, we're about to colonize mars, and our operating systems today can't do what they could 30 years ago.
Oh, and don't even get me started on the new economy...
Why would it be ideal for everyone to have the detailed grounding in computers necessary to use a complex and powerful OS? Would it be a better world if everyone spent years learning enough about car mechanics to be able to strip down and rebuild an engine?
Okay, I've now had it with this analogy.
The level of understanding most people have of computers, translated into automotive terms, would not be enough to encompass ideas such as "cars are driven on the street," "tires are less effective when they're wet," and "things in your rearview mirror will look backwards." Most people's interaction with their computer is less like driving a car and more like shouting commands to a barely-competent, intellectually stunted chauffeur. It's not just that they can't rebuild their engine, they don't have *any* understanding of the machine other than that they can sit in it and be taken to the highlighted spots on the map.
My own analogy would be to history. Obviously it's not necessary in any immediate, practical sense to know the year of the Magna Carta or the Battle of Hastings. And I'm the first to admit that, in school, I thought it ludicrous that I should be expected to know such things. But you know what? There is *meaning* behind those minutiae. History gives you insight into how things work. Without that context, one's view of the contemporary world is massively impoverished. And it's the same for a person whose idea of computers is based on buttons and windows and talking paper clips.
See all that stuff in there, Homer? That's why your robot never worked.
The level of understanding most people have of computers, translated into automotive terms, would not be enough to encompass ideas such as "cars are driven on the street," "tires are less effective when they're wet," and "things in your rearview mirror will look backwards." Most people's interaction with their computer is less like driving a car and more like shouting commands to a barely-competent, intellectually stunted chauffeur.
Well, apart from being highly pejorative, this is just a statement of your viewpoint. Unless you could actually back that up with at least some examples, I don't think you're about to convince me or anyone else. It just comes across as prejudice.
My own analogy would be to history. Obviously it's not necessary in any immediate, practical sense to know the year of the Magna Carta or the Battle of Hastings. And I'm the first to admit that, in school, I thought it ludicrous that I should be expected to know such things. But you know what? There is *meaning* behind those minutiae. History gives you insight into how things work. Without that context, one's view of the contemporary world is massively impoverished.
Of course there is meaning in history. There is also meaning in the minutiae of current times. There is meaning in romantic novels and the pop songs of Britney Spears (no, really, there is). We all glean meaning from a vast number of sources. I just don't believe we should hold history as a particularly good source of meaning. Why? First because "history" is notorious for being very hard to get right - whose history do you trust? Secondly, history is by its nature very specific to particular time periods, and it can often be highly misleading when applied to modern times. Just ask the Israelis, Palestinians or anyone in Northern Ireland about how clinging to history can be a bloody and unproductive activity.
And it's the same for a person whose idea of computers is based on buttons and windows and talking paper clips.
No, modern GUIs really are made of windows and buttons. These objects are real in the context of the UI. This is exactly what makes computers so powerful - if I make a world of buttons and windows and menus, then those objects are precisely real. Computers are infinitely flexible processing machines that can simulate any reality to whatever degree of accuracy the programmer wants to create.
If you believe that the commands a CLI system understands are any more or less real than the widgets of a GUI then I would highly recommend you go back to first principles and actually learn some of the very computer science principles we are debating :-)
Sailing over the event horizon
It's worthwhile to visit the Bell Labs site and read their take on the history of Unix. It's important, though, to bear in mind that they are NOT a disinterested party in the history. In fact, they were a strong force, especially in the middle years, in trying to force Unix to remain a proprietary OS. Read A Quarter Century of UNIX by Peter H. Salus, Addison-Wesley, 1994, ISBN 0-201-54777-5 for a much less biased and more complete history. It's an expensive paperback but I've never regretted adding it to my shelf.
Hey, as far as I'm concerned, anything that reminds us of our roots -- computing or otherwise -- is great. An "easy-to-use" OS is a fine solution to a real-world problem, but imagine the ideal: everyone is able to use a real OS because everyone has a grounding in computers and how they work. At the very least, entertaining and interesting histories such as this are a step in the right direction.
:)
Here are a couple other histories of Unix; check 'em out. Learn something. Return to your roots.
http://crackmonkey.org/unix.html
http://www.uwsg.iu.ed u/usail/external/recommended/unixhx.html
http://www.hsrl.rutgers.edu/ug/uni x_history.html
A quick final note, but if there's one thing I love about Unix histories, it's the explanation factor. I mean, every time I run across something completely inexplicable (to me, anyway) it's always nice to eventually discovered exactly why its implementation was so inscrutable. At least there was a method to the madness. Usually.
yours,
john