Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Dijkstra was interested in defining program semantics using predicate transformers. It’s rather difficult to define useful semantics that way when unrestricted goto is available, so he preferred to avoid the difficulties it creates. It’s important to understand though that his objection was not stylistic, but mathematical. He was a trained mathematician who through circumstance found himself programming computers and he always had that perspective.

Incidentally, predicate transformer semantics are used to reason about imperative programs in an expressly functional mathematical way. They really are quite interesting. They’re also getting a bit more exposure thanks to modern theorem provers like Z3 and languages like Dafny.



Truly, the man with ideas that are both mathematically insightful and one of the best practical ideas in the history of programming is a rare breed. I wish I could have met him.

I regretfully do not know my history will enough to know if he invented structured programming as we know it, but his advocacy certainly played a large role in its acceptance.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: