Any sufficiently complicated C or Fortran program contains an ad hoc, informally-specified, bug-ridden, slow implementation of half of Common Lisp.
If you read about Lisp, it won’t take long until you come to this quote. It’s from Philip Greenspun, who worked with Lisp while it was popular. Later he was one of the first internet entrepeneurs and founded photo.net and built the ArsDigita Community System.
Today he spends his time teaching helicopter and computer science students, taking photos and traveling. He response came from Africa.
I wrote
http://philip.greenspun.com/research/fantasy/
back in 2003. I don’t think too much has changed since then.
I haven’t read this before. It’s a nice thought experiment.
New graduate students in computer science often have a difficult time choosing among research projects and may never develop a broad view of the field nor think about the relative significance of efforts in various directions. When new graduate students ask me for advice I tell them to start by pretending that they are the lab director for computer science at a brand-new research university and to come up with a plan for how they’d populate their lab with projects. This is sort of like the fantasy baseball leagues that are popular with kids, hence the page title. In preparing a fantasy research lab plan, a student will need to familiarize him or herself with a broad range of problems and the current state of the art in solutions. This ought to give the student more perspective in planning a career.
He goes on and develops some projects and what research is needed for them.
I would add making
http://philip.greenspun.com/business/mobile-phone-as-home-computer
a reality would be a very useful problem too, though not fundamental. Consumers shouldn’t have to use scaled-down mainframes such as Windows and Mac OS.
His second link leads to a lengthy description about a phone-centric distributed computing thing.