Ken Thompson wrote Unix in a month

Discussion in 'Trading Software' started by nitro, May 7, 2009.

  1. nitro


    "...He accomplished this in little more than a month, spending one week each writing the kernel (i.e., core of the operating system), the shell (which is used to read and run commands that are typed into the computer), an editor and an assembler (a program to convert source code into machine code that can be directly understood by a computer's CPU). He wrote all of this in PDP-7 assembly language."

    Is all this object orientation etc just to help average programmers? Jesus, if he can do all that in assembly language in a month, calling ourselves programmers by this standard is a gross overstatement.
  2. jprad


    Every profession has a majority of hacks, a minority of journeymen and a handful of gods.

    Ken is a god...

  3. "...but it would have taken Ken 10K years to write a Windows"

  4. nkhoi

    nkhoi Moderator

    'The following year Thompson wrote the B programming language, which started out as an effort to improve the existing BCPL (basic combined programming language) language. The most important thing about B is that it became a precursor to the C language"

    didn't know there was B language, interesting.
  5. The one week claim is false. The Computing group
    at Bell Labs had been working on solving the OS
    problem including spending millions of man hours
    on the Multics OS. They (also at least Dennis Ritchie
    but probably the entire Bell Labs software
    community) then realized that they could throw
    away most OS code and use the simple Unix
    process and pipe model.

    Steven Cook and Richard Karp completed their
    NP completeness proofs very quickly, but the
    result was built on at least a century of logic research
    and both Cook and Karp had spent their entire
    academic careers working on the general problem
  6. [​IMG]

    It is a little known fact that on the weekends - whilst coding like monkeys during the week - he and Dennis Ritchie would be the opening act for ZZ-Top
  7. sjfan


    Don't be silly. there's a huge difference between writing a kernel and writing business logic. It's easy enough to write a very fast regression analysis on a data set in assembly, but good luck if you want to reuse that for a different purpose at a later date.

  8. jprad




    "Thompson: Yeh, it was the summer of '69. In fact, my wife went on vacation to my family's place in California to visit my parents; we just had a new son, born in August '68, and they hadn't seen the kid, and so Bonnie took the kid to visit my family, and she was gone a month in California. I allocated a week each to the operating system, the shell, the editor, and the assembler, to reproduce itself, and during the month she was gone, which was in the summer of '69, it was totally rewritten in a form that looked like an operating system, with tools that were sort of known, you know, assembler, editor, and shell -- if not maintaining itself, right on the verge of maintaining itself, to totally sever the GECOS connection.

    Mahoney: So that you could work directly on it.

    Thompson: Yeh, and from then on it kept coming up on us.

    Mahoney: So you're talking about months.

    Thompson: Yeh, essentially one person for a month.

  9. nitro



    Thanks. I haven't laughed this hard in a while.
  10. sjfan


    Do you have a point of sort to make? I've done enough assembly in a past life and then I did lot of statistics work in grad school; I sure as hell was glad to use an objected oriented language for the latter; the efficiency loss is worth it compared to the ease of implementation and reuse.

    So again, do you have a real point or are you just trolling on a subject you don't think many people would understand?

    #10     May 7, 2009