Squeak is an unsuccessful open source project (was RE: Let usface reality)

Kamil Kukura kamk at volny.cz
Mon Feb 7 17:34:45 UTC 2005


> Perhaps we should just complete the things we have done. By way of  
> example...
> 
> 1. There are 3 HttpClient implementations, which is fully HTPP1.1  
> compliant.
> 2. Comanche is not HTTP1.1 compliant.
> 3. There are multiple Socket implementation in various states of  
> completion.

Oh, I once tried to get rid of OldSocket and adapt the rest to work with 
Socket. I went to some point where it was done but after all that I was 
pretty frustrated as I started to recognize all the mess.
One example for all. If you look into Network-Protocols category you 
will find quite nice hierarchy such as

    ProtocolClient -> TelnetProtocolClient -> SMTPClient

Even though TelnetProtocolClient stands for something rather telnet-like 
(it's not implementing RFC854), I was very happy with that. So leading 
conclusion was to have HTTPClient subclassed from TelnetProtocolClient 
(which can be renamed without harmful consequences). But suddenly, you 
will find that some $&*(#@*($^ introduced HTTPClient totally out of this 
concept. Now solve the dilema:

- rename HTTPClient to HTTPHelper or whatever and write nice HTTPClient. 
Not hard to imagine that even if you adapt the rest of image, all 
packages' maintainers relying on HTTPClient would like to kick your ass.

- leave it as it is and just keep that mess arround. Of course, pray 
someone won't write IMAPClient or XYZClient derived from Object and 
pissing all this concept.

Luckily helper HTTPClient has no instance methods so it can me merged 
with ProtocolClient concept though it brings such a beast into the 
image. Maybe best compromise.

> Pretty important for a community which, in this thread at least, has  
> emphasised, the importance of networking.

Yes, and I see there are unresolved problems with handling errors in 
socket communication but I feel it's maybe something simply unsolvable 
within current design. Any other development environment is better in 
this and other issues. No wonder, that even though I can amaze people 
with rotating windows, I simply can't rely on it as development 
platform. It is really a shame.

-- 
Kamil




More information about the Squeak-dev mailing list