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