3 ms·
There's really no amount of classroom learning that will replace 20 years of experience with object-oriented systems. If you're going to put an inexperienced r
by Goladus 9y ago
There's really no amount of classroom learning that will replace 20 years of experience with object-oriented systems. If you're going to put an inexperienced recent graduate in charge of design for your large software system, you deserve what you get. Ideal coupling of data to code is an arbitrarily complex, context-sensitive problem and each individual company might take a different approach. At best, that is the sort of topic best covered in an advanced class for students specifically interested in problems associated with a large codebase. It's not a good fit for introductory-to-intermediate "learn how to program" instruction.
We could debate the importance of teaching search algorithms, too. But it's a different issue. Search algorithms are a solved problem[1]. Algorithms like that, in addition to being mental exercises, programming practice, and preparation for a career in academic research, are usually used to demonstrate complexity analysis and space/time tradeoffs. The space/time tradeoff is a problem you will face in nearly every environment no matter what language or technology you use.
[1] As far as we know... there might still be research on searching algorithms but for the purposes of the vast majority of software engineers, sorting functions aren't something they'll ever need to implement.