Hi,

I'd like to draw your attention to something else: consistency.

I remember the days when Cincom added Namespaces to classes and the class definition template changed drastically. It took me quite a while to get used to that. And there is this other aspect in the consistency field: most Smalltalk literature will include and address that line. If you learn Smalltalk, such small differences can cause trouble.

And what if I need PoolDictionaries? How hard will it be to find the place to add my reference to them? A fair amount of Pharo code may not make much use of PoolDictionaries, but other dialects do. I know Pharo has the concept of "never look back" and it is good to be prepared to cut off old strings. But there is a price to it.

Seaside, apart from being a great web framework, has achieved something that was excellent and helped the whole Smalltalk universe make a leap forward: all Smalltalk dialects moved closer together and honestly worked on being more compatible. Suggestions like this may not break much of this per se, but many such cracks make a wide canyon. I find the argument that a certain line of code may irritate students a bit weak. It may make their life harder once they read code from other dialects. Should we remove class browsers because students are used to use text editors?

Just my 2 cents

Joachim

Am 14.11.13 10:49, schrieb Martin Dias:
+10


On Tue, Nov 12, 2013 at 9:24 PM, Stéphane Ducasse
<stephane.duca...@inria.fr> wrote:
+1

On Nov 12, 2013, at 4:39 PM, Johan Fabry <jfa...@dcc.uchile.cl> wrote:

Hi all,

I am preparing slides for a course. I came to the typical:

Number subclass: #Complex
  instanceVariableNames: 'real imaginary'
  classVariableNames: ''
  poolDictionaries: ''
  category: 'ComplexNumbers'

Which made me think: Who uses poolDictionaries? I suspect extremely few of us.

Why not add this to Class:
Class>>subclass: aSymbol instanceVariableNames: instVarNames 
classVariableNames: classVarNames  category: aSymbol
^self  subclass: aSymbol
  instanceVariableNames: instVarNames
  classVariableNames: classVarNames
  poolDictionaries: ''
  category: aSymbol

And have the new class template as follows?

Object subclass: #NameOfSubclass
       instanceVariableNames: ''
       classVariableNames: ''
       category: 'Kernel-Classes'

It would be a bit cleaner. I know us old timers don't even see the  
poolDictionaries: line anymore, but I dislike having to explain it to students.

Greetings,

---> Save our in-boxes! http://emailcharter.org <---

Johan Fabry   -   http://pleiad.cl/~jfabry
PLEIAD lab  -  Computer Science Department (DCC)  -  University of Chile






--
-----------------------------------------------------------------------
Objektfabrik Joachim Tuchel          mailto:jtuc...@objektfabrik.de
Fliederweg 1                         http://www.objektfabrik.de
D-71640 Ludwigsburg                  http://joachimtuchel.wordpress.com
Telefon: +49 7141 56 10 86 0         Fax: +49 7141 56 10 86 1


Reply via email to