컴퓨터 언어는 인공언어라서 다른 언어와는 차이점이 있긴 하지만 외국어 공부에 적용되는 것들이 여전히 유효할 수 있다고 봅니다.
일정 수준을 넘어선 이상, 영어를 배우는 최고의 방법은 영어에 대해 공부하는 것보다(문법책 수백권을 읽는다든지, 어휘집을 디벼 판다든지) 영어로 공부하거나 영어를 사용하는 것이라고 생각합니다.
또한 듣기, 말하기, 읽기, 쓰기의 수용적 기술, 생산적 기술 양자를 고루 '사용'하고 늘 훈련해야 합니다. 특히 듣기와 읽기를 할 때에는 집중적intensive이면서 포괄적extensive이어야 합니다. 하나의 자료에 깊이 천착하다가도 다양한 자료들을 접해야 하는 것입니다.
이런 입력 자료를 소화할 때에는 세계적인 언어학자 크라센Krashen이 말하는 i+1 입력을 기억해야 합니다. 효과적인 학습은 자신의 수준을 i라고 했을 때 자신이 아는 것과 모르는 것의 접경인 i+1 단계에서 이루어진다는 거죠.
파이썬 공부에 이를 적용한다면 가능하면 파이썬을 위해 공부하기 보다는 파이썬을 다른 공부에 이용하거나, 파이썬으로 쓰인 다른 것을 직접 읽고 흉내내 보는 것이 역설적으로 더 효과적이라는 것입니다. 또, 수용적 훈련 이외에도 생산적 훈련을 항상 병행해서 괜찮은 프로그램을 보면 처음에는 여기 저기 고쳐보다가 나중에는 자기의 필요를 반영하는 프로그램을 새로 만들어 보는 것이 좋습니다. i+1 입력은, 소스 분석을 할 때 가능하면 "아예 이해 안되는 것"을 대상으로 하는 것 보다는 "알 듯 모를 듯 한 것"을 대상으로 하는게 좋다는 이야기가 됩니다.
저는 개인적으로 파이썬 라이브러리와 파이썬 소스 코드를 보면서 공부가 많이 되었습니다. 그리고 어떤 일을 해줄 프로그램이 필요할 때 이 일을 해주는 파이썬 프로그램이 이미 있는가 찾아보고, 있다면 그것을 가져와서 어떤 식으로 되어 있는지 소스를 구경하고 분석하고, 제 필요에 맞게 변경했죠.
결국은 직접 짜보고, 항상 고민하고, 남들이 만든 '좋은 소스'를 공부하고 흉내내보고, 수정하고 하는 것 외에는 별다른 묘책이 없을 겁니다.
아, 그리고 많은 사람들이 외국어 공부에서 오해하는 것이 있는데 영어 작문 공부가 따로 있다고 생각하는 것입니다. 물론 형식이나 구두점 표기, 수사적 표현 등 공부하고 몸에 익혀야 할 것들이 있습니다만 그런 것들만으로는 절대 좋은 영문을 써내지 못합니다. 글쓰기라는 것은 결국 생각의 표현이고, 이는 사고의 훈련 없이는 사상 누각과 같습니다. 한글로도 신문 사설류의 글을 쓰지 못하면서 영어로 아카데믹한 에세이를 잘 쓸 수 있을 것이라 생각하고 영작 교재를 후벼파는 것은 아무 의미가 없습니다.
파이썬 공부는 파이썬 공부만으로 되지 않습니다. 사고의 공부와 논리적 훈련이 뒷받침 되어야 할 것입니다. 다른 컴퓨터 언어들을 (functional, imperative, logic) 공부하고 새로운 기술들을 접하고 외면적이고 피상적인 '일시적 지식' 외에도 그 근저에 자리한 원리와 이론을 익히는 것, 항상 세상에 대해 열린 자세와 지적 호기심을 유지하는 것 등이 모두 '궁극적으로는' 파이썬 공부와 분리될 수가 없을 겁니다.