Maybe this is the source of the recurrent discussions here, and elsewhere, about how formal CS education doesn&#x27;t matter (something I wholeheartedly disagree).<p>Universities have always been under fire to provide courses &quot;better suited&quot; for market needs and it seems to me that they&#x27;ve been slowly caving in during the last decade or so. This, of course, probably varies a lot between country and even between universities in the same country.<p>The fact is: university courses that degenerate into professional training courses end up providing little value. Timeless CS principles are abandoned for marketable high-level skills that are obsolete even before students finish their studies, and that help nothing when the market itself changes (or needs to change).<p>I see Europe&#x27;s Bologna process as a perfect example of this. It was supposed to make higher education comparable between EU countries but instead now provides an excuse for shorter and shallower courses, comparable only because they don&#x27;t go any further than the lowest common denominator.<p>What you say is really evident in some circles: a magical view of computing platforms and a complete ignorance of hardware details critical for software performance. There is a blind faith on compilers&#x2F;interpreters to somehow extract maximum performance from the hardware in the face of wastefulness.<p>As anecdotal evidence, I&#x27;ve more than once had to convince people that allocating new objects by the millions (in the JVM) has a real CPU performance cost. The usual response is that the application isn&#x27;t limited by memory and the time required by the garbage collector is negligible, thinking nothing about cache locality and how memory access is now a major bottleneck for modern CPUs.