[squeak-dev] Re: Stuff

Andreas Raab andreas.raab at gmx.de
Wed Dec 16 09:47:40 UTC 2009


keith wrote:
>> > So the question is, has ever been considered to simply build the 
>> bridge between 
>> > communities and to use the PharoCore image as the base for Squeak? 
>>
>> This wouldn't work for the same reasons that it wouldn't work to use a 
>> Squeak-trunk image as the basis for Pharo. You should propose that at 
>> some point just to see what kind of reaction you get ;-) 
>>
>> Cheers, 
>>    - Andreas 
> 
> Yes please propose it. That is an excellent idea. Lets use the PharoCore 
> image as the base for future Squeak releases! It would work excellently, 
> it might require some humility from Andreas. In my opinion it is the 
> only sensible way forward.

I'm not going to reply to everything Keith said but I'll make an 
exception here. I think Keith has misunderstood what I've been saying in 
the above (and if that's true many others here might too). He seems to 
be implying that this is all just one big pissing match which could be 
resolved by me just showing a bit of humility. I disagree. (well, okay, 
there is *some* of that here but that's natural given that absolutely 
nothing is at stake ;-)

But I do think that there are some fundamental differences between the 
goals of Pharo and that of Squeak. From my perspective (and I know 
others will differ here but this is my post so I get to put my 
perspective forward) Pharo has a relatively narrow goal: Providing a 
feasible economic niche around Seaside. From all I've seen that is what 
Pharo is aiming for. Not a goal easy to reach, but still a narrow one.

Squeak has always had a much broader perspective. It is driven by the 
vision of a universal computing environment, as a medium for personal 
dynamic media. Projects like Croquet, Etoys, Squeak-NOS and quite 
possibly even Seaside wouldn't have even been started in Squeak if not 
for this broader scope. We've lost a good bit of traction in the last 
years when Squeak was (from my perspective) degenerating to being "just 
another Smalltalk implementation" that had nothing that made it special 
anymore, the original vision being lost in some forks and demos on the 
web. Fortunately, we've started the process of reversing this trend and 
give Squeak back it's own unique position in the open source ecology. 
The competition helps in this regard as it requires both sides to 
sharpen their profile with respect to each other.

 From the differences in direction, there come some very direct 
incompatibilities. Pharo (rightfully!) doesn't care about lots of things 
that are not within scope for its goals. As one example, consider MVC 
and projects. I don't believe that the Pharo folks will spend a second 
to think about any of this stuff - they're currently tied to Morphic and 
will soon have to go to some native widgets stuff if they want to be 
commercially viable. As a consequence, MVC or projects are quite 
understandably of no concern. In Squeak, however, we do care about both 
of them very much. MVC is just one of the many faces of Squeak and a 
valuable one because we can learn from it. Projects are one of the high 
points of Squeak since they allow us to make advances into orthogonal 
directions. If there's ever going to be another UI framework in Squeak, 
it will take advantage of projects. And so, where Pharo takes the choice 
of just deleting everything that doesn't fit its world view, in Squeak 
we've been step by step rebuilding all those parts and continue to do 
so. The same goes for many other areas.

As a consequence we currently have some irreconcilable differences. 
Pharo-core is not an option as a basis for Squeak since it is driven by 
a fundamentally incompatible set of ideas at this point. Squeak is not a 
basis for Pharo, since it doesn't share the narrow perspective that 
Pharo subscribes to. As a consequence there is no other option than 
having each system go its own way for the time being.

However, this may change in the future. I do see some serious interest 
on both sides in modularity and the competition between the systems is 
clearly helping matters along nicely (ah, competition! *alwys* good for 
the customer! it would be a shame to fold either Squeak or Pharo for the 
resulting lack of competition alone). With developments like FileSystem, 
i.e., libraries that replace parts of the core system but are externally 
maintained there is a good chance that some homogenization can take 
place. At some point it may be worthwhile to review this topic.

Cheers,
   - Andreas




More information about the Squeak-dev mailing list