February 20, 2013—Component Programming in D—Walter Bright

Time and Location

February 20th, 2013 at 7:00 PM
Microsoft Campus.
Note: Cafeteria, not our normal meeting room

Come at 6:45 for pizza sponsored by Amazon Web Services.

Abstract

The idea of writing reusable software is as old as programming, and is so well ingrained into programmers that we take it as an axiom. It’s accepted, and non-controversial. Of course we all strive to produce reusable software; after all, we’re professionals. But as I look back on 35 years of programming, I note with chagrin that practically none of the code I’ve written has been usable in another project. I will ‘reuse’ code by copy-paste-modify, but that’s cheating, and even that doesn’t happen too often. Somehow, I seemed to have missed the boat somewhere. I ask other long-time programmers, and they seem to have the same frustrating experience. This starts out, then, as a journey into figuring out what went wrong. Why does that hash table I wrote before not work in another project? Why is my macro expander not reusable? Why did I chuck all my carefully written UTF code? Why do I write symbol tables over (and over again)? Why is that disassembler I wrote completely unusable in another application? Why do I keep reinventing the wheel?

This talk tries to answer that question, and delves into how component programming works and how it can address code reusability.

Bio

Walter Bright is the creator and first implementer of the D programming language and has implemented compilers for several other languages. He’s an expert in all areas of compiler technology, including front ends, optimizers, code generation, interpreter engines, and runtime libraries. Walter regularly writes articles about compilers and programming, is known for engaging and informative presentations, and provides training in compiler development techniques. Many are surprised to discover that Walter is also the creator of the wargame Empire, which is still popular today over 30 years after its debut.

Resources

Video | Slides