Regarding best practices, code design, and such I think we're better off than we were with early "proper" OO design--I doubt anyone truly needs an AbstractSingletonProxyBeanFactory. :P
I think the fact that folks kept trying to turn browsers into a replacement for OS services (ui/media/input/network) sort of necessitates a return to good practices, and we're seeing that with TypeScript's popularity.
I'm not sure how to factor the whole left-pad / npm install the_universe
situation into this. Positive outlook: Is there
anybody who doesn't think it's a problem?
Strong agree on lower-level knowledge like compilers, memory management, et. al being diluted. The job climate seems to encourage educators to install an unreasonable fear of that stuff in students.
"Just use Unity."
"Just go pip install tensorflow."
"Never write new
or, heavens-to-betsy, malloc
, or,
may-god-have-mercy-on-your-reckless-soul, VirtualAlloc
."
Unless a beginner takes classes in a formal CS program, they may never be exposed to this stuff in a positive way.
But maybe it's fine. Maybe the proportion of people who would ever be interested and find use for that knowledge will grow at only a fraction of the rate of people who want/need to know about just cobbling things to gether to get some work done.
Even if it's fine, I still think the way people talk about these topics is unhealthy. Feels similar to math phobia.