Hacker News new | ask | show | jobs
by veltas 1875 days ago
Article acts like having a 'richer' language approximating English makes it easier or more approachable, but whenever I've tried such languages I've found them harder. A programming language with simple and more orthogonal syntax like C is much easier to learn and reason about, than a language where you learn so many different verbs/constructs like COBOL or Ada.

And I think that -- depending on the problem -- you want a more succinct language to express the problem in. Maths is a good example: maths would be far harder if we described everything in plain English without ever resorting to symbolic maths. Formulaic maths allows us to focus more on the structure and meaning rather than the encoding.

3 comments

> Article acts like having a 'richer' language approximating English makes it easier or more approachable, but whenever I've tried such languages I've found them harder.

You're not the target audience. Grace Hopper explained it:

“I used to be a mathematics professor. At that time I found there were a certain number of students who could not learn mathematics. I then was charged with the job of making it easy for businessmen to use our computers. I found it was not a question of whether they could learn mathematics or not, but whether they would. […] They said, ‘Throw those symbols out — I do not know what they mean, I have not time to learn symbols.’ I suggest a reply to those who would like data processing people to use mathematical symbols that they make the first attempt to teach those symbols to vice-presidents or a colonel or admiral. I assure you that I tried it.”

The goal was to give senior management the illusion of understanding what their hirelings were doing.

Very interesting, and I have a lot of respect for Grace Hopper personally. I think tech that's meant to look 'correct' to the right people is often worse off for it, though. I've got no interest in appealing to the people that won't even bother trying to look at it if it reminds them of maths or uses something other than plain English, but it has a place I suppose. I just think the posted article overestimates its scope.
Let me guess: You're a professional programmer.

I am, too. I (and, I assume, other professional programmers) want sharply-defined primitives/keywords/operators. Vagueness really gets in our way. And the problem is that English words don't have the kind of precise definitions that we need.

But COBOL wasn't built for us. The design goal of COBOL was to make professional programmers obsolete - to make it so anyone could program. (Epic fail on that design goal - COBOL was once the most common language used by professional programmers.) For the intended users, the "using ordinary words" was a feature, not a bug. But the actual users and the intended users are different people, and the English-like syntax doesn't work for the actual users.

What do you think about SQL?
I have a low opinion of it! And I'm not in a tiny minority there. There have been other query languages that seemed better to me, but SQL won. SQL's not nearly as wordy as COBOL though, if you want to calculate tax in SQL you're going to write a formula. I think there's a time and place for different styles of languages, for a general purpose (or even business-oriented) language I think it should have a relatively simple and succinct syntax. I just think a programming language that's more consistent and mechanical is easier for most people to grok, and I know a ton of programmers that like to tell everyone that they "sucked at maths, you don't need to be good at maths to program", the syntax didn't put them off.