[책][프로그래머의 뇌]

유기훈·2025년 10월 2일

1. 코드 더 잘 읽기

  • LTM: 장기 기억 공간 (하드)
  • STM: 단기 기억 공간 (메모리)

코딩에 영향을 주는 인지 과정

  • 지식이 없다는 것은 두뇌의 장기 기억 공간의 문제
  • 지식이 아닌 어떤 정보가 부족할 때는 단기 기억 공간의 문제

1장 요약

코드를 읽거나 작성할 때 발생하는 인지과정 세가지
1. LTM에서 정보를 인출한다. 키워드의 의미 같은 것
2. 메서드나 변수의 이름과 같이 코드를 읽는 과정에서 발생하는 정보를 STM에 일시적으로 저장한다.
3. 작업 기억 공간에서 일어난다. 코드를 읽고 처리하는 일. 예: 인덱스 값이 어떻게 변하는지

2. 신속한 코드 분석

  • LTM에 지식이 부족하면 코드를 읽을 때 하위 수준의 정보들 이를 테면 문자나 키워드 같은 것에 의존해야 한다. 이럴 때 STM의 공간이 빠르게 소진된다.
    - 코드에서 친절하게 메서드의 이름을 dfs라고 지었다고 해보자. dfs를 알고 있으면, dfs 로직을 떠올리면서 코드를 읽기 때문에 신속하게 분석할 수 있다. 하지만 dfs에 대한 지식이 없으면 STM을 사용해야 하는데 STM은 저장 공간이 작기 때문에 코드 분석에 어려움을 겪는다.
  • 다른 개발자들이 내 코드를 신속하게 분석할 수 있도록 하기 위해서는 일반적으로 많이 사용하는 것들을 활용해야 한다.
    - 예: for문의 index의 이름은 i로 짓는다. 2중 for문의 index의 이름은 j로 짓는다. 디자인 패턴을 활용한다.
  • 코드는 우리 두뇌에서 처리하기 쉽게 만드는 특징들 가령 디자인 패턴, 주석문, 명확한 표식 같은 것들이 있다.

3. 프로그래밍 문법 빠르게 배우기

  • 문법에 대한 지식이 더 많을 수록 LTM을 더 많이 활용할 수 있기 때문에 문법을 외우는 것이 중요하다.
  • 기억이 없어지는 것을 방지하기 위해, 새로운 정보를 기억하는 연습을 정기적으로 하는 것이 중요하다.
  • 최상의 연습은 기억한 것을 두뇌로부터 인출하는 연습이다. 다른 곳에서 해당 정보를 찾기 전에 기억해내려고 노력해야 한다.

7. 생각의 버그

두 번째 프로그래밍 언어가 첫 번째보다 쉬운 이유

LTM에 저장된 프로그래밍 지식은 새로운 프로그래밍 개념을 배우는 데 두 가지 방식으로 도움이 될 수 있다.
1. 프로그래밍에 대해 이미 많이 알고 있다면 그것에 대해 더 많이 학습하는 것이 쉬워진다.
2. 학습 전이는 완전히 낯선 상황에 이미 알고 있는 내용을 적용할 때 일어난다. 학습 전이로 인해 LTM에 저장된 지식이 학습을 지원하게 된다.

오개념: 생각의 버그

지식의 전이의 단점이다. 코드가 작동한다고 확심함에도 불구하고 여전히 오류가 발생한다면 코드에 대한 오개념이 문제일 가능성이 있다.

새로운 프로그래밍 언어를 배울 때 오개념 방지하기

  1. 자신이 옳다고 확신하더라도 여전히 틀릴 수도 있다는 것을 아는 것이 중요하다.
  2. 흔하게 발생하는 오개념에 대해 의도적으로 연구해봄으로써 그런 오개념에 빠지는 것을 방지할 수 있다.

10. 복잡한 문제 해결을 더 잘하려면

  • 프로그래밍에 종사하는 많은 사람은 문제 해결이 일반적인 기술이라고 주장하지만, 프로그래밍에 대한 사전 지식이 현재 해결 중인 문제와 결합해 프로그래밍 문제를 얼마나 빨리 해결할 수 있는지에 영향을 미친다.
  • 프로그래밍과 관련된 명시적 기억을 강화하려면 기존 코드, 가급적이면 코드 설계 방법에 대한 설명이 포함된 코드를 연구하라.

개발 작업 시 풀이된 예제 활용하기

  1. 코드를 혼자 공부할 필요는 없다. 누군가와 함께하는 것이 더 유용하다. 함께 코드를 읽으면 서로 배울 수 있다.
  2. 혼자서 코드를 읽는 방법을 찾고 있다면 깃허브를 읽거나, 라이브러리의 소스코드를 읽는 것이 도움이 된다.
profile
개발 블로그

0개의 댓글