Hacker News new | ask | show | jobs
by maerF0x0 946 days ago
>I forget how something was setup in some section of some file, and write code in another file and it just breaks the entire logic. I feel frustrated that I cannot upload and maintain the entire logical map of even this very small and simple codebase in my mind.

This is a sign of technology with insufficient abstraction. Computation has largely been built on the shoulders of giants with a "You shouldn't need to know" mentality.

Think of code in abstract "bits" of information (not necessarily in the data/ram/storage sense)...

The more bits of information from seemingly unrelated sources that you must retain, the worse the codebase is. In the worst case editing 1 bit of source code flips 50% of the remaining bits, ie perfect obfuscation.

In a perfect code base, changing a bit would flip no other bits (say in other packages), because all of the change would be perfectly contained.

There is a pragmatic balance due to timelines, brevity, reaching perfect abstraction might itself be more complex than an "imperfect" implementation, and the sheer ingenuity of it might challenge or exceed some of our IQs (certainly mine).