But as I worked, and thought about what I was doing, it began to dawn on me that the technique I was using has been more than half forgotten in these latter days. A little web research confirmed that programmers don’t seem to talk about it much any more, at least not where a search engine can see them. A couple of Wikipedia entries touch the topic, but I found nobody who covered it comprehensively.
There are actually reasons for this that aren’t stupid. CS courses (rightly) steer people away from micro-optimization towards finding better algorithms. The plunging price of machine resources has made squeezing memory usage less necessary. And the way hackers used to learn how to do it back in the day was by bumping their noses on strange hardware architectures - a less common experience now.
But the technique still has value in important situations, and will as long as memory is finite. This document is intended to save programmers from having to rediscover the technique, so they can concentrate effort on more important things.
ArticleIn this article, the author (ESR) talks about a somewhat forgotten technique for efficiently packing structs in memory in C. I found it really interesting from a historical perspective and if I wasn't swamped with building
mulVid, I'd have played around with this a lot more. There are tons of techinques like this that have been dropped in favour of more general (and usually better) techniques but like he states in the quote above, they still have their place.
In one of my previous article responses, I talked about how we should treat software engineering as more of a trade than we currently do. I have a lot of reason swhy I think this but one in particular that I want to focus on is the fact the field is still so new. Other disciplines of engineering & science have had hundreds of years to iron out learning pathways but we haven't. And with the advent of AI, even the learning and teaching standards that were becoming formalized have to be reassessed again
[1] and so now more than ever, hard won lessons and the mentality they breed need to be passed down in a more informal way to ensure that useful (but initially not obvious) information doesn't get lost in the thick of things.
This is especially true in the age of AI slop.
Thanks for reading and as always, all comments, critiques and questions are highly appreciated. Here's a link to the
previous article response.
[1] - This is happening to education as whole