Interesting article on Linked In today by David Knott, CTO UK Government, got me thinking about those of us programming in SenseTalk who don’t have English as our primary language and have to learn the idiom:
" Is programming a computer more like language or more like maths?
Neither, it turns out. In recent research, neuroscientists at MIT conducted brain scans of programmers while they were trying to solve problems, and discovered that, rather than engaging the language centres of the brain, they engaged a system known as the multiple demand network, usually used for complex problem solving.
Programming languages, it seems, are not the same as ordinary languages. This is not new news. In the earliest days of programming, when Grace Hopper was inventing high level languages, she and her team sent versions of their code to their bosses in French and German. The bosses sat up and paid attention: was it possible that their computers had suddenly learnt to speak foreign languages? Of course, that was not the case: the vocabulary of the programming language was entirely arbitrary: as long as the compiler could recognise the symbols and convert them into machine code, then they could be whatever the team wanted them to be. The team chose English words because they made it easier to understand (and because they were English speakers), but it was simple to tell the compiler to look for different symbols.
The difference between programming languages and human languages, despite their superficial resemblance, can be an obstacle to people learning to code for the first time, or for people using tools which resemble programming languages, such as spreadsheet macros or low code platforms.
When we speak to humans, precision is useful but not mandatory. Our speech is often very imprecise: circular, allusory, full of hesitation and digression. Yet other people can figure out what we mean: they interpret, and empathise, and fill in our gaps. By comparison, a compiler or code interpreter is brutally unforgiving. We cannot indicate vaguely what we mean: we must spell it out in excruciating detail, and any mistake is punished with error messages or bugs. Computers are frustrating because they do what we say rather than what we mean. " …
Read the rest of the article here:- The language illusion, doubled