&gt; And if I wanted to prevent people from writing &quot;the most disastrous code in the whole universe&quot;, teaching C instead of JS would be much, much lower in the list than teaching how to split code into modules&#x2F;libraries, write testable code, etc.<p>And for me that would be much much lower than teaching how to keeps things simple. The whole modern web has a bad case of over engineering, everything is modules of modules of modules, with so many tools associated you get a headache trying to install a simple JavaScript library (what is wrong with a download link and I drop the lib on my page, nothing that is what).<p>I&#x27;m all for modern approaches but I can&#x27;t help but feel many developers have lost touch with what writing clean code is, it&#x27;s not making module, libraries or even tests, it&#x27;s making sure what you are doing is as simple as it can be and efficient at it. Sadly most modern web stack fail at that. All hidden in mumbo jumbo of modules and dependencies no-one really needed or asked for, often created by people who never questioned the purpose of what they were doing, or if the whole internet needed it (because you are at Google and have found a neat way to deal with your huge JS stack doesn&#x27;t mean the whole web needed it too, and that you needed to spent a whole lot of effort making people adopt it).<p>As much as you make fun of C, learning and writing C will teach you to keep you programs simple and efficient, because the language requires it. And that&#x27;s coming from someone who started programming with Perl, then PHP, and only learned C later on.<p>Makes thing simple not simpler should be the cardinal rule of programming, not modularize and test everything, those are situational, the former applies all the time.