It's Time to Abandon Insecure Languages

Sandy Harris sandy at storm.ca
Sat Jul 20 13:25:49 EDT 2002


bear wrote:
> 
> On Fri, 19 Jul 2002, Matthew Byng-Maddick wrote:
> 
> >Erm, what things do you think you can sacrifice? Pointer arithmetic,
> >perhaps, except that it's a fairly fundamental part of C. ...

> You may regard pointer arithmetic as fundamental, but I've
> written lots of programs without using it. ...

I don't have an exact reference, but there's an excellent
paper on this by Hoare:
http://users.comlab.ox.ac.uk/tony.hoare/

He argues that pointers are to data structures as gotos are to
control structures. Programmers should, for both safety and
productivity reasons, generally work with higher-level
abstractions. Arrays, lists, etc. for data; various types
of loop, function calls and recursion for control flow. Of
course those reduce to jumps, labels, and pointers at the
assembler level, but let the compiler do the reductions.

For Hoare's comments on Ada, see the ACM Turing Award
lecture he gave shortly after resigning from the Ada
design committee:
lambda.cs.yale.edu/cs422/doc/hoare.pdf

---------------------------------------------------------------------
The Cryptography Mailing List
Unsubscribe by sending "unsubscribe cryptography" to majordomo at wasabisystems.com



More information about the cryptography mailing list