Using traits in Squeak / Seaside - Advice sought

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Using traits in Squeak / Seaside - Advice sought

Sophie424
I will be doing some development in Squeak 3.9 / Seaside (I have played with
Squeak before, this time it will be RealWork). I like the idea of using
traits, but have no actual hand-on usage experience.

Should I use traits in my work?
Know of any real deployed projects that have used traits to good effect?
Do the tools manage the cost of all the finer-grained bits, debugging, etc?
Are there any best practices I could look at?
Will using traits affect (a) possible port to VW? (b) possible use of
Gemstone/S?

Thanks!



_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Using traits in Squeak / Seaside - Advice sought

Philippe Marschall
2007/9/14, itsme213 <[hidden email]>:
> I will be doing some development in Squeak 3.9 / Seaside (I have played with
> Squeak before, this time it will be RealWork). I like the idea of using
> traits, but have no actual hand-on usage experience.
>
> Should I use traits in my work?

What is your work?

> Know of any real deployed projects that have used traits to good effect?

Only on a very small base, 2 or 3 traits.

> Do the tools manage the cost of all the finer-grained bits, debugging, etc?

Debugging is not a problem. The problem is that the code browser and
Monticello are only 80% there, RB is not trait aware, ....

> Are there any best practices I could look at?
> Will using traits affect (a) possible port to VW? (b) possible use of
> Gemstone/S?

You mean because they don't support traits? Yes of course. But you can
always flatten the traits. Then you'll "only" have to deal with the
real portability problems which are big enough.

Cheers
Philippe

> Thanks!
>
>
>
> _______________________________________________
> Seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Using traits in Squeak / Seaside - Advice sought

Kevin Driedger-2
Sounds like you should also consider Sport if portability is a real
possibility in the future....
http://groups.google.com/group/comp.lang.smalltalk/browse_thread/thread/5eba38351042f67e/0f35dbacbdf8f47d?lnk=raot

]{evin

Philippe Marschall wrote:

> 2007/9/14, itsme213 <[hidden email]>:
>  
>> I will be doing some development in Squeak 3.9 / Seaside (I have played with
>> Squeak before, this time it will be RealWork). I like the idea of using
>> traits, but have no actual hand-on usage experience.
>>
>> Should I use traits in my work?
>>    
>
> What is your work?
>
>  
>> Know of any real deployed projects that have used traits to good effect?
>>    
>
> Only on a very small base, 2 or 3 traits.
>
>  
>> Do the tools manage the cost of all the finer-grained bits, debugging, etc?
>>    
>
> Debugging is not a problem. The problem is that the code browser and
> Monticello are only 80% there, RB is not trait aware, ....
>
>  
>> Are there any best practices I could look at?
>> Will using traits affect (a) possible port to VW? (b) possible use of
>> Gemstone/S?
>>    
>
> You mean because they don't support traits? Yes of course. But you can
> always flatten the traits. Then you'll "only" have to deal with the
> real portability problems which are big enough.
>
> Cheers
> Philippe
>
>  
>> Thanks!
>>
>>
>>
>> _______________________________________________
>> Seaside mailing list
>> [hidden email]
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>
>>    
> _______________________________________________
> Seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
>  

_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Using traits in Squeak / Seaside - Advice sought

Sophie424
In reply to this post by Philippe Marschall
>> Should I use traits in my work?
>
> What is your work?

A tool for software architects, in which I think I see several places where
trait-like structuring could be useful.

>> Know of any real deployed projects that have used traits to good effect?
>
> Only on a very small base, 2 or 3 traits.

That is quite useful to know, though I was hoping otherwise.

>> Do the tools manage the cost of all the finer-grained bits, debugging,
>> etc?
>
> Debugging is not a problem. The problem is that the code browser and
> Monticello are only 80% there, RB is not trait aware, ....

Ah, also most useful to know. I wanted to use traits more than build up the
tooling for it.

>> Will using traits affect (a) possible port to VW? (b) possible use of
>> Gemstone/S?
>
> You mean because they don't support traits? Yes of course.

All in all sounds like it may not be quite ready yet. Thank you very much
for the input..



_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Re: Using traits in Squeak / Seaside - Advice sought

Philippe Marschall
2007/9/14, itsme213 <[hidden email]>:

> >> Should I use traits in my work?
> >
> > What is your work?
>
> A tool for software architects, in which I think I see several places where
> trait-like structuring could be useful.
>
> >> Know of any real deployed projects that have used traits to good effect?
> >
> > Only on a very small base, 2 or 3 traits.
>
> That is quite useful to know, though I was hoping otherwise.
>
> >> Do the tools manage the cost of all the finer-grained bits, debugging,
> >> etc?
> >
> > Debugging is not a problem. The problem is that the code browser and
> > Monticello are only 80% there, RB is not trait aware, ....
>
> Ah, also most useful to know. I wanted to use traits more than build up the
> tooling for it.
>
> >> Will using traits affect (a) possible port to VW? (b) possible use of
> >> Gemstone/S?
> >
> > You mean because they don't support traits? Yes of course.
>
> All in all sounds like it may not be quite ready yet. Thank you very much
> for the input..

Besides the tool issues there are other issues as well. There is
somewhere a bug in ClassBuilder and every trait in the image ends up
with each user twice. Also copy class doesn't work correctly for
traits. It's likely that there are more bugs like this.

Cheers
Philippe
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Re: Using traits in Squeak / Seaside - Advice sought

Adrian Lienhard

On Sep 15, 2007, at 08:29 , Philippe Marschall wrote:
>
> Besides the tool issues there are other issues as well. There is
> somewhere a bug in ClassBuilder and every trait in the image ends up
> with each user twice.

That's wrong. New traits don't have multiple users. There are  
existing traits in the image that have multiple users. They must have  
got there during the 3.9 process. How that happened has not been  
found out (as Philippe noted, its potentially a bug in the  
ClassBuilder). As said earlier, rehashing those sets gets rid of the  
duplicates.

> Also copy class doesn't work correctly for
> traits.

The problem here is that also methods from traits are copied, but  
like the bug above, its not a show stopper.

> It's likely that there are more bugs like this.

Right, but we woun't find them if we wait using traits. In my  
oppinion, the implementation of traits is stable enough for real use.  
I mean, part of the Squeak kernel is implemented with traits...  
Rather a limiting factor is UI support. Although various pleople have  
been working traits aware tools and extensions, there is missing a  
coherent and maintained package.

Adrian
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Re: Using traits in Squeak / Seaside - Advice sought

Philippe Marschall
2007/9/17, Adrian Lienhard <[hidden email]>:

>
> On Sep 15, 2007, at 08:29 , Philippe Marschall wrote:
> >
> > Besides the tool issues there are other issues as well. There is
> > somewhere a bug in ClassBuilder and every trait in the image ends up
> > with each user twice.
>
> That's wrong. New traits don't have multiple users. There are
> existing traits in the image that have multiple users. They must have
> got there during the 3.9 process. How that happened has not been
> found out (as Philippe noted, its potentially a bug in the
> ClassBuilder). As said earlier, rehashing those sets gets rid of the
> duplicates.
>
> > Also copy class doesn't work correctly for
> > traits.
>
> The problem here is that also methods from traits are copied, but
> like the bug above, its not a show stopper.
>
> > It's likely that there are more bugs like this.
>
> Right, but we woun't find them if we wait using traits.

It's just the question whether you want to be the one who spots them
in your production project and wait for a fix.

Philippe

> In my
> oppinion, the implementation of traits is stable enough for real use.
> I mean, part of the Squeak kernel is implemented with traits...
> Rather a limiting factor is UI support. Although various pleople have
> been working traits aware tools and extensions, there is missing a
> coherent and maintained package.
>
> Adrian
> _______________________________________________
> Seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Re: Using traits in Squeak / Seaside - Advice sought

stephane ducasse
But philippe none of the "bugs" you mentioned is a runtime problem.  
At runtime traits do not exist.
Damien worked 5 months full time with traits and everything worked well.
So using traits is the only way to make them real. I will try to  
allocate some times, investigating the problems.
The tools are improving too but with no user then people doing them  
will be

Stef

On 17 sept. 07, at 09:15, Philippe Marschall wrote:

> 2007/9/17, Adrian Lienhard <[hidden email]>:
>>
>> On Sep 15, 2007, at 08:29 , Philippe Marschall wrote:
>>>
>>> Besides the tool issues there are other issues as well. There is
>>> somewhere a bug in ClassBuilder and every trait in the image ends up
>>> with each user twice.
>>
>> That's wrong. New traits don't have multiple users. There are
>> existing traits in the image that have multiple users. They must have
>> got there during the 3.9 process. How that happened has not been
>> found out (as Philippe noted, its potentially a bug in the
>> ClassBuilder). As said earlier, rehashing those sets gets rid of the
>> duplicates.
>>
>>> Also copy class doesn't work correctly for
>>> traits.
>>
>> The problem here is that also methods from traits are copied, but
>> like the bug above, its not a show stopper.
>>
>>> It's likely that there are more bugs like this.
>>
>> Right, but we woun't find them if we wait using traits.
>
> It's just the question whether you want to be the one who spots them
> in your production project and wait for a fix.
>
> Philippe
>
>> In my
>> oppinion, the implementation of traits is stable enough for real use.
>> I mean, part of the Squeak kernel is implemented with traits...
>> Rather a limiting factor is UI support. Although various pleople have
>> been working traits aware tools and extensions, there is missing a
>> coherent and maintained package.
>>
>> Adrian
>> _______________________________________________
>> Seaside mailing list
>> [hidden email]
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>
> _______________________________________________
> Seaside mailing list
> [hidden email]
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>

_______________________________________________
Seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside