On April 26th, the Washington DC Chapter of the ACM and the George Mason University Computer Science Department hosted a joint lecture by Walter Bright on the “Patterns of Human Error”.
The slides can be found here: http://www.slideshare.net/dcacm/patterns-of-human-error
Walter focused on ways to design failure out of systems and how the D Language alleviates coding results from some common programming errors. I had the pleasure of attending the lecture and was very impressed with how knowledgeable and engaged the audience was.
Walter did an excellent job in presenting his case that we should make it difficult to make these simple errors. For example, ask Google “What happens if you connect a car battery up and get the terminals the wrong way around?” and you’ll find over 63,000 results to this question. If the result is so catastrophic, why is it so easy to do? Wouldn’t it be better if the terminals looked more like a 9-volt battery?
Why haven’t we gotten rid of buffer overflows in C? Why is the answer to that issue center around code inspections, unit tests, and training? Wouldn’t we want to make it harder to make this mistake? Or for a simpler example, ‘x = 64l’ or ‘x = 64L’ may be syntactically correct and equal, the introduction of the lower case L creates an opportunity for human error as this can be confused with the number 1. The answer – make lower case letters illegal.
These are just a few of the questions that Walter Bright posed and it is good to hear that D has implemented many of these improvements in its language. D can be downloaded from the Digital Mars site, http://digitalmars.com/d/index.html. Implementations exist for the OS platform of your choice and the language is open source with a healthy community behind it. The drawbacks on D are the same as all new languages – the need for a more robust library of functions for reuse. However, the language is open source and as the community grows, the richness of available libraries will only improve.
In addtion, congratulations to the folks at Digital Mars for becoming mentors to 3 Google Summer of Code projects:
Finally, I’d like to thank Walter Bright for taking the time to deliver a thought-provoking and educational talk; Jyh-Ming Lien and George Mason University for being gracious hosts and providing the facilities to host this lecture; and William Fielder, our former Chair, who once again demonstrated his unique talent to find good speakers and interesting subjects that are of benefit to our members.