feedback needed on tooDangerousClasses changes

Alejandro F. Reimondo aleReimondo at smalltalking.net
Sun Oct 16 10:27:24 UTC 2005


Hi,

>      "Return a list of class names which will not be modified in the
> public interface"

Why return the names and not the classes?
If there is some "interesting" instances of Behavior, the instances
 are to be returned and not their names, because names have
 meaning in a context.
Working on names also inhibit the use of tools like references.

Please consider the convenience to add methods that has not been
 used for a long time, or methods that are product of "preventive
 refactoring".

The comment (the most important part of a message)
 also refers to a "public interface".
Is there such a montser in current (or planned) Squeak release?
If class "Interface" is not present, please evade naming it in
 comments becasuse it bring confusion about the real
 convenience of it's existence.
 (it it really exists please name it if have a role as an
 argument in the message)

And on implementation...
Why to put the results in a literal?
Why not to implement it in a collection? (capable to
 be modified by tools whitout writing source code)

This kind of messages and implementations present in Squeak (and
 other Smalltalks) are one of the most inhibitors of advances in
 Object Technology (in my opinion).
The use and promotion of Smalltalk as a language and the
 proliferation of formal models inside an ambience as a result
 of planning and not as a concecuence/subproduct of evolution
 inhibit people to get experience in object ambiences (complement
 formal-ism with non-formal activities).

cheers,
Ale.





----- Original Message ----- 
From: "stéphane ducasse" <ducasse at iam.unibe.ch>
To: "The general-purpose Squeak developers list"
<squeak-dev at lists.squeakfoundation.org>
Sent: Sunday, October 16, 2005 3:22 PM
Subject: feedback needed on tooDangerousClasses changes


> Hi
>
> I need feedback on the changes of daniel on tooDangerousClasses in
> ClassBuilder.
> To test simply
> What I did was to add an instance variable to Behavior at the end of
> the instance variable list and it did not crash
> just recompiled the complete image.
>
>
> Name: Kernel-dvf.36
> Author: dvf
> Time: 27 September 2005, 3:34:50 pm
> UUID: 6e9f8d6d-873c-4e19-9b63-3096f9d01141
> Ancestors: Kernel-md.34
>
> Behavior actually can be redefined, as long as one doesn't move some
> of its first instance variables. ProtoObject, OTOH, probably can't be.
>
>
> tooDangerousClasses
>      "Return a list of class names which will not be modified in the
> public interface"
>      ^#(
>          "Object will break immediately"
>          ProtoObject Object        "was Object"
>          "Contexts and their superclasses"
>          InstructionStream ContextPart BlockContext MethodContext
>          "Superclasses of basic collections"
>          Collection SequenceableCollection ArrayedCollection
>          "Collections known to the VM"
>          Array Bitmap String Symbol ByteArray CompiledMethod
> TranslatedMethod
>          "Basic Numbers"
>          Magnitude Number SmallInteger Float
>          "Misc other"
>          LookupKey Association Link Point Rectangle
> PositionableStream UndefinedObject
>          "was LookupKey Association Link Point Rectangle Behavior
> PositionableStream UndefinedObject"
>      )
>
> I imagine that this is needed for trait refactoring.
>
> Stef
>




More information about the Squeak-dev mailing list