티스토리 뷰

Article/History

최초의 프로그래머, 에이다 러브레이스 백작 부인

꿈을 위해 잠을 잊은 그대에게 2020. 4. 1. 22:33

최초의 프로그래머, 에이다 러브레이스 백작 부인

 

 

프로그래밍 언어 ADA

 

 


그림 1,2 미국의 스텔스 전투기 F-22와 미항모전단

 

 

공중을 지배하는 스텔스 전투기부터 해상을 지배하는 항모전단까지, 최신병기들은 현대 군사력의 상징이라 할 수 있습니다. 현대의 전쟁은 이러한 최신병기의 힘에 크게 좌지우지되죠. 그리고, 현대 국가 중 이러한 최신병기와 군사력으로 대표되는 나라는 미국일 것입니다. 미국은 전 세계 군사비 총합의 절반 이상을 혼자서 사용하고 있으며, F-22부터 이지스 구축함, 원자력 잠수함에 이르기까지 고성능 전자장비가 탑재된 군용장비들을 다량으로 운용하고 있습니다. 명실상부하게 초강대국에 걸맞은 힘을 보여주고 있는 것입니다.<s></s>

이러한 미군의 군용장비들을 살펴보다 보면 우리는 한가지 공통점이 찾아볼 수 있습니다. 그것은 대부분의 군용장비가 에이다(Ada)라는 하나의 프로그래밍 언어로 프로그래밍 되었다는 점입니다. 에이다는 지난 1983년에 등장한 프로그래밍 언어로서, 1970년대 미국 국방성의 발주로 제작되었습니다. 미국 국방성은 이전까지 각 군종별, 무기별로 다르게 사용된 프로그래밍 언어들을 통합하여 군용장비들의 소프트웨어 호환성을 높이고, 정비 소요를 줄이기 위해 이 언어를 발주하고, 사용하게 한 것입니다. 그런데, 에이다라는 프로그래밍 언어에는 한 가지 특이한 유래가 있습니다. 그것은 이 언어가 어느 역사적인 인물을 기념하기 위해서 그 인물의 이름을 따와 만들어졌다는 점입니다. 기념비적인 이 인물은 과연 누구일까요? 어떤 인물이기에 현대까지 이렇게 이름을 남기고 있는 것일까요?

 

 

에이다 러브레이스 백작 부인의 삶과 생애

 

 

우선 질문에 대한 답부터 얘기해 보자면, 정답은 에이다 러브레이스 백작 부인이라는 인물입니다. 그녀는 비극적이면서도 놀라운 삶을 살았으며, ‘최초의 프로그래머라는 칭호와 함께 컴퓨터의 역사에 있어서 기념비적인 인물로 현재까지 기억되고 있습니다.

어거스터 에이다 킹, 이른바 에이다 러브레이스 백작 부인(Augusta Ada King, Countess of Lovelace)이라 불리는 이 여성은 우리에게 잘 알려진 영국의 시인 조지 고든 바이런(George Gordon Byron)의 딸입니다. 따라서, 출생 당시의 이름은 어거스터 에이다 바이런이었습니다. 그녀는 결혼에 따라 킹이라는 성을 얻었고, 이후에는 러브레이스 백작 부인이라는 작위도 얻게 되었습니다.

 

 


그림 3, 4 에이다 러브레이스와 그녀의 아버지 조지 고든 바이런

 

 

위대한 문학가가 아버지였음에도 불구하고, 그녀의 유년기는 행복하지 못했습니다. 전형적인 낭만주의 시대의 문학가답게 아버지 조지 고든 바이런은 자유분방한 삶을 살았고, 에이다가 태어난 지 얼마 되지 않아서 에이다의 어머니와도 곧 이혼하고 말았습니다. 에이다는 태어난 지 한 달 만에 부모의 이혼을 겪었으며, 쫓겨난 어머니와 함께 유년 시절을 보내게 되었습니다. 이혼 이후 양쪽의 관계는 계속 좋지 않아서, 에이다의 어머니 앤 이사벨라는 계속해서 바이런의 부도덕에 대한 의혹을 제기했고, 바이런은 죽을 때까지 단 한번도 딸과 아내에게 연락하지 않았습니다. 결국 아버지 조지 고든 바이런은 에이다가 8살이었던 1824년 그리스 독립 전쟁에서 사망하고 말았습니다.

이후 에이다의 어머니는 에이다의 양육과정에서 그녀가 아버지를 닮지 않게 하려고 여러 노력을 기울였습니다. 일례로 어머니는 에이다가 20살이 될 때까지 아버지가 그려져 있는 가족 초상화를 보여준 적이 없을 정도였죠. 결국 이러한 양육 방식은 에이다의 삶에 큰 영향을 미쳤습니다. 어머니의 영향으로 에이다는 어렸을 때부터 문학보다는 수학이나 과학, 논리학 분야를 집중적으로 배우게 된 것입니다.

에이다는 여러 가정교사를 통해서 이런 학문들을 배웠고, 상당히 어렸을 적부터 이 분야에서 두각을 나타냈습니다. 에이다의 가정교사들은 이에 주목하여 그녀의 재능을 살리고자 노력했죠. , 당대의 유명한 학자들을 가정교사로 썼기 때문에 이들과의 인연은 이후 에이다가 저명한 수학자이자 과학자인 찰스 배비지(Charles Babbage)와 만나는 계기를 제공하기까지 했습니다. 에이다가 18살이었던 1833년에 에이다의 가정교사였던 메리 소머빌(Mary Somerville)은 에이다에게 찰스 배비지를 소개하였고, 두 사람은 공동 연구를 진행하게 된 것입니다. 후술할 것이지만, 이 찰스 배비지와의 연구는 현재까지 전해지는 에이다 러브레이스 백작 부인의 업적 상당수를 만들어 낸 것이기에 매우 중요한 전환점이라 할 수 있을 것입니다.

다만, 에이다는 인생의 황금기라 할 수 있는 청년기에도 그리 행복한 삶을 보내진 못했습니다. 성인이 된 에이다는 1835년 월리엄 킹 남작과 결혼하여 남작 부인이 되었고, 얼마 뒤에는 남편인 킹 남작이 백작 작위를 받아 러브레이스 백작이 됨에 따라 백작 부인이 되었습니다. 에이다는 이 결혼생활을 통해서 3명의 아이를 낳았죠. 명실상부하게 한 가문의 안주인이 된 것입니다. 그러나 이러한 생활은 오히려 에이다를 압박했습니다. 과학과 수학 등 학문에 열중하던 과거와 달리 귀족으로서, 또 안주인으로서의 삶을 살게 된 에이다는 이윽고 우울증을 얻었습니다. 거기에 도박에까지 손을 대 도박중독에 이르는 한편 불륜과 관련된 소문마저 나돌게 되었죠. 결국 그녀는 거액의 빚을 지고 독촉에 시달리다가 안타깝게도 1852년에 자궁암으로 사망하고 말았습니다.

 

 


그림 5. 1852년에 그려진 에이다 러브레이스의 초상화
이전에 비해 초췌해진 모습을 확인할 수 있다.

 

 

최초의 프로그래머

 

 

에이다의 생애에서 우리가 주의를 기울여서 살펴보아야 할 부분은 찰스 배비지와 함께한 연구와 관련된 것들일 것입니다. 왜냐하면 에이다는 찰스 배비지와 함께한 연구를 통해 오늘날 우리에게 최초의 프로그래머로 알려지게 되었기 때문입니다.

당시 에이다 러브레이스 백작부인과 찰스 배비지가 함께했던 연구는 매우 다양했지만, 그중에 가장 유명한 것은 차분기관(Difference engine)과 해석기관(Analytical Engine)에 관련된 연구입니다. 차분기관과 해석기관은 일종의 기계식 계산기로서, 찰스 배비지가 설계한 기계입니다. 좀 더 자세히 살펴보자면 차분기관은 다항함수를 계산하기 위한 계산기이며, 해석기관은 차분기관을 개량하여 다항함수 외에도 다양한 일반적인 계산을 할 수 있게 한 계산기입니다. 이 기계들은 완성되지는 못했었지만, 그 기능과 구조로 인해서 컴퓨터의 시초 중 하나로서 중요하게 이해되고 있습니다.

 

 


그림 6. 7. 원 설계에 따라 후대에 재현된 차분기관과 해석기관

 

 

위의 사진에서 보이는 기계가 차분기관과 해석기관입니다. 상당히 큰 기계임을 알 수 있죠. 복잡한 계산을 기어와 톱니바퀴에 기반한 기계식으로 구현하기 위해서는 이러한 크기가 필요했던 것입니다. 또 이 기계들은 그 크기와 거대한 규모로 인해서 작동을 위해 증기기관이 필요할 정도였습니다. 다만, 앞서 언급했던 바와 같이 이 기계들은 당대에 그 기술적 난해함, 공학적 어려움, 제작 경비 등의 문제로 결국에는 완성되지 못했습니다.

1833년 에이다가 찰스 배비지를 처음 만났을 때, 그녀는 배비지가 설계한 차분기관의 시제품을 보고 그 구조와 잠재력에 큰 감명을 받았습니다. 또 찰스 배비지는 에이다가 가진 지성과 과학적 분석기술에 깊은 인상을 받았죠. 결국 양측은 함께 연구를 진행하기로 결정하였습니다. 당시 배비지는 차분기관 다음으로 새로이 해석기관의 설계를 마쳤으며, 이를 강의하고 자료들을 책으로 출간하던 상황이었습니다. 따라서 배비지는 에이다에게 해석기관에 관한 책의 번역과 출간을 맡겼으며, 해석기관의 활용법에 대한 연구를 그녀와 함께 진행했습니다. 결론적으로 이 과정에서 에이다는 해석기관이라는 하드웨어를 활용하는 다양한 방법, 즉 소프트웨어적 방법론의 기본적인 개념을 고안하게 되었습니다.

에이다가 가장 먼저 만들어낸 것은 해석기관에서 베르누이 수를 계산하기 위한 알고리즘이었습니다. 베르누이의 수란 자연수의 거듭제곱의 합이나 그 역수의 무한합과 관련된 수를 나타내는 수열로서 수학에서는 상당히 중요한 공식입니다. 에이다는 1840년경 해석기관으로 이 수열을 구하기 위한 알고리즘을 구상하였고, "배비지의 해석기관에 대한 분석(Observations on Mr. Babbage's Analytical Engine)"이라는 책을 통해서 이를 발표했습니다. 현대에 이 알고리즘은 특정한 기계에서 특정한 계산을 구현하기 위해 제작된 알고리즘, 즉 프로그램으로서 가장 최초의 것으로 간주되고 있으며 바로 이 업적으로 인해서 에이다는 최초의 프로그래머라 불리게 되었습니다.

 

 


그림 8. 베르누이 수를 계산하기 위해 제작된 에이다의 알고리즘

 

 

이 외에도 에이다는 해석기관에 대한 다양한 알고리즘을 개발해 냈습니다. 이는 그녀가 가진 해석기관에 대한 남다른 시각에서 비롯된 것이었습니다. 에이다는 그녀가 남긴 노트에서 해석기관과 이전의 일반적인 계산기 간의 차이점을 강조했고, 해석기관이 단순한 수치 처리 이상으로 다양한 작업을 수행할 수 있을 것이라 주장했습니다. 해석기관이 현대의 컴퓨터처럼 다양한 작업을 할 것이라 예견한 것입니다. 그리고 그러한 방향 안에서 에이다는 루프(Roof), 점프(Jump), 서브루틴(Subroutine), 조건문(IF Statement)과 같은 기초적인 프로그램 알고리즘을 제시하였습니다. 같은 공식을 여러 번 반복하거나(루프), 전에 사용했던 공식을 이후 다시 사용하고(서브루틴), 필요 없는 과정을 뛰어넘거나(점프), 주어진 조건에 따라 논리적인 결정을 내리는(조건문) 등 기계로 다양한 작업과 복잡한 계산을 구현하기 위한 여러 방식을 해석기관이 완성도 되기 전에 구상한 것입니다. 이러한 방식들은 아주 기초적인 것으로서 현대 컴퓨터 프로그래밍에서도 여전히 중요하게 사용되고 있습니다.

 

 

현대의 재평가

 

 

그러나, 당대에 에이다 러브레이스 백작 부인은 그다지 높은 평가를 받지는 못했습니다. 이는 다양한 원인으로 인한 것인데, 우선 해석기관이 완성되지 못하는 등 당대의 기술로는 그녀의 업적을 제대로 판단하기 힘들었던 점, 말년에 도박 등으로 인해 개인사에서 좋지 않은 소문에 휩싸였던 것, 대부분의 연구성과가 배비지와 공동연구였던 점 등 때문이었습니다. 따라서 거의 100년에 가까운 세월 동안 그녀의 업적은 모래 속에 묻혀 있었습니다.

그러나 20세기 들어 에이다 러브레이스 백작 부인은 점차 재평가되기 시작했습니다. 우선 컴퓨터공학의 아버지인 앨런 튜링이 에이다의 연구를 재발견하였습니다. 엘런 튜링은 그의 논문에서 에이다를 언급하였고, 그녀를 최초의 프로그래머로 칭하며 다양한 방면에서 에이다를 재평가하였습니다. 결국 이를 계기로 여러 학자들이 컴퓨터에 대한 그녀의 영향을 검토하기 시작하였고, 그 결과 1950년대 들어 그녀의 업적은 점차 세상에 다시 알려지기 시작했습니다. 많은 대중들이 그녀를 인식하게 된 것입니다.

에이다의 업적이 잘 알려진 이후에, 에이다는 현대사회에서 여러 방면으로 존경받게 되었습니다. 1970년대에는 앞서 언급했던 것처럼 미국 국방성이 그녀의 이름을 딴 프로그래밍 언어를 제작하기 시작했으며, 또 영국 컴퓨터 협회는 매년 그녀의 이름을 딴 메달을 수여하기 시작했죠. 조금 더 최근을 돌아보면 2010년대에는 ADA라는 암호화폐가 프로그래밍 언어 에이다처럼 그녀의 이름을 본 따 만들어지기까지 했습니다.

물론 그녀의 업적에 대한 반론이나 논란이 없는 것은 아닙니다. 여전히 그녀의 업적은 배비지와의 공동연구이기에 어느 정도까지가 그녀의 것인지에 대한 논란도 있으며, 에이다의 연구가 너무 고평가되었다는 견해도 존재합니다. 그럼에도 에이다 러브레이스와 그녀의 연구는 현대에 매우 중요하게 다뤄지고, 또 인정받고 있습니다. 어찌 되었던, 에이다 러브레이스라는 한 사람은 컴퓨터 공학과 수학에 거대한 족적을 남긴 인물로서 인류의 역사 속에서 영원히 기억될 것입니다.

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크