*게임 즐기기
프로그램은 어찌 보면 퍼즐 게임과 같은 것인지도 모른다.
흩어져 있는 조각들을 모아 하나의 그림을 완성하는 것이 퍼즐 게임이다.
프로그래밍이란 것도 마찬가지로 흩어져 있는 생각들을 모아 하나의 프로그램으로 완성하는 작업이다.
이 두 가지는 모두 '흩어져 있는 것을 모아 하나의 의미 있는 것'으로 만든다는 점에서 동일하다.
퍼즐 작업에서는 의미 있는 것이 그림이 되지만, 프로그래밍에서는 의미 있는 것이 프로그램이 된다.
퍼즐 작업에서는 흩어져 있는 것이 조각 그림이지만, 프로그래밍에서는 프로그래머의 생각이나 설계 문서 따위가 흩어져 있는 것에 해당된다.
이처럼 퍼즐 게임과 프로그래밍은 유사한 점이 많다.
아직 과학적으로 검증이 되지는 않았지만,
퍼즐 게임을 잘하는 사람이 프로그램을 잘 작성할 가능성이 높다고 생각한다.
연관적이지 않은 조각들을 모아 하나의 연관성 있는 정보로 만들어 간다는 점에서 퍼즐 게임과 프로그래밍은 닮아 있다.
그렇기 때문에 퍼즐 게임을 즐기다 보면 '연관성을 찾아 완성해가는 능력' 이 생길 것이고,
이것은 프로그래밍 작업에도 응용될 수 있는 능력이 될 것이다.
또 퍼즐 게임은 인내력도 길러 준다.
수 백에서 수 천개로 이루어진 대형 퍼즐의 경우에 그것을 완성하는 데에 많은 시간이 걸리고,
그 시간 동안에 인내심이 길러진다.
단지 '연관성'을 찾는다는 이런 단순한 원리 하나만으로 오랜 시간 동안 작업을 해야 하는 것이기 때문이다.
이것은 프로그래밍과도 매우 유사한데, 프로그래밍도 단지 프로그램의 로직을 세운다는 것,
즉 단편적인 코드나 모듈 간의 연관성을 찾는다는 길고 지루한 작업이기 때문이다.
그렇기 때문에 나는 퍼즐 게임으로 길러진 인내심이 프로그래밍 작업에도 유효할 것이라고 생각한다.
꼭 퍼즐 게임만이 프로그래머의 두뇌 능력을 향상시켜 주는 것은 아닐 것이다.
지뢰 게임, 푸쉬 푸쉬 게임, 소마 큐브 게임이나 탱크램 게임과 같이 두뇌 게임에 해당되는 것이라면 더 좋다.
프로그래머여, 게임을 즐겨라.
[표] 퍼즐 게임과 프로그래밍
퍼즐 게임 프로그래밍
흩어져 있는 것 조각 그림 단편적인 생각, 알고리즘, 설계문서 등
의미 있는 것 완성된 그림 완성된 프로그램
2010년 08월 30일 10시 23분 21초