Am 31.01.2014 um 20:50 schrieb Pharo4Stef <[email protected]>:

> 
> 
>>> Hi Torsten,
>>> 
>>> I think it is a design decision / tradeoff, and therefore there is no 
>>> fundamentally "right way" to do it. For me, it is the same case as the 
>>> uses: message for Traits. It's not in the template by default because it is 
>>> used very infrequently. So for language simplicity it should not be there. 
>>> For me, simplicity is one of the core points of Smalltalk so this is why I 
>>> feel strongly about it.
>> 
>> I don’t see how this change make Smalltalk (the language) simpler. For me 
>> this change looks more like an obfuscation than a simplification.
> 
> How many lectures did you give? It is annoying to have to explain something 
> that usually people do not need to know.
I don’t give any lectures to students but I often try to „teach“ Smalltalk to 
some of my colleagues and friends. And with that I have hard times.
Typically „experienced“ software developers think about themselves as being 
experts in object orientation and programming languages,
even if they have only experiences with C, C# and C++. „Teaching“ them about 
Smalltalk’s idea of object orientation is VERY hard, almost
impossible because they already know everything (read: they are ignorant) and 
lazy. I guess there are some similarities to students.
So, no I don’t teach but have my own problems ;-)

> 
>>> When I say "very infrequently", this is of course a fuzzy metric, I know. 
>>> And I understand that you do not agree with this design decision.
>>> 
>>> But on the other hand, I don't think that it is too hard to remember where 
>>> to add the pooldictionaries: line if you need it, and the old message with 
>>> this line still works, so all old examples still work. 
>> 
>> How should newcomers know how to enter pool dictionaries? I rarely use pool 
>> dictionaries and if I will need it I surely have forgotten about
>> this change and expect irritation and frustration.
> 
> Newcomers do not use pooldictionaries. In 10 years smalltalking I used them 
> twice.
Newcomers don’t use a lot of things but that should not be a reason to hide 
them. In my experience newcomers need guidance and rules but
„oldtimers“ need freedom. This is one of the reasons I really enjoy dynamic 
typing and Smalltalk. I don’t like to obey to artificial rules that only
put permanent burden to me in order to protect me from something I might do 
wrong sometimes.

At the moment I am considering pool dictionaries for a solution of a problem at 
hand: I need to collect some information (warnings, errors, and reports) over 
lots of related and unrelated classes. For the moment I have parameters, but 
that is getting inconvenient with a growing number of things to collect…
So, if you need something it should be there and not necessarily obscured and 
hidden! 

>> 
>> So, a -1 for this change from my side.
> 
> We just need a full class template menu item.
Yes, but it’s not there yet but this change already took away some power 
without giving me back something in exchange!
I am able to ignore some parts of class creation message easily (I also don’t 
use class variables that often) and I don’t see why students
shouldn’t be able, too. Quite contrary I think if you hide these things from 
students they won’t see it, won’t get curious and in the end will only
learn the boring parts of Smalltalk…


Regards,
Andreas

Reply via email to