Stability of Squeak

Andrew C. Greenberg werdna at mucow.com
Tue Aug 14 15:06:23 UTC 2001


On Tuesday, August 14, 2001, at 10:02 AM, robin wrote:

>
> ----- Original Message -----
> From: "Andrew C. Greenberg" <werdna at mucow.com>
> To: <squeak-dev at lists.squeakfoundation.org>
> Sent: Tuesday, August 14, 2001 1:17 PM
> Subject: Re: Stability of Squeak
>
>
>> On Tuesday, August 14, 2001, at 07:31 AM, robin wrote:
>>
>>> In my commercial work, I'm used to the idea that even code which has
>>> been
>>> thoroughly tested, with a seemingly comprehensive set of test cases by
>>> the
>>> developers (exaustive/exhausting testing), will often fall apart under
>>> seemingly obvious condition when real users first use it.  With 
>>> squeak,
>>> it
>>> seems that the idea is that everyone is developer - the only people 
>>> who
>>> are
>>> 'just users' are newbies.
>>
>> Squeak is hardly seeing its "first users" now.  I, too, was a newbie at
>
> I didn't say "first users" so I assume you're not quoting me there.  
> After
> any piece of software has been changed, there is the possibility that 
> new
> bugs are introduced, or old ones revealed.  I understood squeak to be a
> software system which is constantly under development.

Your phrase was "when real users first use it."  I'd like to think, when 
I started, that I wasn't a virtual user.  Indeed, at the time, it was my 
very first experience with a Smalltalk system.  Likewise with the 
several examples I gave.

Of course Squeak is constantly under development, and if you opt to run 
the "test pilot" version, you takes your chances.  There are also stable 
prior versions.  And each and every version of Squeak ever made has bugs.

Indeed, each and every computer program I have seen that does something 
non-trivial has bugs.  So far as I can tell, there are only two kinds of 
software: (1) software with bugs you know about; and (2) software with 
bugs you don't know about.  There are a few things we do as programmers: 
(1) development, which introduces both types of bugs; (2) testing, which 
converts bugs we don't know about into bugs we know about; and 
maintenance, which converts bugs we know about into bugs we don't know 
about.

You may have noted that the Squeak license is warranty-free, and further 
that nobody suggests that Squeak is free of bugs.  You seemed earlier to 
be asking about crashing bugs and system freezes.  I noted in response 
only that I haven't seen much of it, nor have many of the "real users" 
of my acquantance.  To the extent you have, it would be beneficial for 
you to report in detail how you caused it.

>> one time who experienced no ill performance during my initiation.  My
>> wife and children have been using Squeak without any catastrophic
>> failure as well.  My colleagues at the firm who use my Squeak-based
>> patent writing tools have never reported a crash.  Sheila's students at
>> Terrace Elementary School have likewise managed not to crash the VM.  A
>> software-development client of mine adopted Squeak for rapid 
>> prototyping
>> and they, too, haven't had reported to me any disasters (although I
>> haven't really asked them -- I'll check up on this).  Are they all
>> developers as well?
>
> My understanding (again I could be wrong) was that part of the 
> philosophy of
> Squeak, and the earlier Smalltalk 80 systems was that anyone could 
> change
> them for their own creative purposes, and that the simplicity of the 
> system
> was intended to foster this.  I was alluding to this when I said 
> 'everyone
> is a developer'.  I do recognize that this doesn't stop people from 
> using it
> without ever trying to program it. Perhaps I was too literal in my
> expression.

I'm not sure where you are going with this.  You seemed to be 
distinguishing "real users" from "developers," suggesting that, while 
Squeak is stable for developers, it is not stable for real users.  I 
suggested that a range of users, from elementary students to computer 
illiterate lawyers have shared my experience that the system is fairly 
stable.

>> For me, at least, Squeak has been solid as a rock -- among the most
>> stable development platforms on which I have worked.  Frankly, the
>> instability you are reporting is foreign to me -- I simply never
>> experienced it, and neither have the people (professionals, newbies,
>> adults and kids) here who are working on Squeak.
>>
>
> I'm very glad to hear it.  My main reason for asking about this was to 
> get
> an idea of what other people's experiences were.

That's why I answered the question.

>>> I'm also aware that without enough information to reproduce a bug, in
>>> 99% of
>>> cases there's little that can be done - from a scientific perspective 
>>> it
>>> might even be said not to exist.  In future, I'll make sure to include
>>> it.
>>
>> We still don't even know your configuration or system version, let 
>> alone
>> the symptoms you have identified as a crash.  The advice may be as
>> simple as your having a bad build, or using test pilot software when 
>> you
>> shouldn't -- or you may be perceiving crashes that aren't.
>
> That's not true, although admittedly I didn't give the most detailed bug
> report possible.
>
> I DID include the date and version number of the squeak build, the 
> platform
> (windows - I didn't say which though), what I did to cause the 
> 'crashes',
> how the squeak behaved after the crashes, and the squeak process' 
> behaviour
> in terms of CPU and virtual memory.  I also put forward some of my own
> speculation about what I might have done to cause them.

That's great.  Sorry I missed it.

> In both cases, the behaviour fitted my definition of a crash. I didn't 
> say
> the VM itself had crashed. Just that the squeak system had stopped
> responding.

OK, I thought you (or perhaps someone else) had made that suggestion.

> For some reason I'm perceiving your message to be somewhat defensive -
> perhaps I'm picking up the wrong tone.  My original query was to ask 
> about
> other people's perceptions of the system - not to assert instability - 
> I've
> only been using it for a few days.

I'm not defensive by any means.  But you don't seem to be acknowledging 
that I have answered your question -- or at least that you are doubting 
my answer.  My answer, was that with years of experience in the system, 
I have found it to be astoundingly stable; as have the few dozen or so 
acquaintances (with a wide range of technology experience) here in Tampa.

> Nevertheless, for whatever reason, I did experience what I regard as a
> couple of crashes.  If that's rare, it means the system is probably very
> stable, but I feel a little defensive as it seems to me that you are 
> putting
> my experiences into question.

The stable system is very stable.  The test pilot system varies as a 
function of time with respect to stability.  New ports are unstable 
until they cease to be unstable.  All versions of the system have bugs, 
both of the known and documented, known and undocumented and unknown 
species.

I no longer understand with certainty what you mean by a crash, in view 
of your prior remark.    Your experiences aren't put into question -- 
although I still have no idea into what problem you ran.  I didn't see 
your earlier post, so I STILL don't know the configuration version and 
circumstances of your problems.  Hopefully someone else caught it and is 
looking into it.  You might spend more time focusing on a particular bug 
or experience, accept reasonable answers you get to questions you give 
from those that do have experience.

It is absolutely the case that Squeak is poorly documented.  Therefore, 
like an adventure game where an unsolved puzzle becomes a dead end, you 
can find yourself in a situation logically indistinguishable from a 
crash when all you had to do was to apprehend what was happening, press 
a button or two and be happy as a clam.  To that end, Squeak "crashes," 
but not because of any instability, but the unfed and therefore 
understandable ignorance of new users.  With new publications and better 
documents being built all the time, this is improving, and that may be 
the single BEST vehicle for improving newbie stability.




More information about the Squeak-dev mailing list