brunch

You can make anything
by writing

C.S.Lewis

by 에르반의 고양이 Aug 21. 2021

19세기에 컴퓨터와 프로그램을 만든 천재들

[기상천외한 과학자들의 대결] (10) 찰스 배비지와 에이다 러브레이스

컴퓨터는 프로그램을 이용해 결과를 도출하기 위해 만들어진 기계이다. 과거 컴퓨터는 주로 연산을 하는 ‘계산기’를 뜻했다. 오늘날의 컴퓨터는 20세기 천재들인 앨런 튜링(Alan Turing)의 논문을 시작으로 존 폰 노이만(John von Neumann)이 설계한 프로그램 저장 방식과 존 바딘(John Bardeen), 월터 브래튼(Walter Brattain), 윌리엄 쇼클리(William Shockley) 등 노벨상 트리오가 발명한 트랜지스터로 개발을 거듭한 결과물이라 할 수 있다.     

하지만 19세기에 ‘컴퓨터’라는 개념과 프로그래밍을 최초로 고안해낸 ‘컴퓨터 원조 천재’는 따로 있다. ‘해석 기관’이라는 최초의 컴퓨터를 설계한 찰스 배비지(Charles Babbage, 1791~1871)와 최초의 프로그래머로 불리는 에이다 러블레이스(Ada Lovelace, 1815~1852)가 바로 그 주인공이다.     


최초의 컴퓨터를 고안한 천재 찰스 배비지   

  

찰스 배비지(Charles Babbage, 1791~1871)는 영국의 유명한 철학자이자 수학자이고 발명가다. 무엇보다 그는 기계공학자로 프로그램 설계가 가능한 현대식 컴퓨터를 개념화한 천재였다. 최초의 컴퓨터는 인간의 연산 오차를 줄일 수 있는 정확한 계산기 용도로 개발됐다. 찰스 배비지는 지금과 같은 형태의 컴퓨터를 최초로 발명한 인물로 그의 발명 이후 더욱 복잡한 형태의 컴퓨터들이 개발되기 시작한다.     

19세기에 컴퓨터를 고안해냈고 비록 실제 모형을 만들지는 못했지만 베비지 당신은...하..이런 천재도 있다.

찰스 배비지는 이미 1822년 컴퓨터의 전신 개념인 ‘차분 기관’을 생각해냈고 이후 ‘해석 기관’이라는 컴퓨터를 설계한다. 현대 컴퓨터가 개발되기 한 세기 전의 일이다. ‘차분 기관(Difference Engine)’은 여러 개의 수를 자동 계산할 수 있는 기능을 갖췄지만 당시 여러 가지 열악한 여건 속에서 완성되지 못한다. 찰스 배비지는 다시 ‘해석 기관(analytical engine)’이라는 기계를 만들기로 한다. 해석 기관은 50자리 숫자 천 개를 저장할 수 있는 능력을 갖췄다. 범용적인 계산도 척척해냈다. 해석 기관은 차분 기관과는 다르게 프로그래밍을 할 수 있는 혁신적인 기계였다. 오늘날 컴퓨터의 원형에 가까운 기계를 고안해낸 것이다.     

하지만 결국 해석 기관도 비용 및 당시 기술로는 구현할 수 없다는 실질적인 문제로 인해 결국 완성되지 못하고 좌절된다. 천재는 천재를 알아본다고 했던가. 찰스 배비지는 에이다 러브레이스의 비범함을 알아보고 조수 및 후원자로서 해석 기관 연구에 동참시킨다.     


인류 최초의 프로그래머 에이다 러브레이스     


에이다 러브레이스는 1842년 베비지와 함께 한 연구를 바탕으로 ‘배비지의 해석 기관에 대한 분석’을 출판한다. 그리고 그가 남긴 노트에는 기계가 작동하는 방식을 적은 최초의 알고리즘이 적혀있었다. 실존하지도 않는 기계에 프로그래밍을 설계하는 획기적인 성과를 보인 것이다. 에이다 러브레이스의 본래 이름은 에이다 바이런. 그는 영국의 시인 조지 고든 바이런(George Gordon Byron, 1788~1824)의 딸이다. 그는 어릴 때부터 수학에 뛰어난 재능을 보였다. 성년이 되어서는 평범한 귀족 부인으로 살아가던 중 당시 케임브리지 대학교수인 찰스 배비지를 후원자로 만나게 되면서 그의 연구를 돕게 된다. 그리고 에이다는 찰스 베비지의 해석 기관이 ‘완성된다’는 가정하에 해석 기관에서 작동할 프로그래밍을 설계한다.     

에이다 러브레이스는 설정된 조건을 만족하는 한 같은 계산이 반복되는 루프(loop)나 사용한 공식을 다시 사용하는 ‘서브루틴(subroutine)’, ‘if’와 같은 제어 구문, 건너뛰어 실행하는 ‘점프(jump)’ 등 프로그래밍 언어에서 사용되는 중요한 개념을 고안한다. 하지만 그의 한 세기를 앞서 내다본 프로그래밍 능력은 배비지의 해석 기관이 만들어지지 못한 탓에 그대로 묻혀버리고 만다. 그의 천부적인 재능은 100년 후 앨런 튜링에 의해 빛을 발하게 된다. 에이다 러브레이스는 베르누이 수를 구하기 위한 알고리즘도 제시했는데 이를 통해 찰스 배비지의 해석 기관을 알고리즘으로 설명한 최초의 프로그래머로 인정을 받게 된다. 19세기에 현대 컴퓨터 언어의 기초가 되는 개념을 최초로 개발한 에이다 러브레이스(Ada Lovelace, 1815~1852). 이후 미국 국방성(Department of Defence, DoD)은 1980년 개발한 미 국방성의 프로그래밍 언어를 그의 이름을 따 ‘에이다(Ada)’라고 명명하는 등 컴퓨터 공학 발전에 대한 그의 공헌을 인정하고 기리게 된다.      

19세기 당시 과학기술로는 만들 수 없었던 컴퓨터를 고안해 낸 찰스 배비지와 프로그래밍을 설계한 에이다 러브레이스. 결국 미완성으로 끝났지만 이들의 시대를 앞서간 비범한 재능은 인류에게 크나큰 선물을 안겨준 셈이다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari