Chapter1. 코딩 중 겪는 혼란에 대한 이해

Posted by yunki kim on January 3, 2023

  프로그래밍을 하다 보면 여러 가지 혼란을 겪게 된다. 이 중 코드 레벨에서 겪는 혼란의 종류는 크게 세 가지다.

  1. 지식의 부족: 프로그래밍 언어나 알고리즘, 업무 영역에 대한 지식이 없을 경우 생기는 혼란.

  2. 정보의 부족: 코드를 이해하기 위해 필요한 정보가 불충분할 경우 생기는 혼란.

  3. 처리 능력 부족: 코드가 너무 복잡해 두뇌 처리 용량 부족으로 인한 혼란.

  이 세 가지 혼란과 관련된 인지 과정은 다음과 같다.

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

  위에서 언급한 혼란들은 다음과 같은 서로 다른 인지 과정과 연관된 있다. 이 과정은 기억과 관련 있다.

  - 지식의 부족 => 장기 기억 공간(Long-Term Memory: LTM)의 문제

  - 정보의 부족 => 단기 기억 공간(Short-Term Memory: STM)의 문제

  - 처리 능력의 부족 => 작업 기억 공간(Working Memory)의 문제

LTM과 프로그래밍

  언어 문법 기억, 키보드로 입력을 하는 동작 기억 등이 LTM에 해당한다. LTM은 프로그래밍에 대한 여러 가지 정보를 오랜 기간 저장한다. 따라서 코드를 작성할 때 특정 자료구조를 기억해 내거나 코드를 읽을 때 문법을 떠올리는 등의 행위에 LTM을 이용한다.

STM과 프로그래밍

  STM은 정보를 임시보관하는 캐시와 같은 역할을 한다. STM으로 기억할 수 있는 최대치는 약 12개다. 흔히 코드를 분석할 때 STM을 사용한다. 방금 읽은 변수의 이름과 타입을 일시적으로 기억하며 코드를 읽는 식이다. 사실 LTM은 사람이 행하는 모든 인지 과정에 관여하기 때문에 STM을 사용할 때도 LTM을 같이 사용한다. 

작업 기억 공간과 프로그래밍

  STM과 LTM이 기억장치라면 작업 기억 공간은 프로세서다. 실제 사고 작용은 작업 기억 공간에서 발생한다. 그 때문에 트레이싱(tracing - 머릿속에서 코드를 컴파일하고 돌아가는 과정)은 작업 기억 공간에서 발생한다. 복잡한 코드를 읽을 때 변수나 일부 코드를 별도로 적고 싶은 마음은 이 작업 기억 공간의 부족으로 발생한다.

인지 과정들의 상호작용

  위에서 언급한 LTM, STM, 작업 기억 공간은 모두 밀접한 관련이 있다. 정보가 뇌에 들어왔을 때, 인지 과정들은 다음과 같이 상호작용한다.

 

출처 - 프로그래머의 뇌