-
Views
-
Cite
Cite
Discussion on The Ideal of Program Correctness: Responses from Tony Hoare, The Computer Journal, Volume 50, Issue 3, May 2007, Pages 269–273, https://doi.org/10.1093/comjnl/bxl080
- Share Icon Share
Extract
TO MARK JOSEPHS
Thank you for your generous comments. And thank you for raising a matter that is dear to my heart, though I did not mention it in my talk. It is the topic of programming language design.
This was the topic that first excited my interest in verification research, when I embarked on my academic career in 1968. I started with Dijkstra's thesis that the goal of programming language design was to help programmers more easily to write correct programs. I postulated that ease of correct programming was directly correlated with the ease of proving them correct. Therefore, the elucidation of the formal rules of program proof could provide an objective scientific criterion for judging the quality of a programming language or feature. My suggestions about conditional critical regions and monitors were directly inspired by this ideal.
Unfortunately the ideal has not attracted a wide following. There are, however, hopeful signs. The designers of Java and C# have made valiant attempts to avoid the more obvious traps and confusions that afflict programmers in the legacy languages C and C + +.