One of the questions I've struggled to get to grips with over the years is this: what is software comparable with, in terms of complexity and size, in the real physical world?
For instance, I first started working 21 years ago I worked on a 25 year old credit card system which was written in Cobol. One of the core programs, called BZCH10, was about 25,000 lines long. It made up, I'm guessing, about 2% of the entire code base. A little bit of maths and little bit more rounding and I'm guessing that the entire system was about 1 million lines of code.
I've got a novel sitting next to me. It's about 300 pages long. It's got about 30 words per page. That's 9,000 lines. Let's say 10,000, for simplicity.
You could say the book was 1/00th the size of the credit card system.
Or, maybe you could say that the credit card system was about as big as 100 novels.
But that's not a very helpful comparison is it? The 100 novels are just words and (usually) you read them in order, from the first page to the last. Code is different because the code - kinda - lives. The code has loops and conditions and the likes. Little bits of code jump over to other little bits of code and then back again, sometimes. The movement inside the running code isn't not chaotic.
You could say the code, even though it's made of bits, not atoms, as moving parts.
How many moving parts did the credit card system have? No idea.
A black hawk helicopter has > 10,000 moving parts. According to one quick search: http://www.chacha.com/question/how-many-moving-parts-are-on-a-blackhawk-helicopter.
Can you see where I'm going with this? I can't. Honestly. I'm tying my head in knots thinking about.
So, back to my original quesiton: what is software comparable with, in terms of complexity and size, in the real physical world?
Is it a helicopter? A city? A continent? The human brain?