links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Allen point
Last updated at 2:40 pm UTC on 16 January 2006
Simply as an intellectual exercise (as I belive the inclusion of {}'s in
Squeak is firmly established) I thought some of you might find interesting
the arguments made against {} during the ANSI Smalltalk process.

1) {}'s encourage poor object-oriented programming style. Our experience
has shown that many situations where dynamically constructed arrays are
returned from a method, the programmer really should have defined a new
class to represent the result. (See
http://www.smalltalksystems.com/publications/misuse_of_arrays.doc (requires
MS Word)) In this regard, {}'s are an attractive nuisance, particularly for
novice programmer who should be learning to define new abstractions rather
than using arrays.

2) The most common reasonable use of {}'s seems to be in grouping a set of
similar items to be passed as a single method argument. This is really just
a poor man's way to implement a variable length method argument list. There
are interesting proposals that have been made for adding variable length
argument lists to Smalltalk. If one of these were implemented, the more
general {} construct would not be needed.