컴퓨터보다 빨리 등장한 인류 최초 프로그래머는 이 여성

조회수 2020. 9. 21. 18:06 수정
번역beta Translated by kaka i
번역중 Now in translation
글자크기 설정 파란원을 좌우로 움직이시면 글자크기가 변경 됩니다.

이 글자크기로 변경됩니다.

(예시) 다양한 분야의 재밌고 유익한 콘텐츠를 카카오 플랫폼 곳곳에서 발견하고, 공감하고, 공유해보세요.

[상식ssul]인류 최초의 프로그래밍
19세기 여성, 에이다 러브레이스
찰스 배비지의 해석기관 도면 연구해
세계 최초 컴퓨터 프로그램 만들어

프로그래머는 현시대 가장 각광받는 직업 중 하나다. 박봉과 야근에 시달리는 현직 개발자들 입장에선 쓴웃음이 나올 소리겠지만, 두 살 먹은 알파고가 서른셋 나이 거기다 세계 최고라는 이세돌을 이기는 세상이니 사람들 관심이 프로그래밍에 쏠릴 수밖에 없다. 실제로 지난 2016년 7월 취업포털 잡코리아가 대학생 1256명을 대상으로 한 설문조사에서도 소프트웨어(SW) 개발자(32.5%)가 10년 후 가장 유망한 일자리로 꼽혔다.


묘하게도, 이 직업은 컴퓨터 발명 이전부터 존재했다. 요새로 치면 스마트폰이 만들어지기도 전에 앱 개발자부터 나타났던 셈이다. 컴퓨터 도면만 보고도 그 장치에서 돌아갈 수 있는 프로그램을 짠 희대의 천재가 있었기에 가능했던 일이다. 바로 러브레이스 백작부인 어거스타 에이다 킹, 약칭(略稱) 에이다 러브레이스(1815~1852)다.

출처: Science & Society Picture Library
에이다 러브레이스의 초상화.

천재의 딸


그는 영국의 전설적인 낭만파 시인 조지 고든 바이런(1788~1824)의 딸이다. 이 혈연 때문에 바이런 부녀를 가리켜 ‘아버지는 마음의 프로그래머, 딸은 기계의 시인’이라 말하는 사람도 있다. 에이다 본인은 스스로를 ‘시적인 과학자(poetical scientist)’라 소개했다 한다.

출처: christies.com
조지 고든 바이런의 초상화.

에이다는 아버지를 닮아 문학 쪽에 재능과 흥미가 있었다. 하지만 어머니 앤 이사벨라 바이런은 이를 못마땅하게 여겼다. 딸이 방탕한 아버지를 닮을까 두려워했기 때문이다. 바이런은 재능은 남아돌았지만 도덕심은 부족했던 인물이었다. 에이다의 어머니를 결혼 한 달 만에 버린 데다, 평생에 걸쳐 남녀 200여명과 관계를 맺었다 한다. 심지어 이복 여동생과 어거스타 리와 불륜 관계였다는 의혹도 있다. 참고로 바이런은 이 여동생 이름 중 ‘어거스타’를 딸 이름에 손수 붙였다.


앤은 딸을 문학에서 떼어놓으려 수학과 과학 공부를 집중적으로 시켰다. 문과에서 이과 쪽으로 억지 전향을 하면 대개 나가떨어지기 마련이지만, 에이다는 오히려 수학 쪽에서도 문학 이상으로 탁월한 재능을 보였다. 물론 에이다를 가르친 교사가 윌리엄 프렌드, 메리 서머빌, 오거스터스 드 모르간 등 당대 최상급 수학·과학자였던 덕도 있다. 하지만 머리가 따라주지 않으면 강남 학원가 1타 강사들이 합숙하며 가르쳐도 성적 올리기 힘든 법이니, 에이다가 상당히 영리했던 건 분명한 듯하다. 아무튼 아버지를 닮아 외모도 빼어났던 에이다는, 점차 런던 사교계에서 천재 미소녀로 이름을 날린다.  

출처: Lovelace-Byron Collection
17세 시절 에이다를 그린 초상화,

인류 최초의 프로그래밍


1832년, 영국 수학·공학자 찰스 배비지가 ‘해석기관’을 고안해 낸다. 1초 만에 덧셈 뺄셈이 가능하며, 1분 만에 50자리 숫자를 곱하거나 나눌 수 있고, 50자리 숫자 1000개를 저장해둘 수 있는 일종의 기계식 컴퓨터였다. 다만 당대 공학 기술의 한계와 예산 부족 때문에 실제로 기계를 만들진 못했다. 배비지가 별나게 가난했던 건 아니고, 해석기관 자체가 당시 기술력으론 대영제국 예산을 총동원해야 만들 수 있을까 말까 한 오버 테크놀로지였기 때문이다.


1842년 배비지는 이탈리아 토리노 대학을 방문해 해석기관에 대해 강연했다. 그리고 이 자리에 서기로 참석했던 이탈리아군 공병 대위 루이기 메나브레아가 이를 프랑스어 논문으로 정리했다. 메리 서머빌의 소개로 배비지와 친분이 있던 에이다는, 이 논문을 영어로 번역하는 작업을 맡는다.


9개월간 번역하며 에이다가 붙인 주석 분량은, 논문 본문보다 두 배 이상 많았다. 이렇게 추가된 내용 중 하나가 ‘베르누이 수’를 구하는 알고리즘이다. 구체적으론 해석기관에 특정 숫자 n을 넣으면, n 번째 베르누이 수가 도출되는 프로그램이었다. 이 때문에 에이다를 ‘세계 최초의 프로그래머’라 부른다. 그는 또한 이 주석에서 루프, 점프, IF문 등 현대적 프로그래밍 개념까지 언급했다.

출처: sophiararebooks.com
에이다가 짠 베르누이 수 연산 알고리즘 도표.

에이다는 방정식을 유도만 했을 뿐, 이를 해석기관에 입력 가능한 형태로 프로그래밍한 건 배비지였을 거라는 주장도 있다. 하지만 적어도 아직까진 에이다가 최초의 프로그래머였다고 추측하는 의견이 더 많다. 베르누이 수 알고리즘 연산은 분명 에이다 이름으로 발표됐고, 이에 앞서 배비지가 프로그래밍을 고안했다는 증거는 따로 없기 때문이다. 사실 당사자인 배비지부터가 생전에 “에이다는 해석기관을 나보다 더 잘 아는 사람”이라 말한 기록이 있다.


또한 해석기관을 계산기 정도로만 여긴 배비지와는 달리, 에이다는 “장차 작곡이나 그림 그리기도 가능하게 될 것”이라며 그 잠재력을 보다 깊이 꿰뚫어봤다. 실제로 에이다의 예견처럼, 우리가 지금 만지는 컴퓨터에서 돌아가는 작업은 해석기관을 써도 모두 구현 가능하다. 다만 시간이 매우 오래 걸릴 뿐이다.


그는 떠났지만


1852년 11월, 에이다는 36살 나이로 세상을 떠났다. 자궁암에 걸려 쇠약해진 탓도 있지만, 의사가 치료 목적으로 피를 뽑았다가 부작용이 온 게 결정적이었다 한다. 그는 눈을 감기 전 남긴 유언대로 노팅엄 주에 있는 아버지 무덤 곁에 묻혔다.


1980년 12월 10일, 미국 국방부는 에이다의 165번째 생일을 기념해, 공모전을 거쳐 채택된 국방부 표준 프로그래밍 언어에 ‘에이다(Ada)’라는 이름을 붙였다. 이 언어의 미국 국방부 군사 규격 넘버(MIL-STD-1815) 중 ‘1815’는 에이다가 태어난 해를 뜻한다. 영국 컴퓨터 협회는 1998년부터 매년 컴퓨터 이해나 발전에 크게 기여한 인물을 선정해 그의 이름을 딴 ‘러브레이스 메달’을 주고 있다.  

출처: 곰출판

지난 2015년 4월엔 캐나다 작가 시드니 파두아가 에이다의 삶을 그려낸 그래픽 노벨 ‘The Thrilling Adventures of Lovelace and Babbage’을 출간했다. 이 책은 국내에도 지난 7월 ‘에이다, 당신이군요. 최초의 프로그래머’ 제목으로 번역돼 나왔다.


글 jobsN 문현웅

jobarajob@naver.com

잡스엔

이 콘텐츠에 대해 어떻게 생각하시나요?