14 ms·
Wow, I disagree with this so much that it makes me realize I don't accept that a programming language is a tool. A compiler is a tool. A language is a medium fo
by gruseom 17y ago
Wow, I disagree with this so much that it makes me realize I don't accept that a programming language is a tool. A compiler is a tool. A language is a medium for thinking. Different ideas arise when working in different media. This leads to a thousand different little decisions about how to move forward, resulting in different programs - potentially vastly different.
Technically, of course, these languages are all equivalent because you can write an interpreter for one in another. But that also implies they're not equivalent conceptually; that's what "interpret" means.
The influence of the medium on the program is so acutely obvious to me that I wonder how anyone could miss it. Here's one thing I think obscures it: when we compare programming languages, it's almost always by juxtaposing implementations of a program (or code snippet) that we already know how to write: something clearly defined and well-understood. But this is precisely when you're least likely to be influenced by the medium. (Someone porting, say, the Mona Lisa to watercolor, or fingerpaint for that matter, doesn't have to make big decisions about what to paint: it's clear what the picture should look like because it already exists.) It's when you don't yet know what the program should do, or what direction it should evolve in, that your ideas are going to be deeply conditioned by the medium in which it has evolved so far.
In other words, the way we compare programming languages is designed to overlook all the most interesting and subtle differences between them. Maybe that's why people come to the conclusion that language doesn't matter. Every time I hear that I wonder how deep that person has really gone. One wouldn't think much of an artist who said that medium doesn't matter.
- silentbicycle 17y agoWell said. I like Ken Iverson's phrase for this (and lecture), "notation as a tool of thought".