Computer Science and Empiricism

In a talk given at UW today, Alfred Spector, Google’s VP of Research and Special Initiatives, made a point that I hadn’t thought about before. He made the statement that computer science is much more empirical today than it was when he was a graduate student 30 years ago.

I’m currently reading Logicomix, a graphic novel with a twofold role as a biography of Bertrand Russell and a concise history of the quest for mathematical certainty that took place in the early 20th century. Reading it alongside a courseload of discrete math and theory of computation classes has me knee-deep in the mathematical foundations of computer science. While these foundations are valid and necessary for a historical appreciation of the field, they don’t always lend themselves well to contemporary issues faced in industry and academia.

Spector’s talk reinforced the image of Google as grand archiver and distributor of the consolidated sum of human knowledge, a role not always well-served by a traditional approach. In recent years, we’ve seen a rise in parallel and probabilistic approaches to emerging problems: MapReduce/Hadoop, machine learning, Bayesian this, Markov that. With the astronomical amounts of data that companies like Google have to deal with, the door is opened for statistical methods.

Computer science deals with more measurable quantities than it used to. For example, as networks and systems grow larger, small margins of error or delay become more readily measurable. When the entire world is your testbed, you have to measure and test every aspect of the systems you build. In this sense, CS is increasingly becoming a more empirical science.

My only hope is that this was more often emphasized in classes, instead of by visiting guest lecturers.

  • Good point. I'm reminded of the controversial claim that computation is more fundamental to science than mathematics itself. It's akin to the argument that a good knife is more important to the act of cooking than a superb recipe. A valid statement, but not the whole picture.

    I would argue that the "beautiful code" trend is, to a large degree, due to the pervasiveness of programming. Writing code isn't any longer a task that computer scientists alone can take part in. The proliferation of high-level languages have abstracted away all but the most fundamental of underlying principles, and thus ushered in a whole new cast of programmers. Much more design- or aesthetics-oriented people are writing code nowadays, and their input is steering computation in interesting directions.
  • I agree that computer science has become more empirical. It seems to me that it is still more scientific since it lies with in the domain of mathematics and from that has ties to the forces that prevail in nature. I believe that the sense of a shift towards the empirical is because art and design has been given much more consideration in programming, particularly in the last five years.
blog comments powered by Disqus