"코딩은 외우면 되는 것 아닌가요?"... 외우는 것이 항상 필요한 것은 아닌 프로그래밍
필자가 프로그래밍을 가르치러 다닐 때마다 듣는 이야기가 있다.
"프로그래밍은 그냥 외워야 하는데 난 외우지를 못해서..."
물론, 프로그래밍을 하다 보면 외워야 할 것도 있다. 하지만, 외우는 것이 전부는 아니다. 오늘은 프로그래밍에서 외워야 하는 것과 외우지 않아도 될 것을 알아보도록 하자.
"이걸 다 외워요?"... 외울 필요가 없는데 외우는 것들
처음 코딩을 배운 이들이 먼저 접하는 코드가 있다. 바로 '헬로 월드(Hello World)'라는 영어 문장을 띄우는 것. 이 코드를 가르쳐줄 때, 이 코드를 통으로 외워버리는 사람이 있다. 하지만, 코드를 외우는 것을 그만두었으면 한다.
코드는 말 그대로 '코드'일 뿐이다. 어떤 언어를 배우든 똑같은 역할을 하게 만들 때 서로 각자 언어에 특성에 맞추어 다 다르게 작성해야 한다는 것이다. 물론, 구조를 알고 있는 것은 중요하지만 이 말이 결국 작성한 코드를 통으로 외울 필요가 있다는 이야기는 아니다.
그런데도 코드를 외우는 사람이 있는데, 이는 답지를 외워서 수학 문제를 푸는 것과 다를 바 없다. 그렇기 때문에 코드 전체를 외우지 말고 구조 정도만 파악해보자. 외우는 것만으로 프로그래밍을 해야 한다면, 이 세상에 있는 모든 코드를 외우는 데 시간만 소비할 것이다.
또, 많은 사람이 착각하는 것이 있다. 많은 사람이 라이브러리랑 라이브러리 내의 함수를 외워야 하냐는 질문도 한다. 모르는 사람을 위해 라이브러리랑 함수를 설명을 하자면, 라이브러리는 말 그대로 함수의 모음집이다. 컴퓨터에서 함수는 작업을 처리하기 위한 명령구이다.
이해하기 힘들다면, 수학 시간에 배운 함수의 개념을 가져다 이해하면 조금 더 수월할 것이다. 우리가 하나의 프로그램을 만드는 데에 원초적인 명령어(조건문, 반복문, 연산 등등)만 사용하기 힘들고 복잡하다. 그렇기 때문에 프로그래밍에서는 이미 특정 기능을 사용 할 수 있는 함수와 라이브러리가 존재한다.
그런데, 이 라이브러리랑 함수 역시 외우려고 하는 사람이 있다. 라이브러리와 함수를 외우고 있다면, 당장 중단하기를 바란다. C언어로 치면 Printf나 scanf와 같은 기본적인 최소한의 함수들은 사용 용법 정도는 외우는 것이 맞다고 생각하지만, 그 외에 기타 함수나 라이브러리는 외울 필요가 없다. 기본적으로 라이브러리는 개발자들이 임의로 만든 함수 모음집에 불과하고 사용법 역시 찾으면 나온다.
실제 프로그래밍을 할 때도 필요한 라이브러리는 찾아서 외우지 않고 사용법을 보면서 응용한다. 그렇기 때문에 진짜 책에 나오는 기초 정도 아니면은 모든 라이브러리를 외우진 않았으면 좋겠다.
"프로그래밍이 상상력을 기른다"...외우는 것보다 생각하는 것이 중요하다!
결론을 말하자면, 프로그래밍은 외우는 활동이 아니다. 컴퓨터가 어떤 식으로 계산하게 만들어야 내가 원하는 결과를 내보낼지 생각하는 활동이다. 그렇기 때문에 무작정 외우는 것은 좋은 학습 방법이 아니라고 생각한다.
알고리즘의 구성, 알고리즘의 효용성을 고민할 시간에 코드를 외우는 것은 프로그래밍 실력이 올라가는 것이 아닌 그저 외우는 암기력만 키울 뿐이다. 그러니 외우지 말고 생각하라. 프로그래밍은 생각하는 것부터 시작한다.
[저작권자ⓒ CWN(CHANGE WITH NEWS). 무단전재-재배포 금지]