Stefs roadmap for 3.9, time to get it nailed down

stéphane ducasse ducasse at iam.unibe.ch
Thu Feb 24 22:06:21 UTC 2005


Hi martin

I will summarize it like that. We did our homework: reimplementing 
everything, refactored hierarchies,
thought about browser, navigation, speed integration, got a 
mailing-list, a new beta version. Cleaned stuff at
the same time. We will certainly offer a new version soon so that 
people can play with it and the new browser.
What we propose is concrete, solid, tested (now we may still have bugs 
but we have tests for that too).

Now do your homework. Read the papers, take the implementation and 
comments. But we are not in theorical
thinking anymore. If you want to kick do it real! Else we will stop to 
reply and you will complain that we cannot
discuss but discussing theorically is not a squeak fashion. :)

Stef


On 24 févr. 05, at 22:46, Martin Wirblat wrote:

> Hi Nathanael!
>
> Just to make this clear, I very well understand that the proposed 
> inclusion of Traits in mainstream Squeak is aimed to serve all users 
> of Squeak and not only researchers. I didn't talk of research items, 
> instead I wrote "researcher's" items. Perhaps I wanted to express with 
> the quotation marks that you are not only researchers but of course 
> members of the community too ;)
>
> Let me further assure you that I know what hard work you and others 
> have invested in Traits and I am also quite sure that from an 
> implementors point of view we are talking about high quality work 
> here.
>
> Unfortunately this has often an unexpected drawback likely being 
> overlooked. Mostly everyone who wants to critically discuss Traits the 
> language extension, hesitates to do so, knowing about the hard work 
> you spent and the hopes you associate with it.
>
> Really unfortunately adding to this is Stephane's bully behavior, so 
> that a discussion about the pros and cons of Traits is endangered to 
> become very single sided, if it starts at all.
>
> To break this silence I jump-started the discussion with an abstract 
> criterion which I consider a good test for a bigger language extension 
> to Smalltalk.
>
> So if you say humans tend to stick to what they know and you would 
> wish to the opposite, my reply is that programmers seem not to be 
> humans - I see languages all over the place which are, as I called it, 
> concept-overloaded, growing with every new version.
>
> My wish would not only to have an open mind but an "over mind". 
> Focussing on some specific thing and becoming enthusiastic may lead 
> the open mind to neglect the bird's eye view asking the question:
>
> What do I gain in the end?
>
>
> A final word to the ongoing discussion. The question:
>
> Can I switch off Traits and work as if it were not there?
>
> is not the important one. After all we don't want to incorporate 
> Traits just to switch its existence for the programmer off, because 
> that would mean that we shouldn't put it in at all. This is absolutely 
> clear in case there are no core libraries with Traits. If there are, 
> we get the performance hit from the inst var setters and getters. 
> Given that we have the standard core libraries already, why replace 
> them with slower ones when the browsers are "flattening" the traits?
>
> So the more appropriate question is:
>
> Can I program significantly better with Traits or not?
>
>
> Some very final words about my preliminary reasoning so far:
>
> My judgement about this more appropriate question was based on a 
> purely theoretical basis. I assumed that we could have a traitified 
> Collection hierarchy and I guess Collections are by far the best 
> example of where to use Traits, because they are deeply hierarchical 
> and this hierarchy is also the best example of the "inheritance-maze".
>
> But thinking theoretically I could not imagine if Traits makes it 
> really easier to understand the code or disentangles the 
> "inheritance-maze" somewhat or not.
>
> Furthermore this Collection hierarchy is already there! It is my 
> assumption, that unless I program a similar hierarchical monster like 
> Collections I don't gain much from Traits. I even fear that Traits may 
> lure into programming hierarchical, where a flat structure combined 
> with the normal composition would be the better way to go.
>
> Conclusion: It is surely the right thing to produce somehow an image 
> with Traits, be it the "Berne edition" as a recurring fork or not, so 
> that people can study Traits practically, doing actually a project 
> with Traits.
>
> And then we should hope for an open discussion.
>
> Regards,
> Martin
>
>
> Nathanael Schärli wrote:
>> Hi Göran and all
>>> ... and if we hurry up we might be able to get this included
>>> in 3.9 or else it will be in 4.0 - but that doesn't really matter, 
>>> now does it? Because the above steps seems something we *do* need to 
>>> do.
>>>
>>> Ok, just a suggestion - how does that sound? Stef? Nathanael?
>> I fully agree with you. It's very important to make sure that Traits 
>> (as
>> all the other major tools/improvements) are made available (at least 
>> as
>> a beta) so that the "evaluation crew" (and anyone else who is
>> interested) can see it and decide whether it should go into the image.
>> Therefore, I also agree with Goran that following this process is
>> something we do need to do and if that means that it will postpone it 
>> to
>> Squeak 4.0 rather than 3.9, so be it.
>> But at the same time, I can also understand Stef's concerns. Pushing
>> traits ahead means a lot of work for him and his students (such as
>> Adrian and me ;-). And because traits have a fair amount of 
>> dependencies
>> on the kernel, it requires a lot of work just to keep it compatible 
>> with
>> each new version of Squeak. So, I can really see why he would like to
>> have it to be in the image as soon as possible.
>> What makes this worse is that some people really do not understand the
>> difference between research and improving Squeak for the community
>> (which we are of course also part of)! When we invented traits three
>> years ago, this was exciting research and that's why we implemented a
>> prototype that allowed us to do all the cool experiments that were
>> necessary from a scientfic point of view. But this is where the 
>> research
>> aspect ended and we could have stopped right there without loosing
>> anything as far as fun and research is concerned. However, we didn't
>> because we thought that traits could be a very useful improvement for
>> the Squeak language and we wanted to make it available to the 
>> community.
>> This is why we went throught the hassle of cleaning the kernel and
>> implementing a clean version of traits on top of it, even though this
>> was really "boring engineering work" and was taking away time that we
>> could spend on cooler stuff!
>> Regarding all this (and knowing Stef's French spirit ;-), even I (a
>> "nice" and calm Swiss) can somehow understand that Stef freaks out 
>> when
>> he reads that traits are a "research item" that only serves the 
>> purpose
>> of satisfying the urges of some academics.
>> As a last point, I would like to say that I somtimes wish that people
>> would be a bit more open-minded regarding their judgments of
>> improvements to the Smalltalk language. I think it is very important 
>> to
>> keep in mind that humans have a tendency to idealize what they are 
>> used
>> to, simply because this is what they know.
>> Cheers,
>> Nathanael
>
>




More information about the Squeak-dev mailing list