핵심 요약
- 1843년 에이다 러브레이스는 실물 기계가 제작되기도 전에 베르누이 수를 계산하는 알고리즘 프로그램을 작성했습니다.
- 오늘날 프로그래밍의 핵심 개념인 반복 루프와 변수 상태 추적 표기법을 100여 년 앞서 고안했다는 점에서 기술적으로 매우 정교했습니다.
- 빌 게이츠의 베이직 인터프리터처럼 사양만 보고 짠 프로그램이었으나 당시 기계가 완성되지 못해 실행되지는 못했습니다.
요약 빌 게이츠와 폴 앨런이 1975년 실물 알테어 컴퓨터도 없이 에뮬레이터만으로 베이직 인터프리터를 완성해 마이크로소프트를 창업한 일화는 유명합니다. 그런데 이보다 100여 년 전, 에이다 러브레이스 역시 실물 기계 없이 사양 설명만 듣고 컴퓨터 프로그램을 설계해 발표했습니다. 차이점이 있다면 찰스 배비지가 고안한 해석기관이 끝내 완성되지 못해 그녀의 프로그램은 생전에 실행되지 못했다는 점입니다.
러브레이스는 흔히 '인류 최초의 프로그래머'로 불리지만, 그녀의 기여도와 타이틀을 둘러싼 논쟁은 컴퓨터 역사학계에서 일종의 독립된 연구 분야가 될 정도로 뜨거운 화두였습니다. 특히 그녀가 여성이었다는 점 때문에 논쟁이 과열된 측면도 있지만, 정작 그녀가 작성한 프로그램의 구체적인 기술적 디테일은 대중에게 잘 알려지지 않았습니다.
실제로 그녀가 작성한 프로그램은 베르누이 수를 계산하기 위한 것이었습니다. 고대 피타고라스학파가 조약돌로 삼각수를 만들며 거듭제곱의 합을 구하던 문제에서 출발해 아르키메데스의 제곱의 합, 아리아바타의 세제곱의 합, 요한 파울하버와 블레즈 파스칼로 이어진 거듭제곱의 합에 관한 수학적 탐구는 베르누이 수의 발견으로 이어졌습니다. 러브레이스는 이를 해석기관에서 계산하기 위해 현대 소프트웨어 개발의 핵심 개념인 반복 루프(loop) 구조를 체계화하고, 연산 진행에 따른 변수의 상태 변화를 추적하는 정밀한 표기법을 도입했습니다. 비록 기계는 만들어지지 않았지만, 오늘날의 프로그래밍 논리와 놀라울 정도로 닮은 정밀한 알고리즘을 1843년에 이미 완성했던 셈입니다.
Sponsored · 광고