Hacker News new | ask | show | jobs
by mjd 27 days ago
The author is a mathematician, so when he says “it is not in general possible to find bugs by examining the code” he does not mean it is completely impossible to find bugs. He means only that it is not possible to find all bugs or even any particular bug.
4 comments

User names match... are you the original author? Why commenting in the third person?
Because it was him... 10 months ago?
it's still weird. if i'm talking about something i wrote 10 months ago i'd say something like, "when i originally wrote this i was trying to say ...".

not "when the author wrote this, he was trying to say"

Maybe it's because the author is a mathematician.
saghm still thought this was a weird explanation when he wrote this comment
Apparently the mathematician author doesn't understand the meaning of his own natural language quantifiers. “it is not in general possible to find bugs by examining the code” means “it is not in general possible to find ANY bugs by examining the code”, not “it is not in general possible to find ALL bugs by examining the code”.

And the first interpretation is relevant but wrong, whereas the second interpretation is true but irrelevant.

P.S. It seems that the author meant to say “it is not in general possible to find a given bug by examining the code”, i.e., "not (for all bugs B it is possible to find B)", which again is true but not relevant.

Thank you, I thought I was getting crazy! The self-proclaimed amateur mathematician[0] who quotes his own writing in 3rd person has some stuff to work on I guess.

[0]: https://blog.plover.com/meta/about-me.html

"in general" in mathematics means "in all cases, without exception", rather different than the normal usage where it means "usually, but not always".

If a mathematician using the mathematical sense of the word general says "it is not in general possible to tell if a program will halt by inspecting it", they're talking about the halting problem, even if you've looked at lots of programs where you can tell if they'll halt or not, and your experience might be correctly described using the normal usage of the word with "in general I can tell if a program will halt or not".

I'm a mathematician AND I understand English. Your statement about the halting problem is not analogous to the one in question and your comment completely ignores my analysis, where I did in fact take "in general" to be universal, not some casual handwavy "usually". Again, as I said, what they apparently meant was (not (for all bugs B, it is possible to find B)), which is analogous to the halting problem statement, but is a completely irrelevant strawman since no one thinks or claims that code review can find all bugs, nor need it. (Likewise it is not possible for any TM to determine whether all programs halt, although there are infinitely many TMs that can determine whether some programs halt ... but this is disanalogous because the halting problem is concerned with "all" whereas code review is concerned with "some".)

I won't respond further.

Ofc you're correct in that sense.

I would add that (related to your "maintainability" point) ensuring the code is as simple as possible, and thus much more likely to be "debuggable by review", is a goal of review. Even that won't prevent bugs in the absolute sense, as you rightly say, but it boosts your probabilities.

I guess that makes sense. Based on my math lectures during college, mathematicians can often be terrible at communication to other humans, so that would explain why they think what they said is different from how pretty much everyone else reads it.