That sort of thing is quickly checkable, though—the trouble is if looks like it finds primes, does something else, and that something else isn’t one of the hypotheses generated. Which could definitely make this much less useful if it was common.
I dunno, maybe you’re right and a holistic approach is necessary. But I feel like I understand code modularly rather than holistically, and though I sometimes lose track of details I’m usually pretty good at knowing which ones will be important later.
It’s easy to understand code modularly when it was written straightforwardly. It’s a lot harder when it’s spaghetti code … or when it’s actually intentionally tricky. Past a certain point there’s no choice but to actually step through each possible branch of the code — which can be done, but it’s hardly the sort of automatic layers of approximation and pattern-matching that our senses use.
Someone linked me to the 2008 contest once. I’m more familiar with the Obfuscated C Contest, which would also be a problem. But I think it’s fine to only be able to “intuit” about straightfoward-ish code. The main use, after all, would be to understand code written by your own programmers in order to self-improve.
That sort of thing is quickly checkable, though—the trouble is if looks like it finds primes, does something else, and that something else isn’t one of the hypotheses generated. Which could definitely make this much less useful if it was common.
I dunno, maybe you’re right and a holistic approach is necessary. But I feel like I understand code modularly rather than holistically, and though I sometimes lose track of details I’m usually pretty good at knowing which ones will be important later.
Ever hear of the Underhanded C Contest?
It’s easy to understand code modularly when it was written straightforwardly. It’s a lot harder when it’s spaghetti code … or when it’s actually intentionally tricky. Past a certain point there’s no choice but to actually step through each possible branch of the code — which can be done, but it’s hardly the sort of automatic layers of approximation and pattern-matching that our senses use.
Someone linked me to the 2008 contest once. I’m more familiar with the Obfuscated C Contest, which would also be a problem. But I think it’s fine to only be able to “intuit” about straightfoward-ish code. The main use, after all, would be to understand code written by your own programmers in order to self-improve.