Tloewald is right that clarity is the real issue. I&#x27;ve seen powerful, BASIC-like 4GL&#x27;s whose operation were more clear than simple language doing equivalent things because they were designed for that. The ideal language gives you just enough features and power to let you productively express what you need without being too complex to understand.<p>The DSL languages are in a special category here. You start with powerful host languages such as LIPS&#x2F;Racket or REBOL. The language is usually simple enough to understand plus has something like macros for extension. Each domain that we run into a lot and&#x2F;or has plenty boilerplate can have a DSL that lets us concisely express those operations both for productivity and clarity. The underlying language is powerful and still comprehensible for times when the DSL&#x27;s aren&#x27;t enough.<p>So, the author is a bit off. What we need isn&#x27;t less powerful languages. It&#x27;s powerful languages maintaining clarity and avoiding the everything but the kitchen sink philosophy.<p>Note: HTML&#x2F;CSS wasn&#x27;t the best choice to support author&#x27;s point. It was good for static pages. Yet, people needed more power. So, they added a crappy client-side language, all kinds of server frameworks, then all kinds of client frameworks, and so on and on. Languages like Curl and Opa handle the situation with a unified, powerful approach that was more clear than the web ecosystem in general. Also had less security and maintenance issues. So, author&#x27;s example works against them in practice.