TITLE: Beautiful Sentences: Scientific Data as Program AUTHOR: Eugene Wallingford DATE: April 29, 2015 1:52 PM DESC: ----- BODY: On the way to making a larger point about the role of software in scientific research, Konrad Hinsen writes these beautiful sentences:
Software is just data that can be interpreted as instructions for a computer. One could conceivably write some interpreter that turns previously generated data into software by executing it.
They express one side of one of the great ideas of computer science, the duality of program and data: This is one of the reasons why it is so important for CS students to study the principles of programming languages, create languages, and build interpreters. These activities help bring this great idea to life and prepare those who understand it to solve problems in ways that are otherwise hard to imagine. Besides, the duality is a thing of beauty. We don't have to use it as a tool in order to appreciate this sublime truth. As Hinsen writes, few people outside of computer science (and, sadly, too many within CS) appreciate "the particular status of software as both tool an information carrier and a tool". The same might be said for our appreciation of data, and the role that language plays in bridging the gap between the two. -----