사이드바 영역으로 건너뛰기

전산학이란 무엇인가?

전산학이란 무엇인가?

전산학은 일반인들의 인식과는 많이 다르며, 내가 과거에 생각했던 이미지와도 많이 다르다는 것을 요즘 많이 느낀다. 전산학의 본 모습은 전산학의 수학적 기원과 그 수학 아이디어의 물리적인 실현의 의미를 살펴 봄으로써 알 수 있을 것이다.

 

일반인이 생각하는 전산학

대부분의 사람이 전산학을 단순히 '프로그램을 짜는 것'정도로 생각하고 있지만, 그것은 빙산의 일각에 불과하다. 실제로는, 유용하고 효과적인 프로그램을 만들어 내기 위해 수많은 이론적인 작업도 함께 병행되고 있다. 오히려 전산학의 중심 그룹에서는 이론적인 작업이 실용적인 작업을 압도하는 경우도 많다.

그러고 보면 사람들이 생각하는 전산학은 '요즘의 전산학'에 가까운 것 같다. 즉, 현재 전산학 분야에서 가장 활발하게 일어나며 쉽게 접할 수 있는 '프로그램 개발'을 중심으로 전산학을 인식한 것이다. 컴퓨터를 켜면 그 속엔 웹 페이지, 게임, OS, 각종 응용프로그램 등등 누군가의 '열혈 코딩'으로 만들어진 프로그램들로 가득차 있으며, 서점에 넘쳐나는 컴퓨터 책들 또한 개발 도구, 개발 방법을 다룬 것들이 주류를 이루고 있다.

이러한 현재의 용도와 유행에 기반을 둔 인식이 아쉽다. 근 20년 동안 사람들의 컴퓨터에 대한 관심은 폭발적으로 늘어났다. 이 짧은 기간 동안 많은 관심을 모을 수 있었던 것은 컴퓨터의 빠른 계산 능력과 다양하고 좋은 응용프로그램 덕분이다. 하지만 이 두 가지 능력을 인정받아 화려한 스타로 부상되기 이전의 모습과 그 기반에 대한 관심은 너무도 적다. 그저 좋은 프로그램을 많이 만들어 낼 수 있으면 그만이랄수도 있지만, 전산학을 공부하는 사람이기 때문일까, 조금 더 깊은 관심을 가졌으면 하는 바램이 있다.

 

수학의 분과로서의 전산학

전산학은 기원전부터 생긴 수학과 함께 자라와 근래에 본격적으로 갈라져 나온 수학의 한 분과이다. 컴퓨터의 가장 기본적인 정보단위의 연산법인 Boolean Algebra, 미분, 적분, 논리식의 유츄 등의 기호 연산법, 그리고 간단한 알고리즘이라 할 수 있는 곱셈, 나눗셈에 이르기까지, 현재 전산학의 여러 가지 개념과 기본 원리는 수학에서 수세기 전에 먼저 성립되었던 것이다. 어쩌면 당연한 일일까, 현재 우리가 쓰고 있는 기계적인 컴퓨터의 모델도 수학자 Alan Turing에 의해 만들어졌다. 더욱 재미있는 것은, Turing이 Turing Machine으로 본 뜨려했던 대상이 수학자'였다는 것이다. 이처럼 현재의 컴퓨터의 기본적인 개념과 능력은 끈끈하게 수학과 연결되어 있다. 그렇다면 전산학이 수학 분야(대수학, 해석학 등등)로서 남지 않고 근래에 갈라져 나온 이유는 무엇일까? 그것은 사람들의 컴퓨터라는 기계에 대한 지대한 관심과 배려 때문이라 생각한다. 기계를 잘 이용할 수 있는 방법이 중요한 문제가 된 것이다. 실제로 Computer Science라는 학문이 생긴 것도 쓸만한 기계가 나온 시기와 비슷하다. 하지만 전산학이 수학에 뿌리를 두고 있다는 사실은 변함없다.

 

물리적 실현으로서의 전산학

전산학이 기계로 실현된 역사를 살펴보자. 이것 또한 그 시작을 찾자면 한참을 거슬러 올라가야 한다. 중국의 주판으로부터 파스칼의 계산기, Babbage의 Analytical Engine, 그리고 20세기 중반의 ENIAC, 그리고 현재의 우리들 눈앞에 있는 PC에 이른다. 이 기계들이 계산을 빠르게 할 목적으로 만들어진 것을 보면, 이들이 수학 아이디어의 실현인 것은 확실하다.

물리적으로 실현된 컴퓨터는 엄청난 가능성을 가진 신대륙이었다. 새로운 공간을 제공하고 세상과 상호작용함으로써 단순히 수학 아이디어가 3차원 상에 모습을 드러낸 것 이상의 의미를 가지게 된 것이다. 인터넷이라는 새로운 공간과 그 속의 네티즌들, 실제를 방불케 하는 게임들, 그 공간속에서 자유롭게 자신의 창조물(프로그램)을 만들기, 다른 컴퓨터나 기계와의 연결을 통해 공간 확장시키기 등, 많은 것들이 가능하게 되었다.

 

전산인으로서 요구되는 자질

'Art of computer programming'의 저자인 Donald Knuth교수는 이론과 실제를 겸비한 전산인이 되어야 함을 시너지의 관점에서 주장한 바 있다. 현재 전산학은 수학에 그 기초를 두고 있으면서도 물리적인 실현(기계적인 컴퓨터 또는 소프트웨어적인 프로그램) 또한 중요한 학문이다.

 

수학적 모델을 만들고 그에 대해 사고할 수 있는 능력 - Theory

전산인으로서 연구대상에 대한 충분한 지식과 이들에 대한 수학적 모델을 만들고 사고할 수 있는 능력은 필수적이다. 요즘의 전산학을 보면, 컴퓨터와 다른 분야를 접목하는 경우가 상당히 많다, HCI, AI 처럼 사람과 컴퓨터를 같이 연구해야 하는 경우, Computer Architecture, Networking등 전기전자 지식이 필요한 경우, 생물학과 연관된 bioinformatics의 경우도 있다. 이렇게 다른 분야와 컴퓨터가 접목되는 경우, 컴퓨터는 주로 어떤 대상을 모델링하여 실험 또는 시뮬레이트하거나, 연구를 돕는 도구를 만들게 된다. 이때, 대상의 중요한 특성을 수학적으로 본뜨고 컴퓨터에 표현해 내는 능력과, 그 모델이 제대로 된 것인지, 어떤 특성을 가지는지 잘 파악할 수 있는 능력이 핵심이 된다.

그와 함께 전산학의 이론 지식 또한 중요하다. 수학적인 바탕 위에 세워진 전산학의 특성을 알아야만 어느 수준까지의 모델링을 컴퓨터로 실현 가능한지, 어느 정도로 효율적으로 구현 가능하지를 알 수 있다.

수학적인 모델은 서로간의 의사소통 수단과 구현의 밑바탕으로서도 아주 중요한 의미를 가진다. 많은 경우 전산학이 다루는 대상의 모델을 정확하고도 간결하게 표현할 수 있는 도구로서 수학식보다 나은 것은 없는 것 같다.

 

효율적이고 유용한 실재물을 만드는 능력, Practice

이렇게 다른 분야와 접목된 경우, 전산학에서의 역할은 좋은 프로그램 또는 기계를 만들어 내는 것이다. 이러한 외부적인 기대만으로도 이것의 중요성은 충분히 강조될 수 있을 것이다.

진보블로그 공감 버튼트위터로 리트윗하기페이스북에 공유하기딜리셔스에 북마크