COBOL was created because people wanted a language they could use to describe the problems in a way that is independent of the hardware used. Like SQL COBOL uses a syntax that is close to that of natural languages. As an example, ADD YEARS TO AGE is a valid expression.
In his letter to an editor in 1975 titled "How do we tell truths that might hurt?", computer scientist and Turing Award recipient Edsger Dijkstra remarked that "The use of COBOL cripples the mind; its teaching should, therefore, be regarded as a criminal offense." In this letter, Dijkstra also criticised several other languages which were used at the time.
In recent years, COBOL has been extended to allow object-oriented programming, user-defined functions, and user-defined data types.
The computer scientist Howard E. Tompkins disagreed, and defended structured COBOL: "COBOL programs with convoluted control flow indeed tend to 'cripple the mind'", but this was because "there are too many such business application programs written by programmers that have never had the benefit of structured COBOL taught well...".
- Dijkstra (2006). "E. W. Dijkstra Archive: How do we tell truths that might hurt? (EWD498)". University of Texas at Austin. Retrieved August 29, 2007.
- "In Defense of Teaching Structured COBOL as Computer Science", Howard E. Tompkins, ACM SIGPLAN Notices, Vol. 18, Issue 4, April 1983.