Hi Edgar,
> > Marcus Denker puso en su mail : > > > Hi, > > > > Yes, same here. Very strange. I did not change anything with > > SqueakMap... > > can you add a report to mantis? > I add this what I using for a long time, send to Goran , suggest to have a > button on Flaps, etc. > > Install in your image , no need of delete sm dir. > Do SMLoader newWhitoutNet, should load your last saved map. > >From here you could update. > And as bonus , could use all what download without net connection. > Thanks for the tip. I guess you are the proper person to file the report together with your fix and enhancement. BTW, I am very excited to see you help Pavel with the Kernel Image. Hopefully, it will be "our kernel image", not just "his", and, who knows, there may be even SM kernel in that kernel if the leader of the NTF not so busy helping BayWatch II (it is rumored that he's been spotted at the sea side ;-) > Edgar Cheers, SmallSqueak. |
In reply to this post by Andreas.Raab
Hi Andreas,
The last time when people started to talk about modular Squeak, the kitchen sink was almost 10 MB. Several dozens moons later, the basic image is merely above 20MB. When this "Modularity agin" is done with, Pavel's Kernel Image might be just merely above 40 MB ;-) Not So Cheerfully, SmallSqueak > -----Original Message----- > From: [hidden email] [mailto:squeak-dev- > [hidden email]] On Behalf Of Andreas Raab > Sent: Friday, August 04, 2006 3:06 PM > To: The general-purpose Squeak developers list > Subject: Modularity agin (was: Re: [V3dot9] Another try for pre-gamma: > #7051) > > Hi Marcus - > > Marcus Denker wrote: > >>> So just consider it to be the new "full" image... > >> > >> So it's back to kitchen-sink. > > > > Why? For me, this is just a sign that > > > > a) we have only a limited amount of man power available > > b) we don't have abstractions and tools that are good > > enough to make a real modular world practical. > > Yes and no. The limited amount of man power can be seen both ways: You > use it to justify a single image, I'd use it to justify a smaller image. > In other words, the less scope you have to deal with the more man power > you can invest to make sure those portions that you deal with are > handled in the best way possible. The more responsibility is with > package maintainers the less man power you need to invest. > > For the abstractions and tools: Sure, we don't have the perfect solution > for these issues. But how about dealing with the parts that are utterly > trivial to deal with? Like, for example, why not immediately remove all > the packages that have almost no further dependencies, like: FFI, > Speech, Nebraska, Sound, OB? Those (and others; there are definitely > more in the image) would be steps into the right direction. And they > really don't require many tools, and for the lacking abstractions (if > any) new ones can and will be proposed. There are many practical things > that can be done if the goal is modularity. Alas, the current goal does > not appear to be modularity, or if it is, I can't see any tangible steps > into that direction. > > > e.g. as soon as we build the image from components, we *need* a > > automatic build-and-test server. > > The classic "we have no tools" excuse ;-) Then how about finding a > process which doesn't require the tools. How about making use of the > community instead? We've got people out there, if we can get them > involved we might be able to get significant amounts of feedback without > the automatic server (which would be great, no question, but I don't > think that's a prerequisite). > > Personally, having used Mantis extensively over the last Squeak versions > I find the process, painful as it is at times, extremely useful. It is > almost guaranteed that if you take the time to file a bug, it will be > something that really matters (to you or your project). Which implies > that people provide pretty good information, discussions etc. That in > turn (at least to me) makes it a very different medium than, say, > mailing lists. I don't read all my emails, but I *do* look at all my bug > reports carefully. > > > The way the 3.8full image was put together after the release of the > > basic image was completely > > wrong: this would never scale to a real modular system. > > In which way? Could you explain this? It strikes me that the process by > which the 3.8 image was put together is exactly the process that we look > at for any real usage situation of Squeak: Given a base image, load a > set of packages that do what you'd like them to do and expect them to > work together. If you really think that this process is completely wrong > then we got a problem that is much deeper than this discussion. > > > And I am quite sure that the abstractions we have (e.g. PackageInfo) is > > not good enough for a true > > modular image. We already now have huge problems that make even the > > maintenance of 3.9 in the current state a huge pain. > > Please give some detail. I'm curious in which way for example PI isn't > good enough or in which way 3.9 maintenance is problematic. In > particular it would be interesting to me if the problems couldn't be > solved by some more robust requirements for packages, for example, no > overrides etc. > > >> How disappointing. How very, very disappointing. > > > > It's nice to know that are so much pro modularity... I really should > > read again the discussions of way-back-when. I don't recall to > understood > > this position from your postings back when people had lots of energy > (3.8) > > for this... > > Then why do you think I've spent so much time trying to fix the 3.3a > module system or on actually getting stuff out of 3.6? Why do you think > I started ToolBuilder, UIManager and made the ToolSet abstraction? > > Cheers, > - Andreas |
In reply to this post by SmallSqueak
SmallSqueak puso en su mail :
> I guess you are the proper person to file the report > together with your fix and enhancement. I send to Goran , long time ago, this time I add a Mantis report . > BTW, I am very excited to see you help Pavel > with the Kernel Image. I follow all what Pavel do from his first 3.7 shrink , what was crucial to Steven Swerling QuiteSmall and to SqueakLight. Still toying and trying to understand the kernel Bootstrap procedure :=) > Hopefully, it will be "our kernel image", not just "his", > and, who knows, there may be even SM kernel in that kernel > if the leader of the NTF not so busy helping BayWatch II > (it is rumored that he's been spotted at the sea side ;-) Yes, also I hope so, I doing all kinds of experiments what "our kernel " and "our new Minimal.image" could take later. Hope in Praga many Squeakers could take some beers and revive the old Module system or agree on a new one. This new Module system could be named HGM (Henrik Gedenryd Memorial), as he deserves. Cheers. Edgar __________________________________________________ Preguntá. Respondé. Descubrí. Todo lo que querías saber, y lo que ni imaginabas, está en Yahoo! Respuestas (Beta). ¡Probalo ya! http://www.yahoo.com.ar/respuestas |
In reply to this post by SmallSqueak
SmallSqueak puso en su mail :
> I guess you are the proper person to file the report > together with your fix and enhancement. http://bugs.impara.de/view.php?id=4402 Here is it. Edgar __________________________________________________ Preguntá. Respondé. Descubrí. Todo lo que querías saber, y lo que ni imaginabas, está en Yahoo! Respuestas (Beta). ¡Probalo ya! http://www.yahoo.com.ar/respuestas |
In reply to this post by Andreas.Raab
> For the abstractions and tools: Sure, we don't have the perfect
> solution for these issues. But how about dealing with the parts > that are utterly trivial to deal with? Like, for example, why not > immediately remove all the packages that have almost no further > dependencies, like: FFI, Speech, Nebraska, Sound, OB? We will try to remove what can be remove easily: FFI, Speech, Nebraska (sound I do not know), and declare that the mini image. > Those (and others; there are definitely more in the image) would be > steps into the right direction. And they really don't require many > tools, and for the lacking abstractions (if any) new ones can and > will be proposed. There are many practical things that can be done > if the goal is modularity. Alas, the current goal does not appear > to be modularity, or if it is, I can't see any tangible steps into > that direction. We had that in mind but we focused on gathering fixes and improvements and slowly the modularisation. > The classic "we have no tools" excuse ;-) Then how about finding a > process which doesn't require the tools. How about making use of > the community instead? We've got people out there, if we can get > them involved we might be able to get significant amounts of > feedback without the automatic server (which would be great, no > question, but I don't think that's a prerequisite). Sure but we should have a build process. > Personally, having used Mantis extensively over the last Squeak > versions I find the process, painful as it is at times, extremely > useful. It is almost guaranteed that if you take the time to file a > bug, it will be something that really matters (to you or your > project). Which implies that people provide pretty good > information, discussions etc. That in turn (at least to me) makes > it a very different medium than, say, mailing lists. I don't read > all my emails, but I *do* look at all my bug reports carefully. I agree. Even if mantis is reallllllllllly painful. > Please give some detail. I'm curious in which way for example PI > isn't good enough or in which way 3.9 maintenance is problematic. > In particular it would be interesting to me if the problems > couldn't be solved by some more robust requirements for packages, > for example, no overrides etc. At least not having overrides is really a first step. I think that having atomic loading is another. We should write a report on what should be improved. >>> How disappointing. How very, very disappointing. >> It's nice to know that are so much pro modularity... I really >> should read again the discussions of way-back-when. I don't recall >> to understood >> this position from your postings back when people had lots of >> energy (3.8) for this... > > Then why do you think I've spent so much time trying to fix the > 3.3a module system or on actually getting stuff out of 3.6? Why do > you think I started ToolBuilder, UIManager and made the ToolSet > abstraction? > > Cheers, > - Andreas > |
stéphane ducasse wrote:
>> For the abstractions and tools: Sure, we don't have the perfect >> solution for these issues. But how about dealing with the parts that >> are utterly trivial to deal with? Like, for example, why not >> immediately remove all the packages that have almost no further >> dependencies, like: FFI, Speech, Nebraska, Sound, OB? > > We will try to remove what can be remove easily: > FFI, Speech, Nebraska (sound I do not know), > and declare that the mini image. That's not what I mean. I don't want to "declare" a mini image - that's a pointless exercise if we start with the definition that a mini image contains everything that we can't remove easily. The whole point of making headway towards modularity is that step by step we decrease dependencies. As such, removing the above is useful if and only if it is seen as a stepping stone for the next version (which will hopefully remove even more) not as an end-goal. Cheers, - Andreas |
On 7 août 06, at 19:55, Andreas Raab wrote: > stéphane ducasse wrote: >>> For the abstractions and tools: Sure, we don't have the perfect >>> solution for these issues. But how about dealing with the parts >>> that are utterly trivial to deal with? Like, for example, why not >>> immediately remove all the packages that have almost no further >>> dependencies, like: FFI, Speech, Nebraska, Sound, OB? >> We will try to remove what can be remove easily: >> FFI, Speech, Nebraska (sound I do not know), >> and declare that the mini image. > > That's not what I mean. I don't want to "declare" a mini image - > that's a pointless exercise if we start with the definition that a > mini image contains everything that we can't remove easily. The > whole point of making headway towards modularity is that step by > step we decrease dependencies. As such, removing the above is > useful if and only if it is seen as a stepping stone for the next > version (which will hopefully remove even more) not as an end-goal. sure do not tell that to me. We will not call it mini but basic, I slip on my keyboard. And I know what you mean this is also why I pushed alex to help 3.3a too and invited henrik and more.... Still for 3.9 I did not have the time/energy to be active in shrinking the system and I hope to do that in 3.10. At least this is my goal. Stef |
On 07.08.2006, at 22:36, stéphane ducasse wrote: > > On 7 août 06, at 19:55, Andreas Raab wrote: > >> stéphane ducasse wrote: >>>> For the abstractions and tools: Sure, we don't have the perfect >>>> solution for these issues. But how about dealing with the parts >>>> that are utterly trivial to deal with? Like, for example, why >>>> not immediately remove all the packages that have almost no >>>> further dependencies, like: FFI, Speech, Nebraska, Sound, OB? >>> We will try to remove what can be remove easily: >>> FFI, Speech, Nebraska (sound I do not know), >>> and declare that the mini image. >> has no dependencies. But I don't have the time and energy to do the rest in 3.9.... alpha is alpha, beta is beta. There was a time when we could have done this easily (in alpha). But it's so much easier to wait and then critizise... it's especially good for getting people to invest time and have a great communit, I'm sure. >> That's not what I mean. I don't want to "declare" a mini image - >> that's a pointless exercise if we start with the definition that a >> mini image contains everything that we can't remove easily. So this whole discussion started that you said we were actively destroying the goal of modularising Squeak just by not releasing an bigger and a small version... how is that different? What Stef suggested would get you back what you wanted: A big and a slightly small version, I guess as kind of a symbolic statement, just like we would have if we would do a "full" version that is 3.9 + vmmaker + yaxo + webbrowser. And now you call it a "pointless exercise". Maybe it was not such a bad idea to not to have "full" and "basic" for 3.9 as I suggested? I never suggested to stop making the parts less dependend of each other, I only said that it makes no sense to ship a "full" image for 3.9. You know, "pointless exercise". >> The whole point of making headway towards modularity is that step >> by step we decrease dependencies. As such, removing the above is >> useful if and only if it is seen as a stepping stone for the next >> version (which will hopefully remove even more) not as an end-goal. This was the idea: Work slowly, steadily towards it, as time allows. Marcus smime.p7s (5K) Download Attachment |
Marcus Denker wrote:
> On 07.08.2006, at 22:36, stéphane ducasse wrote: >>>> We will try to remove what can be remove easily: >>>> FFI, Speech, Nebraska (sound I do not know), >>>> and declare that the mini image. > > I vote against doing this so extremely late in beta. FFI is ok, it has > no dependencies. But I don't have the time and energy to do the rest in > 3.9.... alpha is alpha, beta is beta. > There was a time when we could have done this easily (in alpha). I have no problems with that decision. As a matter of fact, I find that removing packages that late in the game tends to have more of an alibi function than real impact. > But it's so much easier to wait and then critizise... it's especially > good for getting people to invest time and have a great communit, I'm sure. And what exactly does that mean? No criticism allowed during beta? ;-) >>> That's not what I mean. I don't want to "declare" a mini image - >>> that's a pointless exercise if we start with the definition that a >>> mini image contains everything that we can't remove easily. > > So this whole discussion started that you said we were actively > destroying the goal of modularising Squeak just by not releasing an > bigger and a small version... You're getting overly paranoid. I said it's sad that it all looks as if we're back to One Image To Rule Them All (i.e., a kitchen-sink image) but nowhere I said anything about "actively destroying" anything. > how is that different? It's greatly different. The difference is that adding useful packages to a tested and consistent base version defines a meaningful system in itself. Whereas removing things under the assumption "oh, let's see if that may work" is not. That is why I fundamentally agree with your statement that such removals should happen in alpha - because that means there is time to test and to make the base system consistent. In short: Adding new packages is mostly trivial - removing old ones is not. That is the difference. > What Stef suggested would get you back what you wanted: A big and a > small version, I guess as kind of a symbolic statement, just like we > would have if we would do a "full" version that > is 3.9 + vmmaker + yaxo + webbrowser. > > And now you call it a "pointless exercise". Maybe it was not such a bad > idea to not to have "full" and "basic" for 3.9 as I suggested? I never > suggested to stop making the parts > less dependend of each other, I only said that it makes no sense to ship > a "full" image for 3.9. You know, "pointless exercise". You *are* getting overly paranoid. What I called a pointless exercise is to target an artifact with certain packages removed (a "mini" image) as the goal instead of a process. The mini-images that we have are such elaborate and -in terms of modularity- absolutely, completely, and utterly pointless exercises since not a single person in the world understands what needs to be done to get an image into such a "mini state" again. This is all an ad-hoc hackery of masterful dimensions, granted, but hackery nonetheless and because of the impossibility to repeat that process in any image of reasonably size I call it pointless for the purpose of making headway in terms of modularity. (these images are still useful artifacts if only to study certain aspects and get a feel for a ball-park range but that's about all that can be learned from it - for actually achieving modularity these images are useless) >>> The whole point of making headway towards modularity is that step by >>> step we decrease dependencies. As such, removing the above is useful >>> if and only if it is seen as a stepping stone for the next version >>> (which will hopefully remove even more) not as an end-goal. > > This was the idea: Work slowly, steadily towards it, as time allows. Right. And I have no problems with that either but I'd like to see *some* tangible progress towards the goal. Like, for example, if only by not including new packages or at the very least to trade them, e.g., if you add a new one you've got to at least remove one of comparable size. The way things seem to progress now (like Edgar noted) it is that the current "basic" image (or whatever you call it) is *larger* than the 3.6 full image. That's kinda sad, wouldn't you agree? Cheers, - Andreas |
In reply to this post by Andreas.Raab
I should know better, but I don't so: Beta is Beta, that usually means only bug fixes to go from Beta to Final/Released. At this point, my opinion would be that 3.9 is what it is. Fix any major bugs and move on. Regarding modularity, wasn't there an Idea that future work would be based on Craig's Spoon work? That at least offers a repeatable process: 1) Start with a "full" image version X.Y-Z, execute some method(s) designed to exercize the desired funcionality to imprint a new "minimal" image 2) Save the minimal image and give it a name/version. It seems that S-unit tests of some sort would provide the basis for the method to imprint the desired functionality. Is there any reason why this isn't a good path to follow? -Dean |
[hidden email] wrote:
> Regarding modularity, wasn't there an Idea that future work would be > based on Craig's Spoon work? That at least offers a repeatable process: > > 1) Start with a "full" image version X.Y-Z, execute some > method(s) designed to exercize the desired funcionality to imprint a new > "minimal" image > 2) Save the minimal image and give it a name/version. > > It seems that S-unit tests of some sort would provide the basis for the > method to imprint the desired functionality. > > Is there any reason why this isn't a good path to follow? As the *only* path? Or as part of an overall strategy? If the first, I'd say that I'll answer that question once I've seen the first system that has been built that way ;-) [*] As part of an overall strategy it's perfectly fine - there are various interesting ideas in Spoon which can be helpful in many different contexts. [*] This is my new "I-won't-answer-until-I've-seen-it" disclaimer to avoid gross misjudgements about the theoretical vs. practical benefits of a deep system modification. Once bitten, twice shy. Cheers, - Andreas |
On Aug 8, 2006, at 2:31 PM, Andreas Raab wrote: > [hidden email] wrote: >> Regarding modularity, wasn't there an Idea that future work would >> be based on Craig's Spoon work? That at least offers a repeatable >> process: >> 1) Start with a "full" image version X.Y-Z, execute some >> method(s) designed to exercize the desired funcionality to imprint >> a new "minimal" image >> 2) Save the minimal image and give it a name/version. >> It seems that S-unit tests of some sort would provide the basis >> for the method to imprint the desired functionality. >> Is there any reason why this isn't a good path to follow? > > As the *only* path? Or as part of an overall strategy? If the > first, I'd say that I'll answer that question once I've seen the > first system that has been built that way ;-) [*] As part of an > overall strategy it's perfectly fine - there are various > interesting ideas in Spoon which can be helpful in many different > contexts. I'll echo this opinion. Spoon does nothing to make the system more modular. It does make it easier to unload parts of the monolith, which is useful. It may also help us figure out what where some dependencies are, which is also useful. The only way to make the system more modular is to figure out where the dependencies are and rewrite key bits of code to remove them. Sometimes it means introducing new abstractions like ToolBuilder or Services to enable looser coupling. Sometimes it means tearing out and throwing away code that's too entangled to remove cleanly, something we haven't been willing to do so far. There's no getting around the fact that it's hard, ugly, unglamorous work. Spoon is a good tool, but it's not "the answer." Colin |
Hi all-- On the squeak-dev list, Dean writes: > Regarding modularity, wasn't there an Idea that future work would be > based on Craig's Spoon work? That at least offers a repeatable > process: > > 1) Start with a "full" image version X.Y-Z, execute some method(s) > designed to exercize the desired funcionality to imprint a new > "minimal" image > > 2) Save the minimal image and give it a name/version. It seems that > S-unit tests of some sort would provide the basis for the method to > imprint the desired functionality. > > Is there any reason why this isn't a good path to follow? Andreas responds: > As the *only* path? Or as part of an overall strategy? If the first, > I'd say that I'll answer that question once I've seen the first system > that has been built that way ;-) ["once bitten, twice shy"] As part of > an overall strategy it's perfectly fine - there are various > interesting ideas in Spoon which can be helpful in many different > contexts. Colin responds: > I'll echo this opinion. Spoon does nothing to make the system more > modular. I assume you mean that Spoon provides no tools for untangling the current mess of behavior. That's not true. Spoon provides the ability to "imprint"[1, 2] methods from one system, as they are run, into another system (leaving all other behavior behind). When driven by unit tests, this establishes a useful starting point for more detailed refactoring. I think this is what Dean was citing. I don't think it's fair to call this mere "unloading". (In fact, I have a far more aggressive technology for that[3].) I agree that this leaves a great deal of manual and careful work for humans (preferably the original authors of each component). It is indeed hard and unglamorous work. (It is also work that I will do myself if necessary, if no one else has done it by the time it becomes my top priority.) But I'd like to point out that (in my opinion) Spoon is the best place to record the results, and does a great deal to keep the system modular once the knots have been undone. Spoon provides a module system, "Naiad" ("Name And Identity Are Distinct") with which one may clearly establish dependencies, authorship, and many other aspects of related behavior. Modules are a fundamental part of Spoon's support for software delivery. For more details (such as they are currently), please see the Spoon mailing list archives[4]. Please also see the sample module catalog[5], although it's still a work in progress (as are Naiad and Spoon themselves). I mentioned all of these things here previously. Without a solution for the modularity problem, I wouldn't have bothered with Spoon at all. Producing smaller systems is a nice side-effect, but the primary goal of Spoon is to make Smalltalk easier to learn. In my opinion, the largest obstacle for learning Smalltalk, throughout its entire existence, has been the system's poor organization (it has some, but not nearly enough). > Spoon is a good tool, but it's not "the answer." For what it's worth, in my refactoring work so far (mostly on Augment) imprinting from tests cuts refactoring time by about half. I also think we could go much further along these lines. Finally, I'd like to reiterate how unfortunate it is that we seem unable to discuss the merits of a design before the implementation is finished. I think this leads to comments such as "X is not the answer". We should be discussing what's missing, and how a design might be improved. As it is, one is simply left with the impression that a design lacks potential. I think Spoon may very well become "the answer" for this domain. I appreciate that we'll get bitten along the way, but I think demanding a finished system before evaluating the ideas or imagining how it might work is a bad way to go. thanks, -C [1] http://lists.squeakfoundation.org/pipermail/spoon/2004-October/000061.html [2] http://lists.squeakfoundation.org/pipermail/spoon/2006-May/000112.html [3] http://lists.squeakfoundation.org/pipermail/spoon/2006-April/000107.html [4] http://lists.squeakfoundation.org/pipermail/spoon [5] http://netjam.org/spoon/modules -- Craig Latta http://netjam.org/resume |
On the squeak-dev list, Dean writes: > Regarding modularity, wasn't there an Idea that future work would be > based on Craig's Spoon work? That at least offers a repeatable > process: > > 1) Start with a "full" image version X.Y-Z, execute some method(s) > designed to exercize the desired funcionality to imprint a new > "minimal" image > > 2) Save the minimal image and give it a name/version. It seems that > S-unit tests of some sort would provide the basis for the method to > imprint the desired functionality. > > Is there any reason why this isn't a good path to follow? Andreas responds: > As the *only* path? Or as part of an overall strategy? If the first, > I'd say that I'll answer that question once I've seen the first system > that has been built that way ;-) ["once bitten, twice shy"] As part of > an overall strategy it's perfectly fine - there are various > interesting ideas in Spoon which can be helpful in many different > contexts. I respond: > I'll echo this opinion. Spoon does nothing to make the system more > modular. Craig rebuts: > I assume you mean that Spoon provides no tools for untangling the > current mess of behavior. That's not true. I mean that Spoon doesn't untangle the current mess of behavior. Yes, it provides tools that might help with that. Yes, it provides tools for dealing with modules once they have been separated from the mess. These are excellent things. So far, though, nobody has used those tools to do any untangling. Note also that Dean's proposed path, which I've quoted above, doesn't involve any rewriting or refactoring, only unloading. So I think Andreas is right. A modularization strategy that involves Spoon is a fine idea, as long as it also includes the kind of ugly grunt work that Andreas, Pavel, Edgar and others have been doing to disentangle the mess. Colin |
> I mean that Spoon doesn't untangle the current mess of behavior.
> Yes, it provides tools that might help with that. Yes, it provides > tools for dealing with modules once they have been separated from > the mess. These are excellent things. > > So far, though, nobody has used those tools to do any untangling. > Note also that Dean's proposed path, which I've quoted above, > doesn't involve any rewriting or refactoring, only unloading. So I > think Andreas is right. A modularization strategy that involves > Spoon is a fine idea, as long as it also includes the kind of ugly > grunt work that Andreas, Pavel, Edgar and others have been doing to > disentangle the mess. I think that this is Craig implied :) And it should be the focus of the next version of Squeak (at least I would like to invest time in that). Stef |
In reply to this post by Colin Putney
Hi Colin-- > Yes, [Spoon] provides tools that might help with [disentangling system > components]. Yes, it provides tools for dealing with modules once they > have been separated from the mess. These are excellent things. Indeed, so I thought the assertion is Spoon "does nothing to make the system more modular" was clearly wrong. > So far, though, nobody has used those tools to do any untangling. For what it's worth, I have, and am currently. I'm untangling the system dictionary from the rest of the system, and doing the same for the graphics subsystem (Display, etc.). > Note also that Dean's proposed path, which I've quoted above, doesn't > involve any rewriting or refactoring, only unloading. Clearly; and I, in turn, as the designer of Spoon, was motivated to elaborate from my point of view. > So I think Andreas is right. A modularization strategy that involves > Spoon is a fine idea, as long as it also includes the kind of ugly > grunt work that Andreas, Pavel, Edgar and others have been doing to > disentangle the mess. I certainly agree that any successful modularization strategy includes ugly grunt work (I'm doing it too). But I think Andreas said more than that: that the fitness of Spoon's tools for this task can only be evaluated when the task is finished. If everyone held that view, then no one would use Spoon's tools for the task. It seems to imply that I, Craig, must disentangle the entire system before it's worth anyone else's while to use Spoon. I don't think this is true. (Perhaps I exaggerate. Perhaps disentangling some subset of the system would be suitably compelling. At any rate, I continue making modules.) -C -- Craig Latta http://netjam.org/resume |
Hi Craig,
on Wed, 09 Aug 2006 09:02:33 +0200, you wrote: > I certainly agree that any successful modularization strategy > includes ugly grunt work (I'm doing it too). But I think Andreas said > more than that: that the fitness of Spoon's tools for this task can only > be evaluated when the task is finished. This would contradict all the benefits that Smalltalk stands for: incrementality, encapsulation, lazyness, simulation, prototyping, etc. It would (if true) be the historically first case that Smalltalk (Squeak) cannot be applied to itself. > If everyone held that view, then > no one would use Spoon's tools for the task. It seems to imply that I, > Craig, must disentangle the entire system before it's worth anyone > else's while to use Spoon. I don't think this is true. (Perhaps I > exaggerate. Perhaps disentangling some subset of the system would be > suitably compelling. At any rate, I continue making modules.) Please do that, regardless of how Andreas' comments are interpreted (written with neutrality in mind). /Klaus > -C > |
In reply to this post by ccrraaiigg
Craig Latta wrote:
> I certainly agree that any successful modularization strategy > includes ugly grunt work (I'm doing it too). But I think Andreas said > more than that: that the fitness of Spoon's tools for this task can only > be evaluated when the task is finished. If everyone held that view, then > no one would use Spoon's tools for the task. It seems to imply that I, > Craig, must disentangle the entire system before it's worth anyone > else's while to use Spoon. I don't think this is true. And I don't think it's fair to accuse me of that. What I said is that "if [spoon is being followed as the *only* path], I'd say that I'll answer that question once I've seen the first system that has been built that way ;-) " - with an "if" at the beginning and a smiley at the end. More specifically, what I'm saying is that we should base our judgment of ideas on observable evidence rather than faith. In other words try to be a bit scientific. It doesn't mean that you have to disentangle an entire image any more than it means for the traits-people that they have to traitify an entire image. However, providing practical examples to look at, evaluate, learn from is absolutely critical. Blindly buying into theories, no matter how good they sound initially, sets us up for another desaster - I had great hopes for Henrik's theory of universal composition; I had great hopes for traits. Both turned out to be quite underwhelming in practice. Cheers, - Andreas |
In reply to this post by ccrraaiigg
Colin Putney wrote: >So far, though, nobody has used those tools to do any untangling. >Note also that Dean's proposed path, which I've quoted above, >doesn't involve any rewriting or refactoring, only unloading. Please don't make too much of my comments. It was largely a response to a comment from Andreas: >What I called a pointless exercise is >to target an artifact with certain packages removed (a "mini" image) as >the goal instead of a process. The mini-images that we have are such >elaborate and -in terms of modularity- absolutely, completely, and >utterly pointless exercises since not a single person in the world >understands what needs to be done to get an image into such a "mini >state" again. I only meant to suggest that there may be a repeatable way to produce a "mini" image with a certain set of functionality. I agree that this doesn't untangle anything. Since modularity and reuse are somewhat at odds with each other (much like time and frequency, MIPS and memory usage, etc.) this raises the question of what is a "good" balance between modularity and reuse? Also, what constitutes a "minimal" image? I think there are almost as many answers to this as there are users of Squeak. Do most people really care about modularity, or do they just want a way to get a small artifact (i.e. image) for distribution? I will stop before I get too far down another rat-hole. -Dean |
In reply to this post by Andreas.Raab
Hi Andreas-- > > I certainly agree that any successful modularization strategy > > includes ugly grunt work (I'm doing it too). But I think Andreas > > said more than that: that the fitness of Spoon's tools for this task > > can only be evaluated when the task is finished. If everyone held > > that view, then no one would use Spoon's tools for the task. It > > seems to imply that I, Craig, must disentangle the entire system > > before it's worth anyone else's while to use Spoon. I don't think > > this is true. > > And I don't think it's fair to accuse me of that. I'm not accusing you of anything, Andreas. :) I was telling my interpretation. I went on to mention that perhaps my interpretation was an exaggeration: > > Perhaps I exaggerate. Perhaps disentangling some subset of the > > system would be suitably compelling. At any rate, I continue making > > modules. *** > What I said is that "if [spoon is being followed as the *only* path], > I'd say that I'll answer that question once I've seen the first system > that has been built that way ;-) " - with an "if" at the beginning and > a smiley at the end. Right, I got all that the first time. I still take issue with it: I think it would be better to discuss the design ideas in the meantime, in addition to evaluating artifacts. > More specifically, what I'm saying is that we should base our judgment > of ideas on observable evidence rather than faith. In other words try > to be a bit scientific. Well, several of us in the Squeak community have experience with the implementation of the system, and there is a release of Spoon that implements the basis for what I'm talking about[1]. It seems to me that we are in a position to discuss the merits of the design ideas, so as to improve them. More importantly, we can decide how we want the system to work (what the "usage experience" should be), so that we have a basis for evaluating the results. I think of this as defining a vision and pursuing it. thanks, -C [1] http://ftp.squeak.org/Spoon/spoon1a12.zip -- Craig Latta http://netjam.org/resume |
Free forum by Nabble | Edit this page |