Author |
Message |
Buday Gergel #1 / 17
|
Bell Labs vs MIT
Hi Folks, I forgot the title of a paper - it compared the design principles of Bell Labs and MIT. Could anybody send me the title - an URL would be more helpful. Thanks in advance, - Gergely
|
Mon, 02 Sep 2002 03:00:00 GMT |
|
|
Ross Paterso #2 / 17
|
Bell Labs vs MIT
Quote:
>I forgot the title of a paper - it compared the design principles of Bell >Labs and MIT. Could anybody send me the title - an URL would be more >helpful.
That would be the classic paper "Lisp: Good News. Bad News. How to Win Big", by Richard P. Gabriel especially the "Worse is Better" section. It's at http://www.ai.mit.edu/docs/articles/good-news/good-news.html http://www.ai.mit.edu/docs/articles/good-news/good-news.dvi and most LISP repositories.
|
Mon, 02 Sep 2002 03:00:00 GMT |
|
|
Fergus Henders #3 / 17
|
Bell Labs vs MIT
Quote:
>I forgot the title of a paper - it compared the design principles of Bell >Labs and MIT. Could anybody send me the title - an URL would be more >helpful.
I think you're after Richard P. Gabriel's paper "Lisp: Good News, Bad News, How to Win Big". It's a brilliant paper, IMHO, and well worth reading. The URL is <http://www.ai.mit.edu/docs/articles/good-news/good-news.html>. --
WWW: <http://www.cs.mu.oz.au/~fjh> | of excellence is a lethal habit"
|
Mon, 02 Sep 2002 03:00:00 GMT |
|
|
Rolf-Thomas Happ #4 / 17
|
Bell Labs vs MIT
Ross Paterson: Quote:
> >I forgot the title of a paper - it compared the design principles of Bell > >Labs and MIT. Could anybody send me the title - an URL would be more > >helpful. > That would be the classic paper > "Lisp: Good News. Bad News. How to Win Big", by Richard P. Gabriel
That paper has sort of a sequel, R. P. Gabriel's book _Patterns_of_ Software_ on patterns, design principles, habitable software, ... Those interested in the cited paper may want to read this fine book, too. Cf. http://www.oup-usa.org/docs/019510269X.html rthappe
|
Tue, 03 Sep 2002 03:00:00 GMT |
|
|
gym #5 / 17
|
Bell Labs vs MIT
Quote:
> > That would be the classic paper > > "Lisp: Good News. Bad News. How to Win Big", by Richard P. Gabriel
To my mind this paper is less than "classic" since it contains a very big flaw in it in my opinion. The paper characterises the New Jersey way of software building as "creating something that's 50% of what you want, letting it spread, and then subsequentely improving it to 90% of what you want". The paper contends that this is a better approach to software development than the MIT way. However there is a subtle flaw in this so called New Jersey approach, namely that it assumes that you *can* improve your 50%-of-what- you-want system to a 90%-of-what-you-want system. I have worked on too many projects that have tried exactly this 50->90 transition and *failed*. They failed for two reasons: a) intertia -- people liked the 50%-system and had invested heavily in time and resources in it's usage, and subsequently didn't want to allow any changes necessary to make the 90%-system. b) technical reasons -- early design decisions in creating the 50%-system make it technically impossible to improve it to a 90%-system. An example of b) is C and garbage collection. C's early decision to have pointers now precludes proper safe garbage collection (yes I know about the Boehm collector, but it's not safe like say an ML collector). An example of a) is the Macintosh Operating system. Much fuss is created every time Apple changes the OS to get rid of "undesirables" from the early days (like system extensions). Some kinds of software can successfully do a 50%->90% shift, but a lot cannot. And that is a big flaw in the New Jersey way. graham
|
Tue, 03 Sep 2002 03:00:00 GMT |
|
|
Yiorgos Adamopoul #6 / 17
|
Bell Labs vs MIT
Quote:
>building as "creating something that's 50% of what you want, letting it >spread, and then subsequentely improving it to 90% of what you want". The
Yes, but I always thought of *designing* for 90%, implement 50%, spread and then reach 90% --
|
Tue, 03 Sep 2002 03:00:00 GMT |
|
|
Russell Wallac #7 / 17
|
Bell Labs vs MIT
Quote:
> To my mind this paper is less than "classic" since it contains a very big > flaw in it in my opinion. The paper characterises the New Jersey way of software > building as "creating something that's 50% of what you want, letting it > spread, and then subsequentely improving it to 90% of what you want". The > paper contends that this is a better approach to software development than > the MIT way. However there is a subtle flaw in this so called New Jersey > approach, namely that it assumes that you *can* improve your 50%-of-what- > you-want system to a 90%-of-what-you-want system. I have worked on too many > projects that have tried exactly this 50->90 transition and *failed*. They > failed for two reasons:
Yes, this is true. On the other hand, the "create 100% of what you want in one shot" has its problems as well. You might run out of money before the project is complete. You might discover only at the end that you made fundamental mistakes in your original design, but there's way too much investment to make major changes now. You might create something that goes over the top in complexity and feature creep. Or you might suceed, but too late: your competitor with the 50% solution has already established a monopoly. There are advantages and disadvantages to both sides, but I think it's not an accident that almost all of today's commercially successful software used the 50->90 model. -- "To summarize the summary of the summary: people are a problem." Russell Wallace
|
Wed, 04 Sep 2002 03:00:00 GMT |
|
|
gym #8 / 17
|
Bell Labs vs MIT
Quote:
> > However there is a subtle flaw in this so called New Jersey > > approach, namely that it assumes that you *can* improve your 50%-of-what- > > you-want system to a 90%-of-what-you-want system. I have worked on too many > > projects that have tried exactly this 50->90 transition and *failed*. They > > failed for two reasons:
> Yes, this is true. > ... > There are advantages and disadvantages to both sides, but I think it's > not an accident that almost all of today's commercially successful > software used the 50->90 model.
It's also not an accident that technically speaking most of today's commercially successful software is awful (bugs, inconsistencies, etc). It seems to me that if you are writing software to be commercially successful then use the New Jersey model. If you are writing software for other reasons then don't use the New Jersey model. graham
|
Wed, 04 Sep 2002 03:00:00 GMT |
|
|
Fergus Henders #9 / 17
|
Bell Labs vs MIT
Quote:
>> There are advantages and disadvantages to both sides, but I think it's >> not an accident that almost all of today's commercially successful >> software used the 50->90 model. >It's also not an accident that technically speaking most of today's >commercially successful software is awful (bugs, inconsistencies, >etc). It seems to me that if you are writing software to be >commercially successful then use the New Jersey model. If you >are writing software for other reasons then don't use the New >Jersey model.
I think this applies to success in general, not just commercial success. Look at Linux vs Hurd, for example. Linux started out as an x86-only Unix clone, written with no attempt at portability in mind, but it now runs on just about everything bar your shoe-phone. Clearly an example of the 50->90 model. --
WWW: <http://www.cs.mu.oz.au/~fjh> | of excellence is a lethal habit"
|
Thu, 05 Sep 2002 03:00:00 GMT |
|
|
Chuan-kai Li #10 / 17
|
Bell Labs vs MIT
Quote:
> Linux started out as an x86-only Unix clone, written with no attempt at > portability in mind, but it now runs on just about everything bar your > shoe-phone. Clearly an example of the 50->90 model.
x86 vs. the world can be a more entertaining example. Can you believe that this crappy ISA (instruction set architecture) is now the top performer in the general purpose computer world? (By "general purpose" I mean to exclude vector processors and other more {*filter*} systems currently suited only for specialized applications.) Face it. x86 ISA is crap. x87 (floating point) ISA is even more crappier. Yet look how far they have gone now. -- Chuan-kai Lin
|
Thu, 05 Sep 2002 03:00:00 GMT |
|
|
Russell Wallac #11 / 17
|
Bell Labs vs MIT
Quote:
> > There are advantages and disadvantages to both sides, but I think it's > > not an accident that almost all of today's commercially successful > > software used the 50->90 model. > It's also not an accident that technically speaking most of today's > commercially successful software is awful (bugs, inconsistencies, > etc). It seems to me that if you are writing software to be > commercially successful then use the New Jersey model. If you > are writing software for other reasons then don't use the New > Jersey model.
The key, I think, is getting the core architecture reasonably close to right. (Where I'm using architecture in Brooks's sense to mean only what the outside world sees.) Implementations can be redesigned and rewritten later if need be, provided they keep the same interface, but if you make a mess of the interface, not all your tears will wash out a word of it. Unix is a good example; the original version lacked a lot of features now considered essential, but the architecture was clean and well designed, and nowadays Unixes run enterprise servers with MTBF measured in years. Windows NT is a good counterexample; its problems aren't for want of debugging effort, they're because the architecture was botched, and I doubt if a million man-years of effort now would make it reliable. -- "To summarize the summary of the summary: people are a problem." Russell Wallace
|
Thu, 05 Sep 2002 03:00:00 GMT |
|
|
Julian Assang #12 / 17
|
Bell Labs vs MIT
Quote:
> I think this applies to success in general, not just commercial success. > Look at Linux vs Hurd, for example. > Linux started out as an x86-only Unix clone, written with no attempt at > portability in mind, but it now runs on just about everything bar your > shoe-phone. Clearly an example of the 50->90 model.
Well, clearly an example of the 5-38 model, anyway. Cheers, Julian.
|
Thu, 05 Sep 2002 03:00:00 GMT |
|
|
gym #13 / 17
|
Bell Labs vs MIT
Quote:
> > > There are advantages and disadvantages to both sides, but I think it's > > > not an accident that almost all of today's commercially successful > > > software used the 50->90 model. > > It's also not an accident that technically speaking most of today's > > commercially successful software is awful (bugs, inconsistencies, > > etc). It seems to me that if you are writing software to be > > commercially successful then use the New Jersey model. If you > > are writing software for other reasons then don't use the New > > Jersey model.
> The key, I think, is getting the core architecture reasonably close to > right.
I agree with this -- the architecture is the key. And to my mind this is the flaw in both the "50->90 New Jersey" way of building software and the "MIT way". In the 50->90 model one makes architectural decisions early on in the 50% bit that often preclude capabilities later in the 90% bit (worse it's not clear that one is making such architectural decisions). In the MIT approach one has to somehow predict all architectural requirements before implementing anything. That's very very hard to do right. For my money both the MIT and New Jersey way are the wrong way to build software, not that I know what the right way is. graham
|
Thu, 05 Sep 2002 03:00:00 GMT |
|
|
Rolf-Thomas Happ #14 / 17
|
Bell Labs vs MIT
Quote:
> It's also not an accident that technically speaking most of today's > commercially successful software is awful (bugs, inconsistencies, > etc). It seems to me that if you are writing software to be > commercially successful then use the New Jersey model. If you > are writing software for other reasons then don't use the New > Jersey model.
So finally, your criticism notwithstanding, you tend to agree with Gabriel's "Worse Is Better" paper which I don't recall at all to measure excellence by commercial (or reproductive) success. "Unix and C are the ultimate computer viruses." rthappe
|
Thu, 05 Sep 2002 03:00:00 GMT |
|
|
Stefan Axelss #15 / 17
|
Bell Labs vs MIT
Quote:
>For my money both the MIT and New Jersey way are the wrong way to >build software, not that I know what the right way is.
Well, perhaps it's time to quote Fredrik Brooks: "Plan to throw one away, you will anyway." And the less you build before that becomes evident, the easier it is to throw it away... Regarding Linux and architecture, of course most of the architecture was already there in the first place, Linux is very traditional in its design. Compare that with Hurd, where the opposite is (almost) true. Perhaps other successful open source software would tell us more, what about Apache? Does anyone have inside info on it? Stefan, -- Stefan Axelsson Chalmers University of Technology
(Remove "rmovt.rply" to send mail.)
|
Thu, 05 Sep 2002 03:00:00 GMT |
|
|
Page 1 of 2
|
[ 17 post ] |
|
Go to page:
[1]
[2] |
|