Copy of abstract taken from email of Prof. Greg Morrisett (Nov. 2, 1998)
Programming Tools, Technology, and Teaching the Masses to Fish
Daniel Weise
Microsoft Research
How do we get ideas and methods from the last three decades of programming
language research into the daily practice of commercial programmers? New
mainstream languages only appear once a decade, so language design is out.
Generic technology is also a non-starter, as the invented technology all too
easily misses the mark, being either too abstract or too removed from the
problems at hand. Our research group has taken the approach of giving
programmers in the product groups the ability to do their own
meta-programming-the ability to extend their programming languages and to
construct programs that themselves analyze and construct programs. This
approach allows good language ideas to be re-invented and implemented by
practitioners, and changes the relationship that practitioners have with
their programming language and development environment. In this talk I
describe the initial results of this experiment, with a focus on how product
groups have been using meta-programming to write simple verification tools
that have become valuable to them.
(Daniel Weise was born and raised in Reseda, CA, which gained fame as the
town in The Karate Kid, and which has been mentioned in songs by Frank Zappa
and Tom Petty. He left home for Cambridge, MA to wheedle a couple of
post-graduate degrees from MIT. Then he moved to Palo Alto to abuse his
position on the faculty at Stanford to corrupt impressionable students with
functional programming ideas. Daniel now lives in Washington state, and is
amazed to learn that there is a place in the US with more cloudy days per
year than Seattle, namely, Ithaca, NY. Is his spare time, he does research
on program analysis, program comprehension, program correctness, and static
error detection.)