채진석 인천대 교수·컴퓨터공학
프로그래밍 언어를 배우는 것은 영어나 일본어, 중국어 등의 외국어를 배우는 것과 비슷하다는 생각을 하곤 한다. 외국인과 대화하기 위해서는 외국어를 배워야 하는 것과 마찬가지로 컴퓨터와 대화하기 위해서는 프로그래밍 언어를 배워야 한다. 외국어와 프로그래밍 언어는 많은 공통점을 가지고 있는데, 프로그래밍 언어도 일종의 언어이기 때문에 문법을 가지고 있으며, 외국어와 마찬가지로 자주 사용하지 않으면 사용법을 금방 잊어버리게 된다. 대학 시절 필자는 프로그래밍 언어와 사람이 사용하는 언어 사이에 밀접한 관련성이 있을 것이라는 막연한 추측을 하고 있었는데, 이것이 사실이라는 것을 결정적으로 확인한 계기는 필자의 같은 학과 후배를 통해서이다. 이 후배는 마지막이 ‘어’로 끝나는 모든 과목에서 D 학점을 받았는데, 예를 들면 국어, 영어, 독일어 등의 과목이 그것이다. 그런데 이 후배가 결국 ‘프로그래밍 언어’ 과목에서도 D 학점을 받자 필자는 언어 과목과 프로그래밍 과목이 밀접하게 연관되어 있다고 확신하게 됐다.
외국어에 능통하기가 어려운 만큼 프로그래밍 언어에 능통하는 것도 쉽지 않다. 우리가 초등학교 시절부터 시작해 평생을 얼마나 많은 시간 영어 공부에 투자하고 있는지 생각해 보자. 그런데 아무리 많은 시간을 투자한다고 하여도 실제 외국인을 만나서 자유롭게 이야기를 나누는 사람을 만나기가 어려운 것은 그만큼 영어를 공부하는 것이 쉽지 않기 때문일 것이다. 특히 과거 우리나라에서 문법 위주로 영어를 공부한 사람들은 외국인을 만나 한마디 대화도 제대로 이어가지 못하는 경우가 허다하다. 프로그래밍 언어도 이와 마찬가지로 문법 위주로 공부하다 보면 금방 지치게 되고, 실제로 컴퓨터가 이해하는 프로그램을 제대로 만들기도 어렵게 된다.
프로그래밍 언어에 능통하기 위해서는 많은 시간과 노력을 투자해야 한다. 컴퓨터과학을 공부했던 많은 사람들이 대학 시절 수업시간에 내준 프로그래밍 숙제를 하느라 숱한 밤을 새운 기억을 가지고 있을 것이다. 프로그래밍 실력은 절대 거저 얻어지는 것이 아니다. 이 세상 모든 기술들과 마찬가지로 인내와 끈기를 가지고 오랜 세월 실력을 연마해야 비로소 무림의 고수로 성장할 수 있는 것이다.
프로그래밍 언어를 배우기가 어려운 이유 중의 하나는 컴파일 과정에서 오류가 발생하기 때문이다. 프로그래밍 초보자의 경우 본인은 아무 문제 없이 프로그램을 작성했다고 생각하는데 컴파일 과정에서 오류가 생기고, 어떤 이유 때문에 오류가 발생했는지 파악하기가 어렵기 때문에 끈기가 부족한 학생들은 몇 번 시도해 보다가 결국은 포기해버리는 것을 많이 보게 되었다.
이러한 문제를 해결하기 위해서는 문법 오류가 발생하지 않는 프로그래밍 언어가 필요한데, 이러한 프로그래밍 언어를 찾던 중 필자는 ‘앨리스(Alice)’라는 매력적인 이름을 가진 프로그래밍 언어를 알게 됐다.
앨리스는 루이스 캐럴의 동화 <이상한 나라의 앨리스>의 주인공인 앨리스 리델의 이름에서 따온 것으로 카네기 멜론 대학의 랜디 포시(Randy Pausch) 교수의 주도로 만들어진 프로그래밍 언어이다. 앨리스를 사용하게 되면 프로그래밍 기본 타일을 조합하여 프로그래밍을 하기 때문에 문법 오류가 발생하지 않는다. 그 이유는 문법적으로 오류가 있는 부분에는 타일을 가져다 놓을 수 없기 때문이다.
랜디 포시 교수가 미 버지니아주 샬롯빌에서 마지막 강연을 하고 있다. (출처: 경향DB)
앨리스 프로젝트를 주도했던 랜디 포시 교수는 <마지막 강의(The Last Lecture)>라는 책으로도 유명하다. 췌장암으로 죽음을 앞둔 포시 교수가 카네기 멜론 대학에서 했던 마지막 강의를 정리한 이 책에는 다음과 같은 일화가 나온다. 포시 교수는 어린 시절 디즈니랜드를 구경하고 나서 디즈니사에서 일하겠다는 꿈을 가지고 여러 번 디즈니사에 입사지원서를 냈지만, 번번이 탈락하고 만다. 그러나 그는 어린 시절의 꿈을 잊지 않았고, 나중에 열심히 공부해 카네기 멜론 대학의 교수가 된 다음 결국 디즈니사와 공동 연구를 추진하면서 어린 시절의 꿈을 이루게 되었다는 이야기이다. 필자는 앨리스를 강의하는 첫날 학생들에게 포시 교수의 마지막 강의 동영상을 보여주면서 앨리스와 포시 교수가 어떤 관계가 있는지 찾아보라고 했다.
절망할 수밖에 없는 상황에서 절망하고 인생을 포기하는 것은 매우 쉬운 일이다. 그러나 절망할 수밖에 없는 상황에서도 절망하지 않고 역경을 이겨나가기 위해 노력하는 것은 그대로 한 편의 드라마가 되어 후세들에게 들려줄 소중한 이야기가 된다.
인생에서 만나는 모든 것들이 마찬가지이겠지만 지금 프로그래밍 언어를 공부하는 모든 학생들도 공부하기가 어렵다고 절망하거나 포기하지 말고 차근차근 실력을 쌓아 세상을 바꾸는 프로그램을 만들어내는 프로그래머가 되기를 소망해 본다.
'과학오디세이' 카테고리의 다른 글
‘위험 거버넌스’와 소통 (1) | 2012.09.16 |
---|---|
우리 시대가 요구하는 융합적 교양교육 (0) | 2012.09.10 |
소셜 웹이 만드는 신 ‘열린사회’ (0) | 2012.08.19 |
스포츠과학과 약물복용 (0) | 2012.08.12 |
인간과 기술의 관계, 변하고 있다 (0) | 2012.07.22 |