Application 2023-06-26

Programmer Brain

Programmer Brain

Read in: ja
プログラマ脳 プログラマ脳

What is the mindset of people who excel at both reading and writing code? What sets them apart from me? I believe this is something every engineer has pondered at some point. (Probably)

The book Programmer Brain uses a cognitive science approach to scientifically analyze the creative process of coding, making it a must-read for those with a strong mental capacity.

The mention of a strong mental capacity is partly a joke, but I recently resumed my daily coding quizzes and wondered if there are ways to strengthen or improve the foundational aspects beyond just studying data structures and algorithms. This led me to this book.

I’ll summarize some points that caught my attention while reading this book as a review.

Working Memory Load

The term "working memory" is a key concept in this book and appears frequently until the last chapter.

When humans code, three cognitive processes are at work in the brain: long-term memory, short-term memory, and working memory.

Long-term and short-term memory differ in storage characteristics and retention periods, involving reading processes from long-term and short-term memory storage in the brain.

Working memory is the processing mechanism of the brain's CPU that utilizes data from long-term and short-term memory.

When the load on working memory increases, confusion arises regarding the code being confronted.

To reduce this load, it is beneficial to enhance the performance of both long-term and short-term memory storage or to implement approaches for optimizing performance.

It seems good to consider and train approaches for retrieving memories based on whether they are long-term or short-term.

For various approaches, please refer to the book.

Understanding Code ≒ Understanding Text

Research shows that there are many similarities between reading code and reading natural language text.

The ability to learn natural language affects the ability to learn programming, and the approaches used in understanding natural language texts may also be applicable to understanding code.

This is something I had heard before, but it made sense to me.

I often feel that those who can write and read code well also have high natural language abilities, which adds to the credibility of this idea.

When reading the code of complex applications that are difficult to understand, I sometimes take an approach of interpreting the code alongside natural language text, and I realized that this was scientifically effective.

Nowadays, editors are smart, and debuggers are excellent, making it easy to read code using such tools. I had thought that it was cumbersome to do anything with natural language, but I realized that for deep understanding, it’s good to properly consider approaches using natural language.

Impressions

Understanding the workings of the brain can reveal ways to train and hack it, which is what I learned from this book. I had never read a book that approached coding in this way, so it was refreshing. There were several discoveries where things I had intuitively felt were explained scientifically.

There are ways to train long-term memory (through repetitive learning or memorization), but how do we train short-term memory?

While short-term memory can be covered by various approaches without training, strengthening short-term memory would indeed add power (muscle).

It seems there are methods to train working memory.

How to Train Your Brain's Working Memory. Strengthening and freeing working memory can enhance work performance and study efficiency!

Isn't the once-popular "brain training" (still popular now...?) also a type of working memory training?

Tags: Cognitive Science Book Review Code Reading
Share: 𝕏 Post Facebook Hatena
✏️ View source / Discuss on GitHub
☕ Support

If you enjoy this blog, consider supporting it. Every bit helps keep it running!


Related Articles