In 1968, Edsger Dijkstra wrote a letter entitled “Go-to statement considered harmful”. In it, he argued that gotos make it difficult for us to comprehend programs, so they should be “abolished from all ‘higher level’ programming languages”. Everyone thought this was a wonderful idea, and we all adhere to it today.
Or do we?
This talk hints that today’s programs are, in a sense, more riddled with gotos than any program from the 1960s. As a result, we’ve had to develop increasingly sophisticated tools and techniques to help us comprehend the programs we’ve written. We’ll discuss ongoing research at Harvey Mudd into a new computational technique for analyzing one of today’s most goto-besotted programming languages: JavaScript.
Modern storage systems often store many copies of the same data. If those duplicate copies can be located and eliminated (“deduplication”), storage will be saved and the system will run faster. We describe our work on Dmdedup, a system that will make it possible to add deduplication support to existing file systems with no modifications whatsoever.
Each semester, student teams in CS 121 build games with an educational goal (as selected by a middle school teacher). During the summer, a group of students acts as software maintenance teams with the goal of improving one or more of the games. Today, you will get a chance to see any play many of the games that were completed summer 12. Hear from each team about how the game works, and then play.
Your goal as a participant should be to see several games and play at least one.