Today was a public holiday so after a nice walk this afternoon I decided to start reading Structure and Interpretation of Computer Programs (I'm reading the hard copy). I'm only at the preface to the first edition, but a passage stood out for capturing something I've wanted to say for a while:
First, we want to establish the idea that a computer language is not just a way of getting a computer to perform operations but rather that it is a novel formal medium for expressing ideas about methodology. Thus, programs must be written for people to read, and only incidentally for machines to execute.
Any programming language is capable of performing exactly the same tasks as any other programming language. So why don't we all use COBOL, or assembly, or binary?
Because different programming languages are suited to articulating solutions in different contexts.