Is it April already?
Perhaps it’s a symptom of modern complexity that every so often someone stands up to proclaim the virtues of “old school” seat of the pants practice. Robert Martin’s “I’d rather use a socket” comes to mind. (It’s not just programming, as the “Old School Renaissance” in tabletop role-playing games demonstrates. I’m sure there are better examples, just not ones I can think of at 1 am.)
Sometimes it’s good to consider the teetering tower of abstractions we rest upon, and ask ourselves whether we need them. On the other hand, I worked briefly with a company that built web applications in C++, and often someone would complain that some string handling routine or other corrupted memory. When I reasonably asked whether a higher level language might eliminate memory corruption, they mocked me for advocating Perl. To them, Java was a joke because it was slow and memory-intensive (in 2001 admittedly), and scoffed at Sun’s claims that the Hotspot VM sometimes outperformed C. Bertrand Meyer’s infamous “Beware of C Hackers” rant does have a grain of truth: some programmers care more about fast and small than correct or maintainable. Gerald Weinberg’s The Psychology of Computer Programmers pointed out over thirty years ago.