Abstraction levels and tool evolution, versus bugs - Re: strangest systems I've sent email from
paulkoning at comcast.net
Wed Apr 27 19:14:34 CDT 2016
> On Apr 27, 2016, at 6:14 PM, Toby Thain <toby at telegraphics.com.au> wrote:
> Modern languages can indeed wipe out large classes of bugs (including many of those that lead to vulnerabilities). But *every* advance in abstraction does.
> I like Professor Benjamin Pierce's way of putting it: "Mechanical checks of simple properties enormously improve software quality."
> This has been called for, with little traction, for a very long time; one of my favourite calls is by Professor Per Brinch Hansen, recipient of IEEE Computer Pioneer Medal, in 1972:
> "I expect to see many protection rules in future operating systems...enforced by...type checking at compile time."
> -- he assuredly did not have C in mind.
Probably not Ada either, but among languages that are in current use that one is probably the best by this measure.
BTW, it's not so much "modern" as "well designed". How to design languages that facilitate correct programs was well understood by around 1970. There have been some additions since then, but a lot of the right answers can be found in ALGOL (and a lot of wrong answers can be found in the work of those who ignored ALGOL).
More information about the cctalk