The timescales to get a full feedback loop (think of an idea, try it out, analyze the results) often look like weeks to run an experiment, whereas in the digital world your code will compile in seconds.
I think this is superficially compelling. After all, if you read a biology method, often a single step will take hours, days, even weeks. By contrast, of course, a single line of code executes in next to no time.
However, it’s not actually the right way to think about it. After all, there’s no reason that we would compare a single physical action, or a single line from a method, to a single line of code. What is the “meaningful feedback loop comparison?” I get feedback when I pipette from one test tube into another—feedback on whether or not I spilled. Likewise, when I compile code, I get feedback on things like whether or not my syntax was correct. Comparing the speed of compiling code to the speed of executing an experiment is not a meaningful feedback loop comparison.
Even in computing, there’s a point past which we no longer have crisp definitions for what needs to be done. The vision no longer breaks down into an obvious set of concrete tasks.
This becomes more obvious when you shift your starting point from “how do I execute task X in code” (i.e. build a tic-tac-toe game in Python) to “how do I create a program that audience X will buy?”
The former sort of question is easy to decompose into code. There is an objective standard by which to determine whether or not you’ve achieved it.
The latter question requires all sorts of non-programming tasks. Rapidly, those tight programmatic feedback loops disappear. Once the code base gets large enough, even the coding challenges no longer have the same tight feedback loops. All projects aiming to achieve a substantial and sustained real-world audience hit this bottleneck, usually sooner rather than later.
Progress in biology is not slow. Biology is just vastly more complicated than computer science. I don’t mean that as an insult to CS. It’s just that CS is a discipline of building systems out of precisely specified mathematics. Biology is trying to understand a system that we didn’t design, based on mechanisms that we don’t have the power to determine with precision.
Figuring out how to define “progress” in a meaningful way, such that you’re finding an appropriate referant for comparison between the two disciplines, is quite tricky. Without that definition, you can’t compare progress rates.
I think this is superficially compelling. After all, if you read a biology method, often a single step will take hours, days, even weeks. By contrast, of course, a single line of code executes in next to no time.
However, it’s not actually the right way to think about it. After all, there’s no reason that we would compare a single physical action, or a single line from a method, to a single line of code. What is the “meaningful feedback loop comparison?” I get feedback when I pipette from one test tube into another—feedback on whether or not I spilled. Likewise, when I compile code, I get feedback on things like whether or not my syntax was correct. Comparing the speed of compiling code to the speed of executing an experiment is not a meaningful feedback loop comparison.
Even in computing, there’s a point past which we no longer have crisp definitions for what needs to be done. The vision no longer breaks down into an obvious set of concrete tasks.
This becomes more obvious when you shift your starting point from “how do I execute task X in code” (i.e. build a tic-tac-toe game in Python) to “how do I create a program that audience X will buy?”
The former sort of question is easy to decompose into code. There is an objective standard by which to determine whether or not you’ve achieved it.
The latter question requires all sorts of non-programming tasks. Rapidly, those tight programmatic feedback loops disappear. Once the code base gets large enough, even the coding challenges no longer have the same tight feedback loops. All projects aiming to achieve a substantial and sustained real-world audience hit this bottleneck, usually sooner rather than later.
Progress in biology is not slow. Biology is just vastly more complicated than computer science. I don’t mean that as an insult to CS. It’s just that CS is a discipline of building systems out of precisely specified mathematics. Biology is trying to understand a system that we didn’t design, based on mechanisms that we don’t have the power to determine with precision.
Figuring out how to define “progress” in a meaningful way, such that you’re finding an appropriate referant for comparison between the two disciplines, is quite tricky. Without that definition, you can’t compare progress rates.