A biologist is thinking of branching out. He wrote his master’s thesis on self-replication of DNA, his doctoral dissertation on Darwin’s finches, and he now teaches graduate courses on evolutionary systems. He is working on a pet project after hours with a friend who works as a programmer. The goal is to build a self-replicating, self-correcting computer operating system designed for deployment on server farms to allow for simpler and faster meta-analyses of biological data.
The biologist’s contribution to the project is in his knowledge of self-correcting systems. He needs the programmer to translate that knowledge into the end product. A problem arises almost instantly, though, because of the lack of an operational definition.
The biologist lives in the world of Science. The programmer lives in the world of Technology. The difference in their jobs reveals the difference between the two fields. Though he may have an extensive knowledge of Darwin’s firsthand observation of the finches, the biologist deals in abstract concepts and ideas. The programmer is on the other end of the spectrum; he deals only with pragmatic translations and precise, almost mathematical, constructs.
Science and Technology are on opposite ends of the spectrum in that regard. Both fields are based almost entirely on solving problems, but they go about it in different ways. People who find employment, education and training in “hard science” tend to deal with ideas. Technology-related jobs are more aimed toward practical applications. Programmers, in fact, even call a lot of their projects “applications.”
Luckily, though, there is almost always a middle ground between any arbitrarily chosen set of scientific and technological problems. The biologist and the programmer mentioned above might do well to find a Computer Scientist to serve as a translator. A Computer Scientist focuses more on the theory behind the practical applications of software and other technology. A lot of that deals with the formation of operational definitions.
An operational definition is a more specific and geared way to describe something abstract so that all parties can be sure they are discussing the exact same thing. If the biologist explained the scope and goal of the project to the computer scientist, the computer scientist would be able to understand exactly what processes are needed and what kind of logic is behind them. Self-replication and self-correction are key concepts in Computer Science. A programmer may not know about those concepts because they are largely theoretical and may be beyond the scope of his knowledge.
The Computer Scientist can then take the input from the biologist and explain it in terms that the programmer can understand. It is easier for a computer programmer to understand “we need incremental updates of the database” than to understand “we need the computer to learn.” Neither the programmer nor the biologist would even have any idea what the translated version of their thoughts would mean.
Therein is the key difference between Science and Technology: they use the same words but different lexicons. This is the reason they will always be at odds. It’s the same reason certain groups of people go to war over different religious texts. The biologist and programmer are fortunate in one respect: at least there is an intermediary who can facilitate communication between them.