[squeak-dev] Re: worst crash yet trying to load stuff from Packages
Universe in 3.10.2....
Andreas Raab
andreas.raab at gmx.de
Tue Dec 16 05:00:30 UTC 2008
Greg A. Woods; Planix, Inc. wrote:
>> Puck would like to know exactly how to recreate this failure.
>> (So he can try it out on some of his "friends" :).
>
> Looks like all I had to do was try to load SmallDEVS from the default
> package universe.
No surprise. Polymorph as a class called LabelMorph. SmallDEVS has a
class called LabelMorph. They don't agree. So much for not having name
spaces.
>> Test coverage in squeak is a recent thought.
>
> Perhaps, but I didn't have anywhere near this much trouble with 2.8 or
> 3.0. Squeak's QA has completely disintegrated, at least if you consider
> the default PU button to be a part of Squeak.
Well, that's both true and not. A thing to keep in mind here is there
wasn't even remotely as much stuff available at your fingertips in those
days. SqueakMap did not exist in 2.8, neither did Universes. There were
a few better known projects that you could easily find, everything else
was basically inaccessible. And with variety come all the packaging and
scaling problems that were never addressed in Squeak.
>> First time heavy users find the integration bugs.
>> That would be you.
>
> Hah! If I'm a "heavy user" then I can't imagine how you would describe
> someone who really wants to dive into Squeak and do something major.
> I'm still just learning here. I'm not even interested in doing any of
> the really fancy database, web, or image maker stuff.
There are misunderstandings on both ends here. As a first-time user you
naturally expect those things to "just work" so calling you a "heavy
user" is not a good characterization for what you're doing. I would call
this "exploratory loading" of packages which is probably the worst kind
for integrators to deal with unless they have automated tools for
detecting those package conflicts.
As for doing something major: The first thing you leave at home is the
idea of loading random untested code from the net and expect it to work
in your project. You start with a nice stable base image that you expect
to use for several years and build on top of that.
When you need something, you look at the options, see if one suits your
task, review the code to see whether it's good enough to reuse or
whether you're better off rewriting it from scratch, and then you port
it into your environment. I've done this many times and if you start
with the expectation that you *will* have to actually port this into
your environment you know that this will be a sizable investment but
that at the end of the process you have something that works and that
you can support over time.
I have done this many times. It works quite well if you are realistic
about the investment you are making.
>> Oldtimers, by instinct born of experience, tend to treat squeak tenderly.
>> As if they are walking on eggs that might break at any instant
>> and give off a rotten stentch.
>
> Having played with 2.8 and 3.0 in days gone by I'd have to say that a
> great deal of this stench is quite recent.
I think yours is a bit of a case of selective memory ;-) I've been
playing in those days too and I do not recall even five projects that
one could easily find on the net.
While I agree that there is some completely needless recent breakage
that makes things significantly worse than they have to be, I would say
that the majority of the problems you are seeing are the result of
having more options available at your fingertips.
And the best way I can think about addressing them would be by having
automated tests which can be run all the time and which test which
packages load together and which ones fail. This information could then
be used to inform the user about the conflict and avoid random crashes.
Cheers,
- Andreas
More information about the Squeak-dev
mailing list
|