It&#x27;s debatable whether &quot;simple and regular syntax&quot; is a strength or a weakness. Lisp&#x2F;Scheme might be <i>too</i> regular for their own good. Consider the following statements in Scheme, for instance:<p><pre><code>    (lambda x (+ x x))
    (cond (&gt; x 2) (+ x x))
    (if (&gt; x 2)
        (do-this when-true)
        (also-do-this when-true))
</code></pre>
They are syntactically correct (technically), but they are probably not what you meant. So you still have to pause and ask yourself how cond works... except the parser will not help you.<p>That is to say, a problem with s-expressions is that they are so regular that everything looks the same, and when everything looks the same, it can become an obstacle to learning. Mainstream languages are not very regular, but they are more mnemonic. I think Lisp works best for a very particular kind of mind, but that for most programmers its strengths are basically weaknesses.