Do you think that squeak is long overdue for a Refactoring only pass.

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

Do you think that squeak is long overdue for a Refactoring only pass.

Jerome Peace
Squeak has had a lot on its plate. And as Marcus and
Stef deliver 3.9 with a lot of good features, it would
be good to let Squeak take time for digestion.

The goal of a refactoring pass is that no behaviour is
changed and definitely no new features added. The code
is rearranged to make more sense organizationally. And
methods that now carry the kitchen sink along with
them get to put the sink back in the kitchen where it
belongs.

As I try to learn squeak by bug hunting, I am
recongizing a lot of bugs are there because of
confusion on the part of the would be maintainer. More
over I am seeing a lot of code that is hard to track
and easy to get confused by. In otherwords hard to
maintain.

A breather would be in order.

The smell detecters should be brought out of moth
balls. The cobwebs cleaned from the attic, the rugs
taken out an beaten. The windows cleaned and opened so
everything can be aired out.

It could be just a short iteration. The code needs it.
It would work the same at the end as it did at the
beginning and we would have a cleaner base from which
to add our new improvements.

Yours in service,

Jerome Peace

Addenda: If you will look at Mantis #0002568: How much
should warpblt inherit from BitBlt??? You will see
where this is coming from and why it is necessary.

Also: What would be really nice IMHO would be to
follow this with a short pass dedicated to just the
bug fixes that will have accumulated as we stuck to
the discipline of a refactoring pass.



__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around
http://mail.yahoo.com 

Reply | Threaded
Open this post in threaded view
|

Re: Do you think that squeak is long overdue for a Refactoring only pass.

Cees De Groot
On 1/24/06, Peace Jerome <[hidden email]> wrote:
> The smell detecters should be brought out of moth
> balls. The cobwebs cleaned from the attic, the rugs
> taken out an beaten. The windows cleaned and opened so
> everything can be aired out.
>
Yup. Personally, I think:
- Start refactoring Collections and Morphic using Traits - I think
these two packages have a lot of code duplication all over the place
that could be neatly cleaned up in that way;
- Junk Etoys (SqueakLand has made it abundandly clear they're not
interested in us maintaing Etoys; we need to see whether it makes
sense to maintain a separate Etoys just for Smalland(?));
- Bring all unit tests to green. All of them (so junk that SUnit unit
test that is supposed to give red - green is green, not 'all green but
one red and you have to check every time whether it is that Sunit
test'). I can start running Squeak's on Fire to support that process.
- Refactor mercilessly and take no prisoners.

In fact, all of that could be done during 3.9b. After all, refactoring
is not changing behavior, by definition :-).

Reply | Threaded
Open this post in threaded view
|

Re: Do you think that squeak is long overdue for a Refactoring only pass.

stéphane ducasse-2
In reply to this post by Jerome Peace

On 24 janv. 06, at 01:56, Peace Jerome wrote:

> Squeak has had a lot on its plate. And as Marcus and
> Stef deliver 3.9 with a lot of good features, it would
> be good to let Squeak take time for digestion.

Indeed we plan to arrive in beta soon after the annotations get in.
Currently there are some discussions to have them compatible
with VW without breaking the one of Tweak.
This would make the life of Seasider easier and as the one of VW
are good copying and be compatible would be nice to have.

> The goal of a refactoring pass is that no behaviour is
> changed and definitely no new features added. The code
> is rearranged to make more sense organizationally. And
> methods that now carry the kitchen sink along with
> them get to put the sink back in the kitchen where it
> belongs.
>
> As I try to learn squeak by bug hunting, I am
> recongizing a lot of bugs are there because of
> confusion on the part of the would be maintainer. More
> over I am seeing a lot of code that is hard to track
> and easy to get confused by. In otherwords hard to
> maintain.
>
> A breather would be in order.
>
> The smell detecters should be brought out of moth
> balls. The cobwebs cleaned from the attic, the rugs
> taken out an beaten. The windows cleaned and opened so
> everything can be aired out.
>
> It could be just a short iteration. The code needs it.
> It would work the same at the end as it did at the
> beginning and we would have a cleaner base from which
> to add our new improvements.
>
> Yours in service,
>
> Jerome Peace
>
> Addenda: If you will look at Mantis #0002568: How much
> should warpblt inherit from BitBlt??? You will see
> where this is coming from and why it is necessary.
>
> Also: What would be really nice IMHO would be to
> follow this with a short pass dedicated to just the
> bug fixes that will have accumulated as we stuck to
> the discipline of a refactoring pass.
>
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
>


Reply | Threaded
Open this post in threaded view
|

Re: Do you think that squeak is long overdue for a Refactoring only pass.

stéphane ducasse-2
In reply to this post by Cees De Groot
> Yup. Personally, I think:
> - Start refactoring Collections and Morphic using Traits - I think
> these two packages have a lot of code duplication all over the place
> that could be neatly cleaned up in that way;

I would not so that people do not feel prisoner of traits.
Our goal is not to impose traits.

> - Junk Etoys (SqueakLand has made it abundandly clear they're not
> interested in us maintaing Etoys; we need to see whether it makes
> sense to maintain a separate Etoys just for Smalland(?));

Indeed

> - Bring all unit tests to green. All of them (so junk that SUnit unit
> test that is supposed to give red - green is green, not 'all green but
> one red and you have to check every time whether it is that Sunit
> test'). I can start running Squeak's on Fire to support that process.

I would like that!


> - Refactor mercilessly and take no prisoners.
>
> In fact, all of that could be done during 3.9b. After all, refactoring
> is not changing behavior, by definition :-).

We should not. We are exhausted and we should soon step back and
only look at fixes.

Stef
>
>


Reply | Threaded
Open this post in threaded view
|

Re: Do you think that squeak is long overdue for a Refactoring only pass.

Cees De Groot
On 1/24/06, stéphane ducasse <[hidden email]> wrote:
> I would not so that people do not feel prisoner of traits.
> Our goal is not to impose traits.
>
Well, I think that if it's there, we should use it. Two of the larger
class libraries can benefit tremendously from Traits. What would be a
reason *not* to use it?


> We should not. We are exhausted and we should soon step back and
> only look at fixes.
>
Ok. That's the team's call, of course :-)

Reply | Threaded
Open this post in threaded view
|

Vote on refactoring collections to use traits

Tony Garnock-Jones-2
Personally, I'd love to see traits integrated and used to refactor core
things like the collections library. There've been a lot of negative
comments made about the idea, and few positive ones - I've added a vote
on http://de-1.tric.nl/seaside/sqp/list for it. Please, everybody who
would like to see this happen, vote!

(Aside: why do I have no vote budget? I suppose it's because I only just
created my sqp account?)

Tony


Cees De Groot wrote:

> On 1/24/06, stéphane ducasse <[hidden email]> wrote:
>> I would not so that people do not feel prisoner of traits.
>> Our goal is not to impose traits.
>>
> Well, I think that if it's there, we should use it. Two of the larger
> class libraries can benefit tremendously from Traits. What would be a
> reason *not* to use it?
>
>
>> We should not. We are exhausted and we should soon step back and
>> only look at fixes.
>>
> Ok. That's the team's call, of course :-)
>
>


--
 [][][] Tony Garnock-Jones     | Mob: +44 (0)7905 974 211
   [][] LShift Ltd             | Tel: +44 (0)20 7729 7060
 []  [] http://www.lshift.net/ | Email: [hidden email]

Reply | Threaded
Open this post in threaded view
|

Re: Vote on refactoring collections to use traits

Cees De Groot
On 1/24/06, Tony Garnock-Jones <[hidden email]> wrote:
> (Aside: why do I have no vote budget? I suppose it's because I only just
> created my sqp account?)
>
Yup. You need to convince people that you're a nice, hardworking guy
so they certify you as something above "Observer", which - as the term
says - is seen as someone who is not really in the community, more
observing it, so you don't get a lot of rights as Observer on
SqueakPeople...

As soon as you get raised to Apprentice (any moment now), you'll have votes.

Reply | Threaded
Open this post in threaded view
|

Re: Vote on refactoring collections to use traits

Frank Caggiano
If you click on the 'Create New' you get the form to create a new  
issue. A new issue is created even if you do not click the 'submit'  
button on the new issue form.

Also it appears that my vote budget is zero even though I'm  
currently certified at Journeyer level.

regards

------------------------
Frank Caggiano
frankcag at crystal-objects dot com
http://www.crystal-objects.com

The best education for the best is the best education for all.
                     Robert Maynard Hutchins



Reply | Threaded
Open this post in threaded view
|

Re: Vote on refactoring collections to use traits

Cees De Groot
Thanks for the feedback, Frank - I'll look into it tonight.

On 1/24/06, Frank Caggiano <[hidden email]> wrote:
> If you click on the 'Create New' you get the form to create a new
> issue. A new issue is created even if you do not click the 'submit'
> button on the new issue form.
>
That neatly explains all the extra entries I've been wondering about :-)

> Also it appears that my vote budget is zero even though I'm
> currently certified at Journeyer level.
>
You should have 10 votes as Journeyer. You haven't voted already? Is
it ok if I login under your account to check?

Reply | Threaded
Open this post in threaded view
|

Re: Vote on refactoring collections to use traits

Frank Caggiano

On Jan 24, 2006, at 10:03, Cees De Groot wrote:

> Thanks for the feedback, Frank - I'll look into it tonight.
>
> On 1/24/06, Frank Caggiano <[hidden email]> wrote:
>> If you click on the 'Create New' you get the form to create a new
>> issue. A new issue is created even if you do not click the 'submit'
>> button on the new issue form.
>>
> That neatly explains all the extra entries I've been wondering  
> about :-)
>
>> Also it appears that my vote budget is zero even though I'm
>> currently certified at Journeyer level.
>>
> You should have 10 votes as Journeyer. You haven't voted already? Is
> it ok if I login under your account to check?
>

No, haven't voted yet.  Sure go ahead and do what you need to do to  
check it out.


------------------------
Frank Caggiano
frankcag at crystal-objects dot com
http://www.crystal-objects.com

The best education for the best is the best education for all.
                     Robert Maynard Hutchins



Reply | Threaded
Open this post in threaded view
|

Re: Do you think that squeak is long overdue for a Refactoring only pass.

stéphane ducasse-2
In reply to this post by Cees De Groot

On 24 janv. 06, at 14:04, Cees De Groot wrote:

> On 1/24/06, stéphane ducasse <[hidden email]> wrote:
>> I would not so that people do not feel prisoner of traits.
>> Our goal is not to impose traits.
>>
> Well, I think that if it's there, we should use it. Two of the larger
> class libraries can benefit tremendously from Traits. What would be a
> reason *not* to use it?

- (1) Not a technical one, but I do not want to give the impression that
we want to go fast and crazy.

- (2) finish 3.9 :)

- (3) and release our pressure..... :)

- (4) rest a bit

>> We should not. We are exhausted and we should soon step back and
>> only look at fixes.
>>
> Ok. That's the team's call, of course :-)

:)


Reply | Threaded
Open this post in threaded view
|

Re: Do you think that squeak is long overdue for a Refactoring only pass? -- Morphic

dpharris
In reply to this post by stéphane ducasse-2
stéphane ducasse wrote:

>> Yup. Personally, I think:
>> - Start refactoring Collections and Morphic using Traits - I think
>> these two packages have a lot of code duplication all over the place
>> that could be neatly cleaned up in that way;
>
>
> I would not so that people do not feel prisoner of traits.
> Our goal is not to impose traits.

But could we not revert back just by flattening the Traits version?  It
would seem to be a good excercise anyway.  Morphic is (said) to be due
for a rewrite, and Traits would appear to be a good method, and the
effort would be a good trial of Traits.

David



Reply | Threaded
Open this post in threaded view
|

Re: Do you think that squeak is long overdue for a Refactoring only pass? -- Morphic

stéphane ducasse-2

On 24 janv. 06, at 20:48, David P Harris wrote:

> stéphane ducasse wrote:
>
>>> Yup. Personally, I think:
>>> - Start refactoring Collections and Morphic using Traits - I think
>>> these two packages have a lot of code duplication all over the place
>>> that could be neatly cleaned up in that way;
>>
>>
>> I would not so that people do not feel prisoner of traits.
>> Our goal is not to impose traits.
>
> But could we not revert back just by flattening the Traits version?

yes we can :)

>   It would seem to be a good excercise anyway.  Morphic is (said)  
> to be due for a rewrite, and Traits would appear to be a good  
> method, and the effort would be a good trial of Traits.

Yes but as I said. We are responsible (or feel it) for 3.9 and we  
start to be exhausted.
Marcus should really focus on his PhD and I should slow down with  
harvesting. At the end of the day
I would like to code something fun :).
Or clean just for fun and let other deal with the mess of  
integrating, complains..... you see just
the fame, glory and fun. :)

Stef


Reply | Threaded
Open this post in threaded view
|

Re: Do you think that squeak is long overdue for a Refactoring only pass? -- Morphic

dpharris
stéphane ducasse wrote:

>
> On 24 janv. 06, at 20:48, David P Harris wrote:
>
>> stéphane ducasse wrote:
>>
>>>> Yup. Personally, I think:
>>>> - Start refactoring Collections and Morphic using Traits - I think
>>>> these two packages have a lot of code duplication all over the place
>>>> that could be neatly cleaned up in that way;
>>>
>>>
>>>
>>> I would not so that people do not feel prisoner of traits.
>>> Our goal is not to impose traits.
>>
>>
>> But could we not revert back just by flattening the Traits version?
>
>
> yes we can :)
>
>>   It would seem to be a good excercise anyway.  Morphic is (said)  to
>> be due for a rewrite, and Traits would appear to be a good  method,
>> and the effort would be a good trial of Traits.
>
>
> Yes but as I said. We are responsible (or feel it) for 3.9 and we  
> start to be exhausted.
> Marcus should really focus on his PhD and I should slow down with  
> harvesting. At the end of the day
> I would like to code something fun :).
> Or clean just for fun and let other deal with the mess of  
> integrating, complains..... you see just
> the fame, glory and fun. :)
>
> Stef

No, I fully appreciate the amount of work that goes into even
(supposedly) simple changes.  And I agree that a 'new' project should
wait for a recharge of energy.

While I can appreciate the big strokes of these discussions, my
knowledge of the insides of Squeak, and Morphic in particular, are
extremely weak.  I would like to help a rewriting of Morphic, but I am
afraid I would only slow it down with my learning curve.  Is there an
outline of how Morphic should be restructured -- that kind of
speculation is fun (maybe).

Again, thanks to you and Marcus.  I always found having to concentrate
on my PhD was a good way to stimulate other activities :-)

David




Reply | Threaded
Open this post in threaded view
|

Re: Do you think that squeak is long overdue for a Refactoring only pass.

Bryce Kampjes
In reply to this post by stéphane ducasse-2
st�Aiphane ducasse writes:
 > > Yup. Personally, I think:
 > > - Start refactoring Collections and Morphic using Traits - I think
 > > these two packages have a lot of code duplication all over the place
 > > that could be neatly cleaned up in that way;
 >
 > I would not so that people do not feel prisoner of traits.
 > Our goal is not to impose traits.

I agree that we should be cautious about introducing traits into
the base image however we should also have a few good examples
of traits use in the image for the rest of us to learn from.

The image has always been an important source of documentation
and examples in the Smalltalk world. We do need some widely
shared traits examples.

Bryce

Reply | Threaded
Open this post in threaded view
|

Re: Vote on refactoring collections to use traits

Cees De Groot
In reply to this post by Frank Caggiano
On 1/24/06, Frank Caggiano <[hidden email]> wrote:
> Also it appears that my vote budget is zero even though I'm
> currently certified at Journeyer level.
>
That happens if you login as 'frankcag', which is an alias to
'FrankCag', the real account. Apparently my data model reader isn't
completely bugfree, yet.

Reply | Threaded
Open this post in threaded view
|

Re: Vote on refactoring collections to use traits

Cees De Groot
In reply to this post by Frank Caggiano
On 1/24/06, Frank Caggiano <[hidden email]> wrote:
> If you click on the 'Create New' you get the form to create a new
> issue. A new issue is created even if you do not click the 'submit'
> button on the new issue form.
>
And I think I patched that one as well. With code that cries for
refactoring, but i'll leave that for when I have more time...

Reply | Threaded
Open this post in threaded view
|

Re: Vote on refactoring collections to use traits

Darius Clarke
>> If you click on the 'Create New' you get the form to create a new
>> issue. A new issue is created even if you do not click the 'submit'
>> button on the new issue form.
>>
>That neatly explains all the extra entries I've been wondering about :-)

Seems more like a timeout issue to me because I did submit the one that became blank and it had text.

I, too, don't have my Apprentice level votes.