HiveBrain v1.2.0
Get Started
← Back to all entries
patternMinor

Regarding Backus' Commentary on von Neumann-style Programming

Submitted by: @import:stackexchange-cs··
0
Viewed 0 times
commentaryprogrammingregardingneumannbackusstylevon

Problem

in John Backus' 1978 FP paper "Can Programming Be Liberated from the von Neumann Style" he says

To help assemble the overall result from single words [von Neumann ie.
conventional mutation-based] languages provide some primitive
combining forms in the statement world--the for, while,and
if-then-else statements--but the split between the two worlds [ie. between the expression-only and statement-only, as I understand him] prevents
the combining forms in either world from attaining the full power they
can achieve in an undivided world.

He shows the expressiveness of functional programming, that's what the paper is about, but he implies there's a similar expressiveness that can be got from the statements-only part, per the above quote. However I don't know what he means by this; he gives no examples.

The only language that appears ruthlessly statement-y that I can think of is (pure) prolog (eg. see https://en.wikipedia.org/wiki/Prolog#Quicksort, there's no expressions as such only statements giving relationships) and it's not statements so much as the backtracking that gives it the power.

So what did Backus mean by this? What example languages are there that are statement only (but without backtracking)?

Edit: belated link to orginal paper https://dl.acm.org/doi/10.1145/359576.359579 for interest.

(The question has nothing to do with BNF form. Also, if someone can edit the title to better summarise the long quote, please do Edit: that's much better, thanks!)

Solution

Reading the quote literally without the interpolated interpretation, I think what Backus is saying is that a powerful language is one which makes no distinction between expressions and statements.

That is, where all statements are also expressions, like a functional language.

I don't think Backus was claiming that an "all statement" language - the meaning of which is not entirely clear in this context - would be powerful or even feasible. Rather, he is claiming that the existence of certain statements that cannot be analysed as expressions, is a defect in language design.

Context

StackExchange Computer Science Q#136280, answer score: 4

Revisions (0)

No revisions yet.