Smalltalk syntax (and features) can be found pretty exotic (and even disturbing) when you come from a more C-like syntax world. I found myself losing time with some
I would be interested in learning knowing what you found really exotic compared to more classic/mainstream languages and that you think helps to understand the language.
For example, evaluation with logic operators :
(object1 = object2) & (object3 = object4)
: this will evaluate the whole expression, even if the left part is false, the rest will be evaluated.(object1 = object2) and: [object3 = object4]
: this will evaluate the left part, and only will evaluate the right part if the first is true.