Programming is Glorified Bookkeeping

submited by
Style Pass
2021-07-06 22:00:07

Preface: The post was planned to be comprehensive across the stack, but the realization of the stack being infinitely zoomable means the post will never be complete and never published. Thus I have decided to bite the bullet, accept the current level of detail for the time being, and to be updated over time.

My first programming course was called Scientific Programming which used MATLAB. I remember my struggle back then wasn’t with the language itself or the bugs. The biggest struggle was recognizing mental shortcuts, catching my brain just at the right moment, breaking apart the mental shortcuts into their greatest common divisors, and translating those components to code. This means unlearning fossilized mental processes that have been ingrained and automated over the years. It requires shifting your mental gears from System 1 to System 2 1. This means, once we find the greatest common divisor in the process, our task is grouping and naming them accordingly to be meaningful, trackable, and reusable. But this is not where the bookkeeping takes place.

Throughout this process, we not only group actions into function, we also group closely related data into structures. Note how it is structures, plural, referring to many types to choose from depending on the use case. The data structure determines how you keep track of the data and how it is organized. Data that is more sensibly organized as an array will be hectic to be managed as an otherwise fragmented structure. Reportedly, Rob Pike says 2, “Data dominates. If you’ve chosen the right data structures and organized things well, the algorithms will almost always be self-evident. Data structures, not algorithms, are central to programming.” Data is fluid and exists in its own dimension. The structures we package them in are for us, programmers, to allow us to keep track of which data are related, how they are related, how much space they occupy, and how they pack together. This is the first level of bookkeeping.

Leave a Comment