Conversation

The "PL as Math" side always left me cold, same as arguing "Shakespeare is just words." I read Knuth's "Literate Programming" in college in the '90s, and ever after have thought of PL as language, as description, as communication, first and foremost.
1
I dunno, perhaps that's because you get different connotations when you hear the word, 'Math', which is perfectly understandable. To me the word evokes ideas of structure, relationships, beauty, form, and creativity… the deep underpinnings of everything we know and love.
2
I got the "vibe" of SML, and later Haskell and Rust. Correctness and totality are good properties, but they're *cold*. They exist for the machine, not for the human, and PLs are really about humans. PL as language, as literature, as communication, as art - that matters more.
1
I dunno, I find langs like Rust and Elm and Reason bending over backwards to help me express myself better and more clearly, where as others give me the silent treatment and never critique me until it's too late, then it's a big slap in the face… 😰
2
If I sit down to write a novel, I expect the word processor to get out of my way, first and foremost. Not to suggest themes. Not to "correct" my grammar. And definitely not Clippy. Same with coding: Do what I say, even if it's wrong, and leave it to me to know the difference.
1
I came of age coding asm on a 6502, which has a curious property unshared by most languages: There are no errors. No exceptions, no faults, at assembling-time or even at runtime. Every instruction does something, and none can fail.
1
1
If you picked the wrong instruction, your program didn't *fail*: it just didn't do what you expected. Similarly to writing in a primitive word processor, if you type something else as input, you simply get something else as output. Not an error. Just a different result.
1
1
It's very liberating, coding in an environment in which it's impossible to be truly *wrong*, and that experience has colored my opinion of every PL since. There are those that approach the ideal of a blank canvas and paint, and there are those that do not.
1
That said, paint requires discipline. The paintbrush will not tell you that you are doing something bad. It's up to you to learn it, from a combination of talent and practice and mentoring. And some never do. But a great artist can use that blank canvas to create wonders.
2