4 ms·
I think that this is an interesting example. Can I read this code? No. But, I can't read Czech or Finnish either. The person who wrote this C code relied upon i
by michaelfeathers 14y ago
I think that this is an interesting example. Can I read this code? No. But, I can't read Czech or Finnish either. The person who wrote this C code relied upon idioms that they either developed themselves or are part of a culture around J. I think that with that context we would understand it.
The real question is whether there is enough discipline and regularity in the structure and idioms for someone to pick them up quickly. To me, that is the ultimate measure of comprehensibility. There are plenty of codebases with good naming that remain incomprehensible because they randomly violate the reader's expectations. I really think that internal consistency around a small number of concepts is ultimately more important to ease of learning than anything else.
Look at this C code as a DSL, but one that you just don't have a crib sheet for. And, yes, that is a problem but it is definitely not the worst problem you can have.