Featured in Five is a monthly section where we pose five questions to a Computing Reviews featured reviewer. Here are the responses from our current featured reviewer, Jacques Carette (McMaster University, Canada).
Q: What is the most important thing that's happened in computing in the past 10 years?
A: The realization by practitioners that different problems require different solutions. This is most visible in Web programming, where back-end programming of a commercial Web site routinely involves 6 or 7 languages and a dozen different technologies. The language debates of yore should now been seen as irrelevant: there is no such thing as a “better” language, just languages that are better suited for solving certain classes of problems efficiently. And by efficiency, I do not mean computer-efficiency in terms of time or memory, but rather programmer efficiency.
Q: By the end of your career, where do you think computer science will have taken us? What are you working on that might contribute toward that?
A: I think computer science will have finally figured out how to build correct software at a reasonable cost. Software will become much more of an engineering discipline, with the vast majority of programs being produced in an essentially automated manner. Like in most other engineering disciplines, there will remain a nice niche at the top where radical creativity will still be needed.
I am trying to do my part by inventing programming techniques that are much more expressive: in other words, humans must write down the core, crucial information, and computers can then be used to fill in the (routine) rest. We are already partway there, as various Web frameworks, VHDL, the rise of DSLs, and model-based engineering techniques attest. While I am a dedicated functional programmer, I find a lot of Alan Kay's recent work with his colleagues at the Viewpoints Research Institute extremely inspiring. The focus on extreme expressivity and on using multiple layers of meta-programs to achieve that aim is something we have in common.
Q: Who is your favorite historical figure? Why?
A: Leibniz. The depth of his work is simply amazing, though a fair amount of it was misunderstood by his contemporaries and for several hundred years. His work on the foundations of mathematics, as well as his ideas on how knowledge could be collected, classified, and automated, still resonates loudly today. He was already worrying 400 years ago about issues that are just now resurfacing as thorny problems that must be solved in modern implementations of mechanized knowledge systems.
Q: If you weren't working in the computer science field, what would you be doing instead?
A: I would be a chef!
Q: What is your favorite type of music?
A: Rock. I go back and forth between the old progressive rock (Rush, Genesis, Mike Oldfield, etc.) and more recent bands like Metric, System of a Down, Jakalope, and the White Stripes.