4 ms·
Knowing the entire JVM spec is frequently less useful than being able to code a for loop whose contents do some domain specific thing that a 22 year old ninjedi
by patio11 14y ago
Knowing the entire JVM spec is frequently less useful than being able to code a for loop whose contents do some domain specific thing that a 22 year old ninjedi will, with diligent study, understand in ten more years.
- eru 14y agoYou mean, be able to come up with in ten years, or understand in ten years? The former is good. But in case of the latter, I wouldn't want to touch your code with a ten foot pole. (Even complicated Haskell type trickery, or, say, mathematical optimization algorithms shouldn't take longer than a few weeks to explain.)
- loumf 14y ago"domain specific" means something like, your code implements the thing you spent the last 10 years becoming an expert on, which you hopefully understand to such a degree that expert coding will be no help in trying to replicate it.
- eru 14y agoYes. That's why I mentioned not only type trickery but the one domain specific example where I can claim to be an expert in (mathematical optimization). I guess, the original ten years was hyperbole?
- sethev 14y agoI think you're missing the point completely. Patrick's comment wasn't about a specific for loop and how hard it is to understand. Knowing what types of problems people have and how to write code to solve them is much harder than learning the JVM spec and much more valuable. How long did it take you to become an expert in mathematical optimization, for example? I doubt very much that that's something you picked up in a few weeks.
- eru 14y agoI know that solving problems people have is hard, and worthwhile. It takes a long time of concentrated effort to get good at it for specific domains. That includes picking the right problems, and then either picking the right solutions or coming up with them in the first place. But here's where my contention lies: Making those choices is hard. But you should be able to explain the logic behind them (or how you came up with a solution) in a few weeks. To give an analogy: The first task is like acquiring a map of a territory. That needs painstaking surveying of the whole area. The second is describing a path you took through that territory. You needed the whole map to choose the right path, but describing the path should be faster than acquiring (or describing) the whole map.