2022. 3. 30. 21:16ㆍ독서
"훌륭한 프로그래머가 알아야 할 인지과학의 모든 것"이라는 표지의 문장이 책을 대변하고 있다.
이 책은 단순히 문제를 바라보는 시각에 대해서 얘기하는 것에 그치지 않고, 이를 인지과학적 관점에서 바라본다.
책에서는 코드를 인지하는 인지과학적 관점에서 우리의 프로그래밍에 어떻게 인지과학이 적용되는지,
어떻게 하면 복잡한 코드에 대해 깊이 있게 이해할 수 있는지 등에 대해 소개하고 있다.
🏴인상 깊었던 것
-인지적 관점에서의 코드를 바라볼 때 생기는 문제-
코드를 읽을 때 혼란이 생기는 이유는 지식 부족, 쉽게 찾을 수 있는 정보의 부족, 두뇌의 처리 능력의 부족, 이렇게 세 가지다 - 13p
지식의 부족은 *LTM의 문제이고, 정보의 부족은 *STM의 문제이며, 처리 능력의 부족은 작업 기억 공간의 문제라고 한다.
그리고 이 세 가지 문제를 해결하기 위한 방법들이 책에 자세하게 설명되어 있다.
기억하는 대상이 중요한 것이 아니고 기억하는 방식이 중요하다. 2.3.2
기억하는 방식을 청크로 묶어서 기억하거나, 디자인 패턴을 사용하여 기억하거나 주석 문을 쓰고, 표식을 남김으로써 더 잘 기억할 수 있다고 한다.
-복잡한 코드를 이해할 수 있는 방법-
왜 두 번째 프로그래밍 언어가 첫 번째보다 쉬울까? '학습 도중 전이'가 발생하기 때문이다. -7.1
이미 알고 있다는 것은 저주인가 축복인가? - 7.2
위 두문장은 완전히 상반된 얘기를 한다. 두 번째 프로그래밍 언어를 배울 때 보다 첫 번째 프로그래밍 언어를 배울 때 '학습 도중 전이' 덕분에 더 쉽다고 말하면서, 이미 알고 있다는 것이 걸림돌이 될 수 있다고 말한다. 이는 '부정적 전이'의 결과로 LTM이 항상 긍정적인 효과를 일으키지만은 않는다는 것을 얘기해준다.
이를 해결하는 것도 언급되어 있다.
첫째, 자신이 옳다고 확신하더라도 여전히 틀릴 수도 있다는 것을 아는 것이 중요하다.
둘째, 흔하게 발생하는 오개념에 대해 의도적으로 연구해봄으로써 그런 오개념에 빠지는 것을 방지할 수 있다.
마지막, 같은 프로그래밍 언어를 같은 순서로 학습한 다른 프로그래머들에게 조언을 구하라. 7.2.4
*LTM : Long Term Memory
*STM : Short Term Memory
🏴할 수 있게 된 것
새로운 언어를 공부할 때 스파이크 솔루션을 적극 활용할 준비가 되었다.
먼저 익숙한 언어로 코드를 작성해 보고, 새로운 언어에 적용해보자.
스파이크 솔루션에 대해 궁금하다면 아래의 글을 참고하면 도움이 될 것 같다.
🏴더 해볼 것
첫째, 자신이 옳다고 확신하더라도 여전히 틀릴 수도 있다는 것을 아는 것이 중요하다.
둘째, 흔하게 발생하는 오개념에 대해 의도적으로 연구해봄으로써 그런 오개념에 빠지는 것을 방지할 수 있다.
마지막, 같은 프로그래밍 언어를 같은 순서로 학습한 다른 프로그래머들에게 조언을 구하라. 7.2.4
위 마인드를 가지고 프로젝트 참여해보기.
8장 명명 잘 하는 방법에서 "명확한 이름이 LTM에 도움이 된다." 라고 언급되어 있기 때문에 변수명 만들 때
이름이 길어지더라도 명학한 변수명 만들기
'독서' 카테고리의 다른 글
(함수형 코딩) 1장/ 함수형 사고란 무엇인가? (0) | 2022.07.28 |
---|---|
<실용주의 프로그래머> 서평 (0) | 2022.05.11 |
(클린코드) 2장. 의미 있는 이름 (0) | 2022.03.04 |
(클린코드) 1장. 깨끗한 코드 (1) | 2022.02.20 |
(코드 컴플리트2) 25 - 27장 회고 (0) | 2021.12.30 |