"if(condition) block" is no more intuitive to a complete novice than "condition ifTrue: block"

One could argue that if they are native English speakers, the first is more intuitive. It fits english ordering better. "If the amount he gives you is less than the bank statement amount, then divorce the hording bastard."

I continue to be amazed at developers who insist that "map.put(key,object)"
is somehow clearer than "dictionary at: key put: object."


IMO, it depends on how often it is used. Named parameters (which the second resembles) are clearer when you encounter something for the first time in code. However, if it is repeated multiple times, than positional parameters are quicker on the eye.