|
Re: An uncomfortable question: msg#01088lang.smalltalk.squeak.general
Dean, your thoughts are interesting and provocating. They have triggered some thoughts in my brain... Swan, Dean wrote: > What 3.3a is trying to do with modules is essentially opening the same can > of worms that has made MS Windows such a maintenance nightmare. Modules are > (more or less) equivalent to .DLLs and may end up with all the associated > issues. I don't know of any "good" solutions to these problems, but as > attractive as the "idea" of modules is, I am personally content to stick > with monolithic images for the forseeable future. Why is the <stdio.h> module in the C world so successful? Since it has a well defined *interface*. It is *not* sufficient to divide a big system into modules, it is necessary to get a clear definition of their interfaces to the world! Then a change in the interface suggests more or less compatibility problems, but not improvements and bug fixes inside a module. Thinking loud: what about working at tools for viewing/defining/changing/detecting interfaces first, and then putting this concept as a subconcept into the modules concept? > > The whole concept of "software components" is IMO a fantasy propagated by > media hype that ignores all the realities of real world engineering. I wouldn't be so hard: it depends. One example: Squeak itself uses interfaces to external code modules to be portable between many platforms... > In > "real" hardware product designs, one often finds that re-usability is more > of a structuring concept than a hard reality. I don't believe I've ever > worked on a hardware design that didn't involve some kind of custom > connector that is a "slight" variation of a "standard" connector, for > example. (Just for context, I'm referring to everything I've worked on in th > e last 12 years or so). Statement: There is one important difference between hard- and software: hardware interfaces evolve much faster. (Some doubt remains: Is this true?) > > I think the concept of a monolithic image constrains the reusability myth to > realistic proportions, and makes implementation possible. Too much > flexibility comes at a cost, which usually rears its ugly head in the form > of increased complexity, higher resource requirements, and reduced > preformance (relative to a less flexible implementation). Squeak already consists of multiple 'modules', mostly without well defined interfaces. And it becomes worse, if there is no fight against. > > As an example of what I'm talking about, I've worked on a couple of > different projects in the last few years where the end product has similar > capabilities but one was implemented using a "flexible, reusable platform > approach" and the other was implemented using a more task specific approach. > > The flexible system has a source tree for the "platform" of about 5 > gigabytes, generates a target image of about 170 megabytes, and needs two > 300 MHz PowerPC 603e's and 512M of RAM to run. This system has hundreds of > developers working on it. > > The "task specific" system has a source tree of about 300 megabytes, > generates a target image of about 1 megabyte, and runs on one 66 MHz PowerPC > with 16M of RAM. This system had 4 developers working on it. The end > functionalities of these two systems is *very* similar. To how many platforms has the 'flexible, reusable platform approach' been applied (to get their theoretical benefits)? In any case: your example is glaring and the latter approach has won there. But there are other possible reasons for failure of the 'flexible' approach: e.g. just to manage 'hundreds of developers' could be a nightmare. > > I'm not sure what my point is in all of this, but I think we should consider > our goals carefully in relation to the questions that Andrew has raised. My > preference is towards "lean and mean" rather than "incredibly flexible, > general purpose (and suboptimal)". I'm against to try to get an "Eierlegende Wollmilchsau" (means 'something to do all and very different tasks', to quote a nice German expression), but I'm for working towards better definitions of interfaces and a more modularized system. > > -Dean Swan > > > Greetings, Stephan PS: Your mail without line breaks at 76 chars or so wasn't very easy for me to reply to with good readability... (admitted: my mail client (Mozilla) could be better, I've solved the problem by forwarding the mail to myself and copy/pasteQuoted the line breaked result (since replying to or using for copy/pasteQuoted the original one resulted in quoted *not* line breaked lines, which is very ugly)). > > > -----Original Message----- > From: Les Tyrrell [mailto:tyrrell@xxxxxxxxxxxxxx] > Sent: Thursday, October 24, 2002 8:15 PM > To: squeak-dev@xxxxxxxxxxxxxxxxxxxxxxxxxx > Subject: Re: An uncomfortable question > > > These are important points- as we move forward, I am hoping that we will be > moving towards a model in which individual pieces of code are liberated as > much as possible from unneccessary constraints on their usage. That is > going to require a rather significant change in a lot of Squeak's > infrastructure, but I am rather impressed with how much progess is being > made by a lot of people in terms of understanding those issues, or at least > recognizing them. The days of the monolithic image ( and the inherent > weaknesses and roadblocks to progress that it represents ) are, hopefully, > numbered. > > - les > > ----- Original Message ----- > From: <danielv@xxxxxxxxxxxxxxxx> > To: <squeak-dev@xxxxxxxxxxxxxxxxxxxxxxxxxx> > Sent: Thursday, October 24, 2002 3:41 PM > Subject: Re: An uncomfortable question > > > >>Well, I think something interesting is happening in SqueakMap. The count >>is now up to 16 packages, by 8 different authors. These range from small >>framework additions like SharedStreams to large projects that would be >>unlikely to ever become available through the Squeak base image, like >>Seaside. >> >>This opens up directly possibilities to maintain other projects outside >>the image too, like Celeste, Scamper and others. >> >>All this should reduce the maintainance effort required of SqC, and let >>the community do experiments in various directions without actually >>requiring a fork. >> >>A case in point - if Henrik's code was first debuted as a SM package, it >>would have gotten earlier feedback, it could have been more modular, it >>would have been easier for people to try out and it would have been >>optional, orthogonal to the harvesting work done on 3.3a. >> >>This would have saved us at least one uncomfortable question. >> >>So I think one important thing to consider is how we take full advantage >>of this new option we have as a community, and how we change our process >>to fit it in. > > > -- Stephan Rudlof (sr@xxxxxxxxx) "Genius doesn't work on an assembly line basis. You can't simply say, 'Today I will be brilliant.'" -- Kirk, "The Ultimate Computer", stardate 4731.3
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Squeak on Linux DVD, yampa |
|---|---|
| Next by Date: | BitBlt question, Stephan B . Wessels |
| Previous by Thread: | RE: An uncomfortable question, Swan, Dean |
| Next by Thread: | Re: An uncomfortable question, Ned Konz |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |