컴퓨터의 정의는 무의미한가?

처음의 컴퓨터는 이름 그대로 계산을 하기 위한 기계였다. 그러던 것이 계산하기 위한 수식을 입력하고 계산된 결과를 보기 위해 입출력이라는 것을 갖게 되면서 응용이라는 것에 관심을 두기 시작한다. 응용이란 원래의 목적과 다른 목적으로 ‘써먹어도 좋겠다!’는 생각을 행동으로 옮기는 것이다.

곧이어 컴퓨터는 사무를 돕는 도구로 사용되기 시작한다. 전신을 대신하기 위한 전자우편과 게시판 시스템은 사무조직의 기본 도구를 대체했다. 아직도 여전히 현역인 워드프로세서, 스프레드시트, 데이터베이스는 알고보면 꽤나 오래된 역사를 가지고있다. ‘Lotus 1-2-3’이나 ‘dBase’를 검색해서 당시의 화면을 찾아보면 의외로 갖출 건 다 갖추고 있다는 것에 놀라울 것이다.

종전과는 비교할 수 없을 규모의 큰 기업들이 나타나자 물류와 발주 관리에도 컴퓨터가 역할을 하기 시작했다. 인사와 회계를 비롯한 사업의 모든 영역이 컴퓨터를 이용해 관리되었다. 은행의 시스템이 컴퓨터를 이용하고 있던 것과는 좀 다른 것이다. Utility와 Application의 차이다. 컴퓨터가 늘 쓰이던 기능 그대로 ‘이용’되는 것이 아니라 새로운 목적을 위해 ‘활용’되는 전환점의 예시다.

컴퓨터의 활용처가 다양하다보니 이러한 전환점은 끝도 없이 이어졌다. 심지어 현재는 컴퓨터가 아예 사람을 대체하기 위해 모사 중이다. 이미 의사보다 X-ray 사진 판독을 더 잘 하고, 인간이 이길 수 없는 바둑을 둔다. 응용이라는 단어가 무색할만큼 아예 컴퓨터의 근본 목적 자체가 ‘응용을 하는 기계’가 되었다.

그럼에도 불구하고 시작부터 지금까지 반복되는 한가지 원동력이 있다. 이 모든 발전적 확장의 뒤에는 사실 컴퓨터공학이 아니라 물리학과 전자공학이 있다는 것.아이러니하게도 수많은 서비스적인 확장이 소프트웨어와 직결되는 것이 아니라 소위 컴퓨팅 파워라고 일컫는 하드웨어 발전의 힘으로 당겨지고 있었다는 것이다.

사람들은 이미 오래전부터 컴퓨터를 이용해서 하고 싶은 일이 머릿속에 한가득이었고 방법론까지도 미리부터 지속적으로 갖춰가고 있었다. 서비스적 발상이 불현듯 터져나와서 그간 상상도 못 하던 것에 눈을 뜬 게 해주는 것이 아니다. 그저 그간에는 그걸 구현할 하드웨어가 없었던 것 뿐이다. 지금 우리가 쓰고 있는 많은 서비스들이 사실 대부분 수십년 전에 고안된 것이라면 믿겠는가. 의심이 들 땐 논문 말고 특허를 뒤져보라. 논문은 하드웨어가 갖춰져야 실험된 후 출간되는 것이고, 특허는 하고 싶은게 생기는 순간부터 있지도 않은 물건을 가지고 출원된다.

업계에서 잔뼈가 굵을 때쯤이면 알게 되는게 있다. “그거 아이디어 아닌데? 내가 십년 전에 들었던 얘기고 내 선배도 그보다 십년전에 들었을 말인데?” 당신이 던지는 소리는 뭐가 됐든 당신이 처음한 말이 아니다. 아주 옛날부터 사람들이 원해왔던 zigbee 기술은 아직도 완성이 털끝만큼도 안 되었지만, 홈 오토메이션으로 시작해서 스마트홈으로, 다시 유비쿼터스에서 이제는 IoT까지 수도 없이 이름만 계속 바꿔가며 줄곧 그것을 구현해줄 하드웨어만 기다리고 있는 중이다.

IoT는 저전력 저용량 통신의 기기들이 잔뜩 자리를 잡아야 가능한 일이고, 강인공지능을 완성시키기에 인류는 아직도 GPU가 부족하다. 컴퓨터를 정의하는 기준은 하드웨어의 필요에 따라 끝도 없이 변해가는데 그 응용 서비스는 혁신적인 점프가 지속적으로 찾아와도 컴퓨터라는 이름을 여전히 사용한다. 우리가 가져다 쓰는 ‘컴퓨터’라고 이름 붙은 장치는 파스타의 종류처럼 지속적으로 불어난다. 그러나 우리는 컴퓨터학이라는 것을 하나의 과목으로 삼아서 공부하고 있다. 실상은 한 연구실의 지식으로 심지어 바로 옆 방 교수의 논문 조차 못 읽는 경우도 허다한데도.

프로그래머인 여러분이 현시기에 꼭 이해해야할 것이 두 가지 있다. ‘당신은 범용의 컴퓨터 기술자가 아니라 어느 꽤나 좁은 한 분과의 전문가이고’, ‘당신이 아는 컴퓨터는 또 조만간 다른 존재가 되어있을 것이다.’