I’ve written some of those. And every time, I test everything I write as I go, so that at every stage from the word go I have a working program. The big bang method, of writing everything first, then running it, never works.
The “big bang” sometimes happens to me when I write in Haskell. After I fix all the compiler errors, of course. I just wish there were a language with a type system that can detect almost as many errors as Haskell’s without having quite such a restrictive, bondage-fetish feel to it.
But yeah, in general, only trivial programs work the first time you run them. That’s a good definition of trivial, actually.
I agree it’s probably not a law of the universe, as I cannot rule out possible minds that could falsify it. However, I cannot from within my mind (human capabilities) see a case where a complex system could work before each of its parts had been made to work.
Counterexample: a complex computer program designed and written from scratch.
I’ve written some of those. And every time, I test everything I write as I go, so that at every stage from the word go I have a working program. The big bang method, of writing everything first, then running it, never works.
The “big bang” sometimes happens to me when I write in Haskell. After I fix all the compiler errors, of course. I just wish there were a language with a type system that can detect almost as many errors as Haskell’s without having quite such a restrictive, bondage-fetish feel to it.
But yeah, in general, only trivial programs work the first time you run them. That’s a good definition of trivial, actually.
...and that worked the very first time? How often does that happen?
The quote is a rule of thumb and an admonition to rational humility, not a law of the universe.
Well “never works and cannot be made to work” does sound a bit strong to me.
I agree it’s probably not a law of the universe, as I cannot rule out possible minds that could falsify it. However, I cannot from within my mind (human capabilities) see a case where a complex system could work before each of its parts had been made to work.