Despite some differing conclusions and values, I cannot agree more with Graham’s notion about how languages fundamentally limit the capabilities of our imagination. Languages, whether they are programming ones or not, enable our communication. However, the grand majority of us have gotten used to communicating with language even in our mind. We think in narration, we observe the world, consume its every breath, and analyze it all under the scope of how we have been taught to communicate: through language. Therefore, the selection of language is beyond essential: it will enclose you, shape you beyond your comprehension, because how could you possibly comprehend something that cannot be expressed in language?
This matter is not merely being unable to use an expression that exists in one language but does not in another. There is a reason George Orwell views the forceful selection of language as one of the most powerful things an authoritative regime can do: if the government can artificially manipulate the very articulation of your ideas, then the government can control you by your own hand. This, too, is why art can be so powerful – for it is able to shatter through these linguistic barriers by expressing that which cannot be articulated.
Programming languages function in the same way as regular languages. Our creativity can only stitch together concepts it has perceived, it will never produce something out of nothing it has never aggregated. We will never be able to conceptualize a method with which to solve a problem that we cannot begin to comprehend, even if it does exist. Naturally we can see in praxis the power of programming languages and how each of them will restrict the flow of the programmer. Not merely in computational complexity or varying syntax, but at the core of the idea that Graham was aiming for: the avenues that even exist. These avenues will never be built if we cannot visualize them.
Therefore, in this particular framing, I agree that programming languages vary in power. However, here is a point where I diverge from Graham, this spectrum of power is not linear. A programming language that can do more is not, by definition, a more powerful language. The most powerful language will be the one best suited for the task at hand. Sometimes, the task is to fix a pipe, rather than to build a piece of art. But, indeed, when you want to create something magnificent and artful, it is best to start with the kit that has the most colors.
I am not an authority to speak on the programming side, admittedly. I care much about conventional languages, and I believe that polyglots are able to experience reality in a much more valuable way by how they are capable of comprehending and expressing themselves. I imagine it is not too different when it comes to programming languages. Nevertheless, I must confess that I know only a handful of very common languages and have little to no experience with any of the alternative languages. Though my education is partially to blame, the curriculum is shaped by the whims of the job market. Learning a new language is hard, very hard, and very slow, and I have not faced enough challenges that require creative solutions to explore them.
As when writing a poem, your selection of language will define what it can be. The tone, the expressions, the outcome, they all are born from the set of tools chosen. Programming languages are, by inference, not unlike this.