Friday, September 5, 2014

Programming: Programmer Memory

As one writes code, the mind changes state over time adding code artifacts to the brain's short-term and long-term memory.  Having every line of code memorized would be perfect for a programmer's brain  to work on code.    Only at first blush.  Maybe even better is to have the entire call graph memorized.  Well, even better than having all code memorized and the call graph memorized, is to have all possible states the computer will move through memorized as well.  So on and so forth.  One could imagine a graph or set of graphs indicating the amount of programmer memory (PM) on a project.

It's this programmer memory that benefits projects.  A project with low PM will take longer to implement and probably be more bug-ridden.   There's probably a real positive correlation between a programmer's experience on the project and PM.  So programmer experience on the project is very important, and cannot be discounted.

Frameworks that get reused across projects can also increase PM over time as long as the frameworks stay relatively stable.  So programmer experience with a framework is better than no experience.

How can a programming code (I do not like the term language) or set of coding tools decrease the value of PM?