Probably more a warning against pre-mature optimization.<p>If you can eliminate all ; in most, or even all, circumstances in otherwise C-like syntax, what do you gain?<p>And most of the savings you see there are from having greater levels of abstraction available.<p>Assembly = arithmetic. You have to explicitly state each step, and on its own there&#x27;s no understanding of what you&#x27;re operating on, they&#x27;re all bits (numbers).<p>C++ (ok, more C) = algebra. You have a bit more understanding of your structure, better names and concepts behind things (types = units, for instance). You&#x27;re still operating on bits, but now most of those bits have a specifically, language encoded, meaning.<p>Haskell = calculus. Not only are your bits typed, so are your functions (ok, technically also typed in C and kin syntaxes, but not usually as useful) and you can pass them around and modify them.<p>EDIT:<p>I&#x27;m more picking on the class of syntax available.<p>When you include semantics OO languages offer a great deal more expressive power than most procedural languages. Probably should&#x27;ve just had C and not C++, but it is what I wrote.<p>More generally what I should have written was towards language classes: assembly (as most primitive procedural language), structured procedural languages (C, Go, Algol, Ada, etc.), OO languages (Java, C++, Smalltalk, etc.) and functional languages (lisps, Haskell, ML-family, etc.).<p>But then you have to break it down further. OO is not inherently more or less expressive than functional languages, it depends on the feature set of the OO and functional languages. Smalltalk is very expressive, easily comparable to the more expressive functional languages. Java, as it used to be, not familiar with developments post adding generics so I&#x27;m really rusty on it, was not so expressive. So a comparison between Smalltalk and Common Lisp would put them on a similar level of abstraction. But Common Lisp versus Java (again, with my outdated knowledge), Common Lisp is at a higher level of abstraction (both syntactically and semantically).