←back to thread

448 points nimbleplum40 | 2 comments | | HN request time: 0.001s | source
Show context
misja111 ◴[] No.43565639[source]
I somewhat disagree with this. In real life, say in some company, the inception of an idea for a new feature is made in the head of some business person. This person will not speak any formal language. So however you turn it, some translation from natural language to machine language will have to be done to implement the feature.

Typically the first step, translation from natural to formal language, will be done by business analysts and programmers. But why not try to let computers help along the way?

replies(6): >>43565758 #>>43566309 #>>43566411 #>>43567326 #>>43567538 #>>43567683 #
1. kmacdough ◴[] No.43567683[source]
Computers can and should help along the way, but Dijkstra's argument is that a) much of the challenge of human ideas is discovered in the act of converting from natural to formal language and b) that this act, in and of itself, is what trains our formal logical selves.

So he's contesting not only the idea that programs should be specified in natural language, but also the idea that removing our need to understand the formal language would increase our ability to build complex systems.

It's worth noting that much of the "translation" is not translation, but fixing the logical ambiguities, inconsistencies and improper assumptions. Much of it can happen in natural language, if we take Dijkstra seriously, precisely because programmers at the table who have spent their lives formalizing.

There are other professions which require significant formal thinking, such as math. But also, the conversion of old proofs into computer proofs has lead us to discover holes and gaps in many well accepted proofs. Not that much has been overturned, but we still do t have a complete proof for Fermats last theorem [1].

[1] https://xenaproject.wordpress.com/2024/12/11/fermats-last-th...

replies(1): >>43572186 #
2. nelgaard ◴[] No.43572186[source]
But even real translation is bad.

There has been some efforts to make computer languages with local (non-english) keywords. Most have fortunately already failed horribly.

But it still exists, e.g. in spreadsheet formulas.

In some cases even number formatting (decimal separators) are affected.