Hacker News new | ask | show | jobs
by fao_ 1885 days ago
I'm not really sure how that applies here. Apparently Brooks describes this as:

    An architect's first work is apt to be spare and clean. 
    He knows he doesn't know what he's doing, so he does it 
    carefully and with great restraint.

    As he designs the first work, frill after frill and 
    embellishment after embellishment occur to him. These 
    get stored away to be used 'next time.' Sooner or later 
    the first system is finished, and the architect, with 
    firm confidence and a demonstrated mastery of that class 
    of systems, is ready to build a second system.

    This second is the most dangerous system a man ever 
    designs. When he does his third and later ones, his 
    prior experiences will confirm each other as to the 
    general characteristics of such systems, and their 
    differences will identify those parts of his experience 
    that are particular and not generalizable.

    The general tendency is to over-design the second 
    system, using all the ideas and frills that were 
    cautiously sidetracked on the first one.

    (https://wiki.c2.com/?SecondSystemEffect)
But this is not really the case. Since UNIX went through at least two revisions of the basic design in the first stage. Furthermore, Plan9 outright meets all the design goals of the system, and is a genuine improvement on UNIX as a concept. Rob Pike admitted the only reason he stopped using it was because he wasn't interested in porting all of his software to it (And ran Acme in a virtual machine for a very long time while working at Google -- I seem to recall?). Much of the Plan9 software was ported to UNIX, and as I understand it a number of the creators still use parts of it to this day, as much as they are able to.