Ken Thompson wrote Unix in a month

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

  1. nitro

    nitro

    What I am trying to tell you is a man that can put out code of that complexity in assembler at that speed doesn't need to reuse anything. To compare writing an OS, compiler, etc to writting business rules, it is you who is being silly.

    The point you should have made is that if he were part of a team, everyone else may have a hard time reusing his code, and that as Knuth has pointed out, programs are meant to be read, not necessarily only executed.

    I assure you, if it were just Ken Thompson on the team, Ken Thompson does not have a hard time doing anything on a computer.

    People have been sold all these abstraction tools and they just follow them blindly as if it makes their lives easier by the word of some guru. Ford talks about the dangers of this in his new book which I recommended elsewhere:

    http://www.elitetrader.com/vb/showthread.php?s=&postid=2179729&highlight=Ford#post2179729
     
    #11     May 7, 2009
  2. sjfan

    sjfan

    I think my point was that they are not comparable. That you need different tools for different jobs. Are we actually disagreeing?

     
    #12     May 7, 2009
  3. Eight

    Eight

    We've had guys on ET journaling while they wrote their own backtesting engines complete with scripting capabilities, GUI, etc.. blows me away they can do that...
     
    #13     May 7, 2009
  4. rosy2

    rosy2



    so true. those tools are sold to people who end up not using them or to a manager who thinks they are productive but they end up being an albatross.

    imo, anyone good uses the basics. but i have to admit intellisence has made me more productive while being totally ignorant at the same time.
     
    #14     May 7, 2009
  5. Exactly. I have a good friend who coded MPEG4 and JPEG encoders from scratch in assembly language while just out of school... And my simple mind has enough challenge handling rudimentary arrays and simple functions on them (with my little trading systems). Hmmm,... He went to Princeton and did PhD work at cornell.... It amazes me what higher intellect can even conceive.

    The math involved boggles me.
     
    #15     May 7, 2009
  6. vanv0029

    vanv0029

    This thread is full of mistakes. Unix was written
    in an early version of C from the start. The original
    primitive C compiler was already written. C is
    still used for complex algorithms that need
    efficiency. It is the opposite of object oriented.
    See the 1970s ACM paper on Unix.

    I hope the posters to this thread are working for
    the companies that take the other side of my trades.
     
    #16     May 8, 2009
  7. Indeed so. I also believe one of the earliest uses (and perhaps motivations) for Unix was word processing and typesetting (nroff, troff). If you look at some of the early documents they have a quality about them that seems to elude modern word processors.

    To the poster who made some remark a kernel, Unix is a lot more than just a kernel.

    Anybody interested in the Unix family tree should have a look at it's natural successor - Plan 9

    http://plan9.bell-labs.com/plan9/
     
    #17     May 8, 2009
  8. When dad did his exams back in the mid 80's one of the papers he had to do was writing an OS in assembly language.

    He also programmed in Algol, Fortran, Borland C (using a single sided 5.25 " floppy when the doulbe sided 360K / 1.2 M had not become commonplace at that time) and used punch cards in one of his jobs. Only two compiles a day were allowed for the whole of the computer department...... Talk about debugging something using punchcards.....

    M.
     
    #18     May 8, 2009
  9. jprad

    jprad

    http://www.bell-labs.com/history/unix/btoc.html

    From B language to NB to C

    The first version of UNIX was written in assembler language, but Thompson's intention was that it would be written in a high-level language.

    Thompson first tried in 1971 to use Fortran on the PDP-7, but gave up after the first day. Then he wrote a very simple language he called B, which he got going on the PDP-7. It worked, but there were problems. First, because the implementation was interpreted, it was always going to be slow. Second, the basic notions of B, which was based on the word-oriented BCPL, just were not right for a byte-oriented machine like the new PDP-11.

    Ritchie used the PDP-11 to add types to B, which for a while was called NB for "New B," and then he started to write a compiler for it. "So that the first phase of C was really these two phases in short succession of, first, some language changes from B, really, adding the type structure without too much change in the syntax; and doing the compiler," Ritchie said.

    "The second phase was slower," he said of rewriting UNIX in C. Thompson started in the summer of 1972 but had two problems: figuring out how to run the basic co-routines, that is, how to switch control from one process to another; and the difficulty in getting the proper data structure, since the original version of C did not have structures.

    ...
     
    #19     May 8, 2009
  10. jprad

    jprad

    Yep, the first commercial customer for UNIX was the Bell Labs patent department.

    UNIX and Linux both suffer from the same problem. One is an operating system and one is a kernel.

    ...and precious few (the journymen and gods) actually grok the difference.
     
    #20     May 8, 2009