[squeak-dev] 4.5 -- how should we proceed then?

Chris Muller asqueaker at gmail.com
Mon Dec 23 21:43:25 UTC 2013


>> But hey, if you guys want to lurch back to 2002 and your code repeat
>> itself over and over again with ^self basicNew initializeWith... or
>> ^self basicNew initialize in every constructor, go right ahead.
>> There's nothing like "standards" especially when there are so many to
>> choose from, huh?
>
> Do you mean "initialize" or "initializeWithSomething" in the "in every
> constructor" part? Because as has been said a few times, _you don't
> call initialize all over the place_. You call it _once_, from your
> #initializeWith:all:the:things:.

But there are initializeWith:all:the:things: method in each class
(that have parameterized constructors).  You don't get call that
"once".  "Once" means, truly, just _ONCE_ for all classes.  Uno.  From
Behavior>>#new.

"Once per class" is exactly what I mean by, "from all over the place".
 It denies to newbies reading class-side Constructor Methods that we
have resolved this issue about how default values of inst-vars (not
constructor parameters) should be initialized.

> It would be a very sad state of affairs if best practice didn't ever
> improve!

It's obvious you don't know me well when you think you have to tell me
that.  I'm the most rebellious one here..  :)

> And I view the basicNew initializeWith: idiom _as_ an
> improvement, because it makes it clear that you have, halfway through
> the process, a semi/uninitialised object. If I could, I'd get rid of
> setters entirely, and you could only ever construct a valid object.

You mention setters again but a Constructor Parameter Method is no
more a "setter" than a #printString is an "accessor".

Smalltalk's simplicity and unity means we have to rely more on
_conventions_, rather than language constructs, to delineate our
pattern language.

> Smalltalk just doesn't work that way, and you can only set instvars
> through setting a message, so I make do with the closest I can get:
> basicNew initializeWith:.
>
>> I just want to make progress on 4.5.  Am I the only one?  Now I feel
>> handcuffed -- so what now?
>
> I can sympathise with your feelings of frustration. What stops you
> from simply doing other stuff on 4.5? There's oodles to do. I wouldn't
> mind some playing with Monticello-fbs.581 in the Inbox: getting that
> working will also flush out Environment bugs.

My interest in is in getting the 4.5 _release_ done ASAP.  The only
tests which are faliing at this point seem to be the Environments ones
and a couple of Obsolete classes I think.  That's what led me here.


More information about the Squeak-dev mailing list