Re:Ask HN: Examples of elegant, non-trivial Smalltalk?
by bencoman71 on Friday July 29, 2016 @10:53AM
(#12187201)
Having said that, coming to Pharo from a C programming background, one area that for "a while" I found over complex was use of the visitor pattern and double-delegation. This was facilitated by Smalltalk's duck typing over static typing. It took me a while "to get my eye in." But then... the only programming languages worth learning are those that change the way you think about programming.
Re:Ask HN: Examples of elegant, non-trivial Smalltalk?
by richardwhiuk on Friday July 29, 2016 @12:51PM
(#12188095)
Just because it isn't what Alan Kay intended doesn't make what emerged not Object orientated programming. Usage defines the meaning of words, and when people use object orientated programing, they do mean as implemented in languages which did escape Xerox Parc...
Re:Ask HN: Examples of elegant, non-trivial Smalltalk?
by mikelevins on Friday July 29, 2016 @09:24PM
(#12191196)
On the one hand, you are of course correct that the meanings of words are defined by usage.
On the other hand, that observation entirely misses Alan Kay's point.
Re:Ask HN: Examples of elegant, non-trivial Smalltalk?
by richardwhiuk on Monday August 01, 2016 @09:56AM
(#12202371)
My point was there it isn't necessarily particular imperative to move towards a language which has a pure implementation of object-orientated programming on a mere 'Alan Kay wasn't thinking of this' point, especially given in the real world we have concrete evidence that such a language has never escaped an academic setting.
With respect to other languages, many don't do OOP well ;] Indeed in the OP video Alan Kay said "Object oriented programming never made it outside of Xerox Parc - only the term did" (1:06:40)
> Smalltalk encourages an explosion of complexity
Smalltalk is a fantastic prototyping language. Its easy to explore a new domain and get something working fast. Such an exploratory process can lead to overly-complex software. I guess the trick is to have the discipline to go back and do the "science" to distil and refactor.