Slashdot Mirror


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.

15 of 107 comments (clear)

  1. Re:Nice to See by Stiletto · · Score: 3

    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?

    ACtually, a better analogy would be:

    "Would it be a better world if everyone spent weeks learning enough about a car to operate it safely without bumping into other cars/inanimate objects?"

    Of course, the answer to this is, YES!

    It truely is an ideal world where people have a solid understanding of computers, how they function, and how they are operated. Unfortunately we don't live in that world. We live in a world full of people driving minivans off the road and into telephone poles.

  2. UNIX by deblau · · Score: 3
    UNIX were highly respected members of society in Roman times. They were used to protect high-ranking women, as they could almost certainly be trusted to Do The Right Thing. Their history is very interesting reading.

    -- Dave

    --
    This post expresses my opinion, not that of my employer. And yes, IAAL.
  3. Re:Nice to See by Baki · · Score: 3

    In line with this analogy:

    It doesn't matter if the OS is complex and only for relatively few to work with it. To normal users the only thing that matters are the end-user applications.

    People learn how to drive a car (end-use app) but not how to fix the engine, in fact with all modern electronics etc that becomes more and more difficult without special equipment etc.

    Likewise, a solid and complex-to-use (for the average end-user) OS is fine, as long as it is a good development environment for the specialists, and as long as there are easy and good end-user applications.

  4. Re:Nice to See by Loge · · Score: 3

    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

    Well, except some decisions appear to have been made near-randomly. For example, I recall an interview with Ken Thompson a few years back in which he was asked what he would have done differently if he could design UNIX all over again. His answer? He would have put an "e" at the end of creat().

  5. Re:Who cares? by mbpomije · · Score: 3
    People shouldn't worship technology or turn a programming language into a religion, but this isn't what the article was about. I consider myself to be a UNIX-HATER and would much rather be sitting in front of a LispM.

    However, I thought that this article was a reasonable introduction to what UNIX was about, It had a positive tone, but there wasn't any attempt to distort history, unlike what Eric Raymond does. Actually, if you read the original Kernighan and Mashey 1981 IEEE Computer paper "The Unix Programming Environment", you can see that the original creators of UNIX were trying to create something like the LispM. K&M talked about writing programs in an extensible environment that the user could use combine components together at run time.

    It's just that since the LispM had a much better dynamic programming language than the UNIX shell and a richer variety of types that subprograms could exchange beyond integers and byte streams. This way, the distinction between shell scripts and system programs in C that exists on UNIX was unnecessary and programming on any level of the system was much more pleasant.

    There are some lessons to be taken from the history of UNIX. Flexible, open representations of data and system programmability were steps forward for the time. Of course the LispM had this in spades, but the LispM companies didn't pay attention to the critical component of UNIX's success: Running on commodity hardware!

  6. Re:Who cares? by JordoCrouse · · Score: 3

    I know guys that worship swords. I know guys that worship cars. I know tons of people who worship their horses (being from Wyoming and all.. please feel free to insert your favorite animal husbandry joke here), and I'll bet you that the old woodsmen worshiped their axes. If you feel truely passionate about something, you admire it, and, of course, you write about it.

    People love to say that Unix is obsolete, becuase they hold on to the notion that their pet project in college is going to turn out to be the Next Big Thing. But the fact of the matter is that nobody, nowhere, under any circumstances have been able to produce an operating system that worked under so many different architectures and situations. End of story.

    And sure, lots of people are making new OSes, and showing them off as "better than Unix", but I'll bet if you took the cover off, you would still see Unix like methods and alogrithms.

    But thats ok, I worship Unix, so thats how I feel. Maybe you should ask Steve Jobs. He just based the entire future of his company on Unix. See if he thinks if it is obsolete....

    --
    Do you have Linux and a DotPal? Click here now!
  7. Get it from the horse's mouth by spongman · · Score: 3
    Denis Ritchie's site is excellent.

    There are some very interesting insights into his work on Unix & C.

    Specifically:
    The Evolution of the Unix Time-sharing System
    and
    The Development of the C Language

    If you're reading these slashdot articles you should be reading these papers instead!!

    Also check out "The Unix System" by S.R.Bourne.

  8. Who cares? by Estanislao+Mart�nez · · Score: 3
    People never dedicate attention to the really creative and innovative technologies, like Li sp Machines, so they're stuck in worshipping truly obsolete systems like Unix.

    But, even worse, worshipping technology in and of itself is stupid. Technology is a tool. Do you worship axes? If you worship computers enough to write a history of an obsolete OS, why not write the history of the axe?

  9. UNIX was made to be easy to use by Oestergaard · · Score: 4

    ...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...

  10. Re:Nice to See by bjrubble · · Score: 4

    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.

  11. Re:Nice to See by gwernol · · Score: 4

    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
  12. Bell Labs is not a disinterested party. by Schnedt+McWapt · · Score: 4

    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.

  13. Nice to See by rockwall · · Score: 4

    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

    1. Re:Nice to See by thogard · · Score: 5

      It seems to me that the biggest change in Unix in the past decade is that people are tring hard to get away from the core philosophy. One of thouse cores is "Write programs that do one thing and do it well."

      As McIlroy quoted "Write programs that do one thing and do it well. Write programs to work together. Write programs that handle text streams, because that is a universal interface.'"

      About the only place I see this going on in modern program design is the mp3 players and that is a result of the people who do good UI work generaly don't have the skill set to do the MP3 decoding so they link to something like mpg123.

      Another quote: "Cognitive engineering" is what Condon called it, "...that the black box should be simple enough such that when you form the model of what's going on in the black box, that's in fact what is going on in the black box."

      Based on one of the major ideas in Unix, why does every program grow till it can read mail? I don't think I've ever seen a program that uses /bin/mail as an interface after the first version of mailx. /bin/mail knows how to do everything it needs involving getting a message and sending mail and the "difficult problem" of properly locking mailboxes.

      I also like the bit about fixing the code so they didn't have to document the uglyness. Now that might be the best reason I've ever heard to properly document a program.

    2. Re:Nice to See by gwernol · · Score: 5

      Hey, as far as I'm concerned, anything that reminds us of our roots -- computing or otherwise -- is great.

      Interesting, but don't the "roots" at some point become so distant as to be irrelevant? Isn't it better to look forwards, solving the problems of today and tomorrow, than to stay in the past constantly trying to re-solve old and obsolete problems?

      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.

      I have to disagree with this. 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? No, it would be an enormous waste of time; time that could be better spent (for most people) learning other knowledge. We need well trained car mechanics, but only a fairly limited number. Similarly, I don't think 3-5 years of intensive training in the basics of computer science would be a sensible use of most people's limited time.

      --
      Sailing over the event horizon