At this point, I have >10 years of programming experience. I've been programming for the majority of my childhood and the entirety of my adult life. I don't like to overestimate my own abilities, and I wish I could prove to you that my above claim is true. I simply have enough experience where I know for a fact that I can understand 99% of algorithms and architectures that were designed to solve a practical real-world problem.
So you're right, "there isn't a single..." is probably pushing it. But I'd definitely stand by the fact that I can read, understand, and re-implement 99% of algorithms or architectures.
My point is simply that the breadth of the field of software engineering apparently pales in comparison to that of mathematics.
Or rather --- it's very strange to me that if you are an expert in a given branch of mathematics, then all of your lifetime of experiences cannot be applied to an entirely different branch. If I understand cperciva correctly, if you want to learn a particular specialized branch of mathematics, then you basically have to start from the ground-up (years).
It would basically be equivalent to wiping your memory of all programming knowledge, then re-learning it all, in terms of effort. It's just strange / interesting that mathematics works that way.
You are basically saying you could re-write the H.254 codec just by studying it for one day? Sure you might be able to learn some of the image compression tricks that it uses by reading the spec but to implement it efficiently requires deep understanding of hardware architecture, instruction pipelines, bit-twiddling algorithms and dare I say it, mathematics.
You are right that mathematics is unique in being an infinitely broad subject. Programming as a subject is like medicine in that it is constrained by the real world. However, I don't know about you but I'm not going to trust a radiologist to perform surgery because he's 'understood' the concepts in one day.
So you're right, "there isn't a single..." is probably pushing it. But I'd definitely stand by the fact that I can read, understand, and re-implement 99% of algorithms or architectures.
My point is simply that the breadth of the field of software engineering apparently pales in comparison to that of mathematics.
Or rather --- it's very strange to me that if you are an expert in a given branch of mathematics, then all of your lifetime of experiences cannot be applied to an entirely different branch. If I understand cperciva correctly, if you want to learn a particular specialized branch of mathematics, then you basically have to start from the ground-up (years).
It would basically be equivalent to wiping your memory of all programming knowledge, then re-learning it all, in terms of effort. It's just strange / interesting that mathematics works that way.