Question: 인류 역사상 처음 만들어진 컴퓨터 프로그램은 무엇인가?

컴퓨터의 역사


컴퓨터의 역사</b>는 주판부터 시작해서 현대의 컴퓨터까지 이어지는 역사이다.
초기의 계산 장치
계산을 하는 도구로서 가장 간단한 것은 주판이며, 기원전 약 3000년전 고대 메소포타미아 인들이 가장 먼저 사용했다고 추정된다. 주판을 제외하면 17세기에 이르도록 계산을 위한 특별한 도구가 없었으나 1642년 프랑스 수학자·철학자인 B. 파스칼이 톱니바퀴를 이용한 수동계산기를 고안하였다. 이 최초의 기계식 수동계산기는 덧셈과 뺄셈만이 가능했던 것으로 이 장치는 기어로 연결된 바퀴판들로 덧셈과 뺄셈을 했다. 파스칼의 계산기는 최초의 디지털 계산기였다. 1671년 무렵 독일의 G. W. 라이프니츠가 이를 개량하여 곱셈과 나눗셈도 가능한 계산기를 발명하였다. 또 라이프니츠는 십진법보다 기계장치에 더 적합한 진법을 연구해서, 17세기 후반에 이진법을 창안했다. 이진법은 1과 0만을 사용하며, 이들을 배열해서 모든 숫자를 표시한다.
천공카드 계산 장치의 발명
수학자 찰스 배비지는 처음으로 자동계산기에 대한 견해를 발표하였다. 그는 1823년 삼각함수를 유효숫자 5자리까지 계산하여 종이에 표로 인쇄하는 차분기관(difference engine)을 만들었다. 또한 1830년대에는 방정식을 순차적으로 풀 수 있도록 고안된 기계식 계산기 해석기관(analytical engine)을 설계하였다. 자동 계산기는 ① 수를 저장하는 장치(기억) ② 저장된 수치간의 계산을 하는 장치(연산) ③ 기계의 동작을 제어하는 장치(제어) ④ 입출력 장치로 이루어져 오늘날 사용하는 자동 컴퓨터의 모든 기본 요소를 갖춘 것이었다. 그러나 당시 기계부품 제작 기술의 한계로 인해 실물을 제작하지는 못했다.
전자 컴퓨터의 태동
현대적인 의미의 컴퓨터는 제 2차 세계대전 직전과 대전 기간 중에 급격히 발전하였다. 이 과정에서 전자회로가 기계식 연산장치를 대체하고 디지털 회로가 아날로그 회로를 대체하는 변화가 있었다. 이러한 변화는 연대에 따라 조금씩 이루어졌기 때문에 "최초의 컴퓨터"가 무엇인지 정하는 것은 쉽지 않다.
2차대전과 그 전후의 기간 동안 초기 컴퓨터의 발전은 크게 세 가지 흐름으로 나눌 수 있다. 첫 번째 흐름은 독일의 공학자 콘라트 추제의 연구인데, 그의 연구는 오랫동안 학계의 주류인 미국에 잊혀져 있었다. 두 번째 흐름은 영국의 콜로서스 컴퓨터이나, 군사적인 이유로 수십 년간 기밀에 붙여져 있었다. 그래서 앞의 두 흐름은 미국의 연구에 영향을 미치지 못했다. 2진법을 전자계산기에 도입한 벨 연구소의 조지 스티비츠 또한 현대 전자식 컴퓨터의 아버지 가운데 한 명으로 알려져 있다.
콘라트 추제
독일에서 독립적으로 연구를 진행한 공학자 콘라트 추제는 1936년 제한적인 프로그래밍 기능과 메모리를 갖춘 계산기 Z 시리즈의 개발을 시작했다. Z 시리즈의 첫 작품인 Z1은 1938년에 완성되었는데, 이진수로 동작하였지만 기계식이었고, 부품의 정밀도의 문제로 정확히 동작하지 않았다.
후속작인 Z3는 1941년에 전화 교환기 부품을 사용해 완성되었다. Z3는 프로그래밍이 가능한 최초의 범용 디지털 컴퓨터가 되었다. Z3는 현대의 컴퓨터와 많은 부분에서 유사했으며, 부동소수점 연산 등에 있어 많은 발전을 이룩했다. 또한 구현하기 어려운 십진법 연산(배비지의 설계에는 십진법이 사용되었다)을 버리고 이진법 연산을 사용하여 보다 단순하고 신뢰성이 높도록 설계되었다.
Z3는 조건 분기문이 없어 처음에는 튜링 기계가 아닌 것으로 추정되었지만, 1990년대에 Z3이 튜링 기계라는 것이 증명되었다. 콘라트 추제는 최초의 고수준 프로그래밍 언어라 여겨지는 플랑칼퀼(Plankalkül) 또한 설계하였으나, 실제로 구현하지는 못했다. 플랑칼퀼은 추제 사후 5년이 지난 2000년에 베를린 자유 대학교 연구팀에 의해 구현되었다.
추제의 연구는 2차대전 중 연합국의 폭격으로 기계 일부가 손실되면서 잠시 후퇴하였기 때문에, 영국과 미국에서는 그의 연구를 거의 알지 못했다. 그러나 IBM은 그의 연구에 대해 알고 있었던 것으로 추정되며, 전쟁 직후인 1946년 그의 특허 일부를 취득하는 조건으로 추제가 설립한 회사를 후원하였다.
콜로서스
2차세계대전 기간 동안, 블레칠리 파크(영국 정부 암호 연구소의 별명)에서는 독일의 군사 암호 시스템을 해독하는데 성공하였다. 독일의 암호화 타자기인 에니그마는 전자기계식 계산기인 "봄베"(bombe)의 도움으로 해독되었다. 폴란드 수학자인 마리안 르쥐스키가 설계하고 앨런 튜링과 고든 웰치먼이 전자적으로 개선한 봄베는 1941년부터 암호 해독에 사용되었다.
독일의 또다른 암호화 타자기 시리즈인 로렌츠 SZ 40/42 시리즈는 에니그마와 많은 부분에서 달랐다. 이 암호 시스템을 해독하기 위해 막스 뉴먼 교수와 동료 연구자들은 콜로서스 컴퓨터를 설계하였다. 토미 플라워스가 1943년 3월에서 12월에 걸쳐 콜로서스 1호를 제작하였고, 1944년 1월에 블레칠리 파크에 설치했다.
엄청난 숫자의 진공관 부품을 가진 콜로서스는 세계 최초의 프로그래밍 가능한 완전 전자식 컴퓨터였다. 종이 테이프로 입력을 받아 다양한 종류의 논리 연산을 할 수 있었지만, 튜링 기계는 아니었다. 한대의 콜로서스 1호기와, 9대의 콜로서스 2호기가 제작되었으나, 1970년대까지 모두 군사 기밀로 붙여져 있었다. 또한 영국 수상 윈스턴 처칠은 냉전 중에 로렌츠 암호를 해독할 수 있다는 사실을 외부에 알리지 않기 위해 수명이 다한 콜로서스 컴퓨터를 완전히 파괴할 것을 명령했다. 때문에 콜로서스 컴퓨터의 존재는 한동안 컴퓨터의 역사에 수록되지 않았다.
현재 원래대로 복원된 콜로서스 한대가 블레칠리 파크에 전시되어 있다.
미국에서의 연구
1944년 아이비엠(IBM)사와 하버드대학 하워드 에이킨은 계전기를 사용하여 1초에 덧셈을 3번 할 수 있는 전자디지털 컴퓨터 마크-원(MARK-I)을 만들었다. 마크-원은 배비지의 해석기관 설계개념을 계전기와 스위치·전동기 등으로 구현한 것인데, 3,000여 개의 계전기와 기어로 만들어 천공된 종이테이프로 제어되는 자동순차적 제어방식이 특징이었다. 그러나 기계적 제약 때문에 연산처리 속도는 늦었다.
다용도 디지털 컴퓨터

1946년 미국 펜실베이니아대학 존 에커트와 존 모클리는 에니악(ENIAC：Electronic Numerical Integrator And Computer)이라는 다용도 디지털 컴퓨터를 개발했다. 에니악은 18,000여 개의 진공관과 1,500개의 계전기를 사용하였고, 무게가 30t이나 되는 거대한 기계였다. 또한 150kw의 전력을 소비하였고, 프로그램을 배선판에 일일이 배선하는 외부 프로그램 방식이었으므로, 에니악에서는 작업에 따라 배선판을 교체해야만 하였다.
이런 에니악의 단점을 보완하기 위해 1945년 존 폰 노이만이 기억장치에 컴퓨터의 명령이나 데이터를 모두 기억시키는 프로그램 내장방식을 제안하였다. 1949년 영국 케임브리지대학에서 세계 최초로 이 프로그램 내장방식을 채택하여 에드삭(EDSAC)을 개발하였고, 미국에서는 1952년 노이만이 자신이 제안한 전자식 프로그램 내장방식인 에드박(EDVAC)을 만들었다. 또한 1951년에는 유니박 I(UNIVAC－I)을 만들어 상품화하는 데 성공하였는데, 이것이 최초의 상업용 컴퓨터이다. 에드삭은 소프트웨어 면에서도 크게 이바지하였다. 그 뒤 프린스턴고등연구소에서 노이만의 지도 아래 제작된 이아스(IAS) 컴퓨터를 비롯하여 차례로 매사추세츠공대의 월윈드(Whirlwind), 에커트와 모클리의 바이낙(BINAC), 일리노이대학의 일리악(ILLIAC), 랜드회사의 조니악(JOHNIAC) 등이 제작되었다.
또한 컴퓨터의 크기는 반도체 기술과 전자기술의 발달로 점점 작아지고 연산속도도 피코초(ps) 단위로 빨라졌으며, 이용범위도 확대되어 가정은 물론 산업사회의 여러 분야에서 다양하게 이용되고 있다. 컴퓨터는 제1세대인 진공관, 제2세대인 트랜지스터, 제3세대인 IC, 제4세대인 초 LSI와 같이 대략 10년마다 집적도를 높여 고속화, 대용량화하였고, 슈퍼 컴퓨터가 출현하였다.
개인용 컴퓨터의 등장
초LSI의 출현에 의한 하드웨어의 대폭적인 원가 절감은 필요한 하드웨어를 손쉽게 사용할 수 있는 환경을 만들어 내어 1980년대 IBM이 PC를 내놓았다. 개인용 컴퓨터는 급속도로 사용자에게 보급되기 시작하여, 8086/8088 - 80286 - 80386 - 80486 - 펜티엄 이후로 CPU가 발전하게 된다. 그 외에도 개인용 컴퓨터에는 많은 발전이 생겨났다.
미래의 컴퓨터


컴퓨터의 기능은 갈수록 다양해지고 세분화 되가고 있다.. 컴퓨터 연구가들은 더 빠르고 성능 좋은 하드웨어와 소프트웨어를 개발하고 있다. 소프트웨어 연구는 단순히 자료를 다루는 것이 아니라 스스로 판단까지 할 수 있는 인공지능의 개발에 집중되고 있다. 컴퓨터를 더 작게 만들기 위한 노력도 계속되고 있다. 전문가들은 대부분 가까운 미래에도 집적회로로 만든 컴퓨터가 계속 사용될 것으로 예상한다. 그러나 몇몇 과학자들은 만든다기보다 기른다고 해야 할 생물학적 컴퓨터가 생산되고, 단위분자에 데이터를 저장할 수 있게 될 것이라고 예측한다. 분자저장 시스템을 이용하면 책 한 권도 안 되는 작은 공간에 인류의 모든 지식을 저장할 수 있게 될 것이다.
지능을 가진 기계
정보화 사회라 일컬어지는 오늘날 컴퓨터는 산업·사회의 중추적 역할을 다하며 우리 생활 주변의 밀접한 존재로서 자리를 굳혀 왔다. 그런데 보다 다종다양한 미디어에의 활용, 보다 쓰기 쉬운 컴퓨터, 소프트웨어의 생산성 향상 등으로 컴퓨터의 운용 분야가 확대되자, 종래의 컴퓨터 이론과 방식을 근본적으로 재검토하여 전혀 새로운 컴퓨터를 바라는 소리가 점차 높아지고 있다. 제5세대 컴퓨터는 바로 이와 같은 요망에 의해 등장하게 된 것이다. 인공지능 컴퓨터란 어떤 것일까? 만화영화에 나오는 아톰처럼 두뇌가 명석한 지능 로봇일까? 아니면 『2001년 우주의 여행』에 등장하는 무서운 슈퍼 컴퓨터 HAL 9000과 같은 것일까？ 둘 다 인간의 감정과 기능까지 비슷하게 갖춘 공상과학 소설의 슈퍼 스타이다. 그런데 여기서 생각하는 인공지능 컴퓨터란 위의 어느 쪽 이미지와도 멀지도 가깝지도 않다고 하는 것이 좋을 것 같다. 왜냐 하면 장래에는 인간과 대등하게 대화하고, 생각하고, 감정을 지니는 컴퓨터가 등장할지도 모르기 때문이다. 사실 우리가 인공지능을 이야기할 때 가장 어려운 문제는 인간의 지능을 어떻게 정의하느냐 하는 점이다. 이것은 컴퓨터 자신의 성능을 말하기 전에 인간의 지능 자체가 안고 있는 어려운 문제이다. 우리가 인간의 판단이나 행동을 정확하게 정량화(定量化)할 수 있다면, 이것을 컴퓨터에 그대로 반영시킬 수도 있을 것이다. 그렇게 되면 경우에 따라서는 컴퓨터가 인간의 정신을 능가해 버릴 날이 올지도 모른다. 그래서 세계의 인공지능 연구자들은 철학·논리학·심리학을 고스란히 컴퓨터에 옮겨 넣으려는 연구에 힘을 쏟고 있다. 이 분야에서도 미국은 역시 한걸음 앞서 있어서, 엑스퍼트 컴퓨터(전문가 컴퓨터)라는 것이 이미 실용 단계에 들어가 있다. 이것은 의사라든가 연구자 등 특정 분야의 전문 지식을 하나의 시스템에 짜 넣어, 전문가의 보조로 이용하려는 것이다. 스탠포드대학의 파이겐바움 교수를 중심으로 1975년에 개발된 마이신(MYCIN)은 의료 진단에 뛰어난 성과를 거두고 있으며, 그 밖의 여러 전문 분야에도 엑스퍼트 시스템이 등장해 있는 것으로 알려져 있다. 그러나 엑스퍼트 시스템이 특정 분야에 위력을 발휘한다고 하더라도, 그것은 인공지능의 가능성의 일부분에 지나지 않는다. 장래의 인공지능 컴퓨터는 여기에서 한 걸음 나아가 지식의 축적, 유추, 증명, 창작 등의 능력을 갖추게 될 것으로 기대된다.
정보에서 지식으로
제5세대 컴퓨터는 지적 대화 기능이나 추론 기능에 대응할 수 있는 컴퓨터 시스템을 개발 과제로 삼고 있는데 그 내용을 살펴보면 다음과 같다.
⑴ 문제 해결·추론 시스템 ― 외부에서 주어진 지식뿐만 아니라, 시스템에 기억되어 있는 데이터를 사용하여 컴퓨터 스스로 논리적인 추론을 해 나가 문제 해결을 꾀한다. 연역, 귀납적 추론, 몇 가지 지식계의 상호 보완에 의한 협조형 문제 해결 기능 등이 이 시스템에 포함된다.
⑵ 지식 베이스 시스템 ― 데이터뿐만 아니라 합리적인 판단, 실험 결과 등을 체계적으로 정리한 지식을 시스템 내에 기억하여, 필요한 때에 검색하는 기능을 지닌 시스템이다.
⑶ 지적 인터페이스 시스템 ― 컴퓨터에 인간이 말하는 자연 언어, 음성, 도형, 화상 등을 다루는 능력을 부여하여, 인간과의 대화가 순조롭게 진행되도록 하는 기능이다. 말하자면, 컴퓨터에 눈·귀·입을 부여하는 것인데, 중심이 되는 것은 자연 언어의 이해이다.
이것들은 종래의 폰 노이만형이라 불리는 컴퓨터와는 다른, 새로운 컴퓨터의 모습을 보여 준다. 폰 노이만형은 수치계산 지향, 프로그램 내장의 축차처리방식 컴퓨터로, 개발 당시 엄청나게 비싼 하드웨어를 보다 단순하게 하여 값을 낮추고 소프트웨어의 아이디어로 효율을 높이자는 생각에서 만들어졌다. 제1세대인 진공관(眞空管), 제2세대인 트랜지스터, 제3세대인 IC, 제4세대인 초LSI와 같이 대략 10년마다 집적도를 높여 고속화, 대용량화하였고, 슈퍼 컴퓨터가 출현하였다. 초LSI의 출현에 의한 하드웨어의 대폭적인 원가 절감은 필요한 하드웨어를 손쉽게 사용할 수 있는 환경을 만들어 냈다. 그리고 소자의 고속화는 점차 한계가 보이기 시작했기 때문에, 축차처리가 아니라 동시에 복수의 문제를 처리할 수 있는 병렬처리 지향의 구조가 요망되기 시작하였다. 그러나 매우 복잡한 소프트웨어는 극히 소수의 전문가가 아니고는 조작이 어렵다는 문제점이 있는 것 등이 지금의 현실이다. 앞으로 음성·문장·도형·화상 등의 비수치 데이터 처리가 진전되면 인간과 컴퓨터의 관계는 좀더 친밀한 것이 되며, 이것이 바로 제5세대 컴퓨터 설계에 근간이 되는 사상이다.
제5세대 컴퓨터의 프로그래밍 언어
제5세대 컴퓨터의 최대 과제는 프로그래밍 언어의 문제이다. 지적(知的) 프로그래밍 시스템은 컴퓨터의 지적 능력을 향상시켜, 프로그래밍의 부담을 인간 대신 컴퓨터가 맡도록 하려는 기능이다. 제5세대 컴퓨터는 연구 개발의 기점이 되는 핵언어(核言語)로 프롤로그(PROLOG)를 채택하였는데, 이것은 1972년, 프랑스 마르세유대학의 코르멜라외 교수에 의하여 기호 논리 처리용으로 개발된 언어이다. 프롤로그는 논리에 바탕을 둔 프로그램 언어이기 때문에 기호 처리는 물론 지식과 지식간의 관계를 인간에 적합한 언어로 기술한다. 새로운 설계 사상에 바탕을 둔 컴퓨터, 제5세대 컴퓨터에 있어서 핵언어를 무엇으로 하느냐 하는 문제는 문제 해결, 추론 시스템, 지식 베이스 시스템, 지적 인터페이스 시스템을 짜맞추어서 만들어지는, 각 부분의 처리를 위한 공통 언어의 선택이라는 의미를 지니기 때문에 특히 중요하다. 제5세대 컴퓨터의 '제5세대'라는 호칭은 일본에서 비롯된 것이지만, 그에 관련된 프로젝트는 전 세계적으로 진행되고 있기 때문에 앞으로 10년 후 컴퓨터의 모습이 어떠하리라는 것은 현재로서는 예상하기 어렵다. 하지만 제5세대 컴퓨터는 단독 기술만으로는 실현이 불가능하며, 여러 나라의 연구 교류가 활발히 이루어져야 한다. 이미 미국에서는 관(官)·학(學)·산(産)의 공동 연구 프로젝트 'CIS'라든가, 국방성의 'DARPA' 프로젝트가 진행되고 있다. 영국은 'AIT' 고도정보 기술계획, 프랑스는 'PIA' 인공지능 개발계획을 진행 중이다. EU(유럽 공동체)에서는 'ESPRIT' 유럽 정보기술 연구계획을 가동하기 시작하였으며, 일본은 국가 프로젝트로서 재단법인 '신세대 컴퓨터 개발 기구(약칭 ICOT)'를 발족시켰다. "이 계획은 어쩌면 실패할 가능성이 많다. 그러나 그 방향성은 우리가 반드시 거쳐야 할 미래에의 첫걸음이 될 것이다." 이 말은 제5세대 컴퓨터 연구를 바라보는 세계의 냉엄한 시각을 대변하는 것이다. 하지만 동시에 제5세대 컴퓨터가 세계의 커다란 조류로서 움직이기 시작했음을 말해 주고 있는 미래의 컴퓨터는 아직 안 나왔다.
참고 자료

외부 링크