Nowadays, it's very common to use BNF (or extensions thereof) to describe the syntaxes of various programming languages or their constructs. What was the situation like 60+ years ago? COBOL and BNF seemed to appear concurrently in 1959, and it seems obvious that CODASYL would not use BNF (or even know of it), but in all my searches I couldn't actually find the initial design notes or the first adopted syntax description for COBOL 60: what did they use to describe its first syntax? Was it really just plain textual wrangling, or did they have a separate formal notation system that's since fallen out of use?
1 Answers
Here is a link to the COBOL 60 spec :
Initial Specifications for a COmmon Business Orientated Language (1960)
BNF was first used the same year to describe ALGOL, here is a chapter
ALGOL 60 - Chapter 6, Formal Specification and Software Development
You can see that COBOL, along with plain English descriptions, uses flowcharts and something similar to BNF
And ALGO has BNF
The preface to the COBOL 60 spec has the following
I would surmise that, given the objective to write a plain english programming language, they wanted the specification to also be in plain english and accessible to the average "businessman".
Compared to the ALGOL spec it's certainly easier to read.
I couldn't find a pdf copy of the ALGOL 60 revised report mentioned, but here is a text version
Revised Report on the Algorithmic Language Algol 60
This underlines a major benefit of BNC, you can type it on a VT100 terminal
- 103
- 83,178


