본문 바로가기

BOOK

[책리뷰] 프로그래머의 뇌 (The Programmers's Brain)

 

이 책은 인지과학의 주제를 많이 다루고 있는데, 우리가 여러 매체를 통해 접할 수 있는 기억력 향상법, 공부 잘하는 법과 같은 두뇌의 작용을 프로그래밍에 접목한 내용을 다루고 있다. 

 

책을 읽으면서 느낀점은 어렸을때 학교 공부를 하면서 틀린문제만 선별하여 여러번 풀어보고 오답노트를 작성하는게 공부를 잘할 수 있는 빠른 방법이다와 같이 프로그래밍에서의 공부 방법을 가르쳐주는 것 같다.

"아 이렇게 하면 특정 언어에 더 빨리 익숙해지겠구나!", "이렇게 하면 특정 문법을 더 잘 기억하겠구나!"를 머리로는 이해하는데 실제로 내가 그렇게 공부하기는 귀찮고 가볍게 읽은 것 같다. ㅋㅋㅋ

 

책 내용으로 넘어가서, 이 책은 4가지의 파트로 나누어져 코드 더 잘 읽기, 코드에 대해 생각하기, 좋은 코드 작성하기, 코딩에서의 협업에 대해 다룬다.

 

우리가 코드를 볼때 일어나는 혼란의 유형은 봐도 모르겠는 지식의 부족, 메소드의 동작원리를 모르는 정보의 부족, 한번에 처리할 수 있는 처리량을 넘어선 처리 능력의 부족이 있다. 이는 각각 LTM(Long Term Memory), STM(Short Term Memory), 작업 기억 공간의 인지과정과 연관된다.

 

인지과정의 효율을 높이기 위해선, 이해하기 쉬운 주석이나 변수명을 정하거나 코드를 묶는 청킹을 통해 코드를 더 잘 읽고 이해할 수 있다.

 

더 잘 기억하기 위해서는 플래시카드에 코드를 적고 외우고, 특정 간격을 두고 복습하고.... 나는 안할 것 같다.

 

복잡한 코드를 읽을 때는 내재적 인지 부하와 외재적 인지부하로 인해 인지 부하가 클수록 코드를 이해하기 어렵다.

이러한 인지 부하를 낮추기 위해서 리팩터링(코드의 내부 구조 개선)을 사용한다.

 

복잡한 코드에서는 각 변수의 상태표를 그리거나 변수에 표시를하여 시각화하거나... 등의 방법으로 처리 능력의 부족을 극복한다.

 

기억 보조 도구 : 사야니에미의 프레임워크 11가지의 역할에 대한 아이콘 생성하여 표시

 

 

유하 소르바 : 초보 프로그래머가 가질 수 있는 162가지 오개념

Visual Program Simulation in Introductory Programming Education  p359~368

 

앞서 말했듯이 당연하다면 당연한 얘기를 정리한 것이지만, 사람이 이렇게 하면 더 낫겠구나 본능적으로 알고 있던 것을 두뇌의 인지과정에 따라 잘 설명해줘서 좋은 것 같다.