@Chris, That sounds like a balance response. Its also been a while since I read it, and probably time I read it again and to have a play with slots (although last I heard it wasn't ready for prime time to do everything in the paper.) While the cognitive load might go up, I don't think its necessarily exponential. They way I think about it (blurred since I last read the paper) is that the assignment operator sort-of becomes a message send that you can redefine, and the slots are like mini-classes with limited scope - so there is a reuse of concepts. The complexity for grandma will all come down to the discoverability build into the tools - like how debugging interacts with slots. I don't think (and hope) it won't be much harder than learning to work with both an instance & class-side, and the difference between instance, class, class-instance and pool variables.
On Mon, Jan 12, 2015 at 5:50 AM, Chris Muller <asquea...@gmail.com> wrote: > It has been a while since I read the paper, but my memory is that > Slots lets you define features and/or constraints on inst-var's. For > example, assigning default values or restricting the set of valid > values. > > This would probably be appealing for folks coming from languages like > Java or C++, because they're used to all of their "slots" being > statically typed. It does seem ironic that where those static > languages have been trying to move toward being more dynamic, Pharo > newbies would find themselves arrived at a language which is trying to > make something that was purely dynamic into something more static. > > My understanding is that specifying a certain Slot-type can save the > need to write, i.e., initializing or validating methods. In exchange, > the number of concepts inherent in the language that must be learned > and remembered is increased. Standard Smalltalk is only about 2 or 3 > concepts -- sending messages and assigning pointers. Period. There's > something exciting about that because even Grandma can grok 2 or 3 > concepts. No other language is so simple. > > By introducing the implicit behaviors of slots, the number of > different conceptual interactions between code and the slots it > references increases exponentially with the number of slot-types. I > fear trying to explain them to Grandma will have her eyes starting to > glaze... > > PS -- I hope no one would characterize me as "violently" against > slots. It may simply be my own ignorance.. > > On Fri, Jan 9, 2015 at 1:50 PM, Eliot Miranda <eliot.mira...@gmail.com> > wrote: > > > > > > On Fri, Jan 9, 2015 at 11:47 AM, Marcus Denker <marcus.den...@inria.fr> > > wrote: > >> > >> > >> > On 09 Jan 2015, at 16:45, Eliot Miranda <eliot.mira...@gmail.com> > wrote: > >> > > >> > Hi Marcus, > >> > > >> > > >> > P.S. Maybe now Slots are ready for stealing by Squeak ;-) > >> > >> Everything I ever did for Pharo I wanted to do for Squeak… but I could > not > >> because > >> someone was violently against it. > > > > > > We will heal. It may take a long time, but we will. And things are > going > > great right now, especially for Pharo. So I hope that your pain will > ease > > and that one day you will be free of it. Hugs, and happy new year. And > > thanks for Slots and Opal and all the other wonderful things you do. > > > >> Marcus > >> > >> > > > > > > > > -- > > best, > > Eliot > >