2011/5/31 Kamil Tomsik info@tomsik.cz:
It's not anti-smalltalk post, it's just a list of smells. (not big ones)
ehm.. you saying: 1. different message types with different precedence -> distraction, parentheses
now, just for comparison, count the number of precedence rules in another procedural languages. in smalltalk there are only 4: unary, binary, keywords, cascade.
I can imagine that we can easily get rid of binary messages.. and replace them with keywords, so instead of writing: a + b. one must write: a add: b.
but that will lead to much larger number of parens everywhere. Keyword syntax should stay. It is most superior form of expression known by myself, because if message selector is picked carefully, then it tells, what arguments are expected for each keyword, unlike to C where function could have 5-10 arguments and you have to refer to its source code in order to write down the correct arguments to make a function call.
Smalltalk is great language.
What makes a smalltalk great is not just language, but also environment. If you look at it purely from syntax point of view, then i'm afraid, you don't see a whole image. Because without dev tools, it will be not much better than PHP, Ruby or Javascript, where you on your own with source code, and have to manually navigate through code.