For some reason, this reminds me of my CS102 professor who taught me that buying more RAM is cheaper and easier than fixing memory leaks,
Only for very slow, small ones, or if your program only runs for a short time and then exits. For anything embedded or even services that stay running continually, this is plain stupidity.
I'd write a complaint if any prof took this approach. Granted, for an intro course, memory management can be an unnecessary burden for students, but those are certainly using some (at least nominally) garbage-collected language, like Python.
and where every question about how a computer works got the exact same answer "don't know; don't care".
Well, yes and no. It can be daunting for new programmers to really get down into the details, and isn't central to learning programming. It's nice that you don't
have to know, although certainly beneficial if you do. In the same way an Uber driver doesn't need to know how cars actually work, the typical web developer doesn't need to know about instruction sets and memory pages.
Top tech firms often expect people to know, because details like how CPU caches work actually have a way of mattering, if you really care about the performance or efficiency of your code.
There are CS majors who are graduating right now who literally don't know what an instruction set is, how to optimize in assembly (or at all).. and that memory addresses physically exist.
For any job involving embedded development, I always ask candidates to explain what an MMU is, what it does, and why it matters.
or in my case of working with Embedded Software: code that needs to work perfectly forever, can never be patched, and never exceeds a few hundred kB in size.
whoa, there's literally
no way of patching it?
If it needs to run forever, I hope you're refreshing the NAND memory on which it's stored. I know a guy who discovered their products, which have a service life of a couple decades, were getting errors in their flash. The fix was to periodically refresh the content, since the charge eventually leaks out of the cells (NAND flash is a charge-storage device!).
I can appreciate that on a nearly daily basis where I come across something that would take me months of research to figure out... or I can just ask a single yes or no question to the old guy who already knows it.
And there are those questions you don't even think to ask.
Experienced people make more money -for a reason
Yeah, but it's weird how salaries don't correlate well with actual output. I know some folks are making a lot, based on when they joined and how much experience they have, but the drive isn't necessarily there, even if they're competent.
You can literally have a factor of two or more, in output quantity or equivalent quality, and yet this can be completely uncorrelated with compensation.
That's why I say you gotta love the work, and do it well for its own sake. People looking for constant rewards and recognition will quickly move into a management track or shift into marketing or something.