3 ms·
While I agree with this in theory, I can't help but imagine that 20-30 years ago you could take this post, replace every instance of "C" with "assembly" and it
by scottLobster 11y ago
While I agree with this in theory, I can't help but imagine that 20-30 years ago you could take this post, replace every instance of "C" with "assembly" and it would relate to a lot of developers at the time.
The march of technology (and knowledge in general) is one of constant abstraction. We figure out ways to do more with less so we have more capacity left over for further advancement. You don't know 10x10=100 because your brain derives it every single time, you just memorize the fact, hopefully with understanding. In software terms that means higher level languages with sophisticated libraries, and languages like C are relegated to more of an infrastructure role.
This isn't necessarily bad. If the technology is more capable then everybody wins at the end of the day. As the author points out there will always be a niche of enthusiasts/zealots who will lead the charge and further the field. The remaining 99% will learn what those people come up with and apply it. To the best of my knowledge that's how it's always been, and it's worked pretty well so far. So I'd say let people start off with high level languages if they want, but expose them to lower level languages and let them choose which demographic they end up joining.