← 읽기 자료 목록

표 한 장은 어떻게 계산의 순서를 보여 줄 수 있을까?

에이다 러브레이스의 1843년 ‘주 G’ — 카드·기억·중간값을 한 장에서 추적하기

결과값만 맞으면 계산 절차도 옳다고 할 수 있을까요? 에이다 러브레이스가 분석기관을 설명하며 남긴 ‘주 G’의 단계표를 따라 연산 명령, 기억장소, 중간값, 반복을 구별하고, 설계된 절차와 실제 실행의 증거가 어떻게 다른지 살펴봅니다.

계산표의 마지막 칸에 정답이 적혀 있어도, 그 수가 어떻게 나왔는지는 알 수 없습니다. 반대로 각 줄에 사용한 값, 연산, 새로 저장한 값을 남기면 계산을 거꾸로 따라가며 잘못된 줄을 찾을 수 있습니다. 표는 결과를 담는 그릇을 넘어 절차를 검사하는 도구가 됩니다.

1843년 에이다 러브레이스는 루이지 메나브레아의 분석기관 해설을 영어로 옮기고 긴 주석을 덧붙였습니다. 마지막 ‘주 G’에는 베르누이 수를 계산할 때 기계의 각 부분이 어떻게 바뀌는지를 한꺼번에 보여 주는 큰 단계표가 실렸습니다. 완성된 분석기관은 존재하지 않았지만, 표 위에서는 명령과 수, 기억과 연산, 반복과 중간 결과가 구별되었습니다.

이번 글의 네 도해는 역사적 원본을 복제하지 않은 현대적 재구성입니다. 전승 연표는 강연에서 출판까지의 협업을, 구조도는 카드·저장고·공장의 역할을, 작은 실행표는 줄마다 상태가 바뀌는 방식을, 논증도는 1843년 표가 지지하는 주장과 남기는 한계를 보여 줍니다.

01 · 강연에서 주석으로

한 사람의 발명보다 여러 기록의 연결을 먼저 본다

찰스 배비지는 1830년대 중반부터 분석기관을 구상했습니다. 옥스퍼드대학교 보들리언도서관의 원고 연구에 따르면 이 기관은 계산 도중 이미 얻은 값을 이용해 다음 단계를 고르고, 카드 묶음을 되돌려 반복할 수 있도록 설계되었습니다. 오늘의 용어를 그대로 붙이기보다, 조건에 따른 선택과 반복이라는 관계가 설계에 들어 있었다고 읽는 편이 정확합니다.[1][3]

1840년 배비지는 토리노에서 분석기관의 원리를 설명했습니다. 강연을 들은 이탈리아 공학자 루이지 메나브레아는 1842년 프랑스어 논문을 발표했습니다. 러브레이스는 이 글을 영어로 번역하고 A부터 G까지의 주석을 덧붙였으며, 번역과 주석은 1843년 8월 『사이언티픽 메모어스』에 A. A. L.이라는 머리글자로 실렸습니다.[1][4]

보들리언 연구진은 전체 66쪽 가운데 41쪽이 러브레이스의 부록이라고 집계합니다. 그러나 분량만으로 모든 생각의 단독 저자를 정할 수는 없습니다. 컴퓨터역사박물관은 러브레이스와 배비지의 협업이 가까웠고, 각자의 기여 범위와 독창성을 두고 전기 연구자들의 논의가 이어진다고 명시합니다.[1][2][5]

1830년대 중반 분석기관 구상, 1840년 토리노 강연, 1842년 메나브레아의 프랑스어 논문, 1843년 러브레이스의 번역과 주석 출판을 아래로 잇는 연표
그림 1. 구상·강연·논문·번역과 주석을 구별한 자체 제작 연표. 한 날짜를 ‘컴퓨터의 탄생일’로 만드는 대신 기록이 이어진 경로를 표시했습니다.[1][4][5]

연표의 화살표는 생각이 한 방향으로 그대로 복사되었다는 뜻이 아닙니다. 강연을 글로 정리하는 과정, 다른 언어로 옮기는 과정, 기계의 가능성을 주석으로 확장하는 과정마다 선택과 해석이 들어갑니다. 따라서 1843년 문헌을 읽을 때는 배비지의 설계, 메나브레아의 해설, 러브레이스의 번역과 주석을 한 목소리로 합치지 않아야 합니다.

02 · 기계의 역할 나누기

수를 보관하는 곳과 계산하는 곳을 분리하다

컴퓨터역사박물관은 분석기관의 핵심을 ‘저장고’와 ‘공장’의 분리로 설명합니다. 저장고는 수와 중간 결과를 맡고, 공장은 더하기·빼기·곱하기·나누기를 수행합니다. 오늘의 기억장치와 중앙 처리 장치에 대응시켜 볼 수 있지만, 19세기 톱니바퀴 장치를 현대 전자컴퓨터와 완전히 같다고 부를 수는 없습니다.[3]

천공카드도 한 종류가 아니었습니다. 연산 카드는 어떤 계산을 할지, 변수 카드는 어느 저장 열의 수를 가져오고 돌려놓을지를 정했습니다. 1843년 전문은 연산과 그 대상, 결과를 서로 독립된 요소로 구별해야 분석기관의 작동을 이해할 수 있다고 설명합니다.[4]

이 구별은 단순한 부품 이름이 아닙니다. 같은 덧셈 명령은 서로 다른 수에 적용될 수 있고, 같은 수는 차례에 따라 덧셈이나 곱셈의 대상이 될 수 있습니다. 명령과 자료를 분리하면 절차의 틀을 한 번 만들고 여러 입력에 다시 적용할 수 있습니다.

아래 구조도에서 선은 상자보다 뒤에 놓였고 작은 화살표는 상자 사이의 빈 공간에만 있습니다. 값은 저장고와 공장을 오가지만, 명령 카드는 값 자체가 아닙니다. 화살표마다 무엇이 이동하는지 읽어야 구조를 잘못 합치지 않습니다.

위쪽의 연산 카드와 변수 카드가 각각 계산 종류와 저장 열을 지정하고, 가운데 저장고와 공장이 수를 주고받은 뒤 아래쪽 결과 기록으로 보내는 구조도
그림 2. 카드·저장고·공장·출력을 역할별로 나눈 자체 제작 분석기관 구조도. 역사적 설계 도면의 치수와 부품 배치를 복제한 그림이 아닙니다.[3][4]

질문 1. 최종 결과 20만 적힌 표와 ‘3과 2를 더해 5를 저장하고, 그 5에 4를 곱한다’고 적힌 표 가운데 어느 쪽이 다른 입력에도 적용하기 쉬울까요? 해설: 둘째 표입니다. 결과와 입력이 달라져도 연산의 순서와 중간값의 위치를 보존할 수 있습니다. 정답 한 칸은 결과를 확인하게 하지만 절차를 재사용하거나 오류를 찾게 하지는 못합니다.

03 · 큰 표 읽기

한 줄의 연산이 기계 전체의 상태를 바꾼다

‘주 G’는 베르누이 수를 예로 들어 분석기관의 작동을 설명합니다. 이 수들은 앞에서 얻은 값들을 이용해 다음 값을 계산할 수 있어 반복 절차를 보여 주기에 알맞았습니다. 러브레이스는 가장 간단한 계산법보다 기관의 능력을 드러내는 예를 택했다고 밝혔습니다.[1][4]

표의 각 줄에는 연산의 차례, 사용할 저장 열, 수행할 계산, 결과가 들어갈 열, 그 뒤 남는 값이 함께 놓였습니다. 보들리언 연구진은 이를 오늘날의 말로 ‘실행 추적표’에 가깝다고 설명합니다. 카드 묶음이 명령이라면, 표는 그 명령을 따를 때 내부 상태가 어떻게 바뀌는지 펼쳐 보인 기록입니다.[1]

아래 작은 표는 원본 베르누이 계산을 옮긴 것이 아니라 구조를 익히기 위한 자체 예시입니다. 처음 세 저장 열에 3, 2, 4가 있을 때 첫 줄은 3과 2를 더해 새 열에 5를 남기고, 둘째 줄은 5와 4를 곱해 20을 남깁니다. 이전 값과 새 값을 같은 줄에서 구별하면 어느 연산이 어떤 결과를 만들었는지 거꾸로 확인할 수 있습니다.

저장 열 V1에 3, V2에 2, V3에 4를 둔 뒤 1단계에서 V1과 V2를 더해 V4에 5를 저장하고, 2단계에서 V4와 V3을 곱해 V5에 20을 저장하는 현대적 실행 추적표
그림 3. 한 줄마다 입력·연산·새 저장값·남은 상태를 읽는 자체 제작 축소 실행표. ‘주 G’ 원본의 베르누이 계산이나 표기법을 복제하지 않았습니다.[1][4]

짧은 활동. 그림 3의 첫 줄에서 더하기를 곱하기로 바꾸되 나머지 줄은 그대로 두어 보세요. 첫 중간값은 6, 마지막 값은 24가 됩니다. 한 칸의 명령이 뒤의 값을 연쇄적으로 바꾼다는 사실을 확인한 뒤, 바뀐 칸과 바뀌지 않은 저장 열을 서로 다른 색으로 표시해 보세요.

04 · 반복을 짧게 적기

같은 카드 묶음을 되돌리면 유한한 표가 긴 계산을 맡는다

1843년 전문은 특정 카드나 카드 묶음을 문제 풀이 중 여러 번 다시 사용할 수 있다고 설명합니다. 계산에 같은 모양의 단계가 되풀이된다면 모든 줄을 새로 만드는 대신 반복할 묶음과 멈출 조건을 정할 수 있습니다. 보들리언 연구진도 분석기관 설계에 카드 묶음의 반복이 들어 있었다고 정리합니다.[4][1]

반복에는 적어도 세 정보가 필요합니다. 무엇을 되풀이하는지, 매번 어떤 값이 달라지는지, 언제 멈추는지입니다. ‘계속 계산한다’는 문장은 절차가 아닙니다. 횟수나 비교 조건이 빠지면 기관은 다음 단계로 넘어갈 근거를 갖지 못합니다.

분석기관의 설계는 앞서 얻은 값을 이용해 다음 경로를 선택하는 기능도 포함했습니다. 다만 오늘날의 프로그래밍 언어 문법을 1843년 표에 그대로 투사하면 역사적 차이가 사라집니다. 이 글은 ‘반복문을 발명했다’고 단정하기보다, 카드 되돌리기와 상태 변화가 반복 계산을 표현했다는 확인 가능한 범위에 머뭅니다.[1][3]

같은 카드 묶음을 되돌리면 유한한 표가 긴 계산을 맡는다
역사적 요소맡은 역할표에서 확인할 질문오늘의 비유
연산 카드계산 종류 지정이번 줄은 무엇을 하는가연산 명령
변수 카드저장 열 선택어느 값을 읽고 어디에 쓰는가주소 지정
저장고수와 중간값 보관다음 줄까지 남는 값은 무엇인가기억장치
공장산술 수행두 입력에서 어떤 결과를 만드는가처리 장치
카드 되돌리기묶음 반복무엇이 바뀌며 언제 멈추는가반복 제어

표의 마지막 열은 이해를 돕는 현대적 비유이며 역사적 동일성의 선언이 아닙니다. 톱니바퀴의 물리적 제약, 카드의 이동 방식, 전자식 기억장치의 속도와 구조는 크게 다릅니다. 비유는 관계를 옮길 때 유용하지만, 옮기지 않은 차이도 함께 적어야 합니다.

질문 2. 반복 묶음 안의 계산이 모두 옳아도 멈춤 조건이 없다면 절차는 완성되었다고 할 수 있을까요? 해설: 어렵습니다. 각 회차의 산술 정확성과 전체 절차의 종료는 다른 조건입니다. 반복 횟수 또는 상태 비교가 있어야 언제 결과를 내놓을지 정할 수 있습니다.

05 · 증거의 범위

설계된 절차와 실행된 기계를 구별한다

‘주 G’의 단계표는 계산을 기계가 수행할 수 있는 연산 단위로 나누고, 각 단계의 값 이동을 추적할 수 있음을 보여 줍니다. 공개 문헌에 단계적 연산의 상세 설명이 존재한다는 역사적 사실도 확인됩니다. 컴퓨터역사박물관은 이를 수학 문제를 푸는 단계적 연산 순서의 최초 공개 설명으로 소개하면서 러브레이스를 흔히 ‘최초의 프로그래머’라고 부르는 까닭을 밝힙니다.[2][1]

그러나 분석기관 전체는 완성되지 않았습니다. 실제 톱니바퀴가 모든 카드를 읽고 표의 전 과정을 오류 없이 수행했다는 실행 기록은 없습니다. 보들리언 연구진은 카드 조작의 일부 설계가 분명하지 않아 정확한 카드 묶음을 복원하기 어렵다고 지적합니다.[1][3]

또한 표가 실렸다는 사실과 모든 기술적 세부의 단독 저자가 누구인지라는 질문은 다릅니다. IEEE 연구는 편지와 여러 보관소 자료를 통해 두 사람의 공동 작업을 강조하고, 컴퓨터역사박물관도 기여 범위가 논쟁 대상임을 밝힙니다. 안전한 결론은 러브레이스의 이름으로 공개된 주석이 분석기관의 절차와 더 넓은 가능성을 구체적으로 설명했다는 것입니다.[5][2]

1843년 공개 문헌, 단계별 값 변화, 명령과 자료의 분리가 설계된 실행 절차라는 결론을 지지하지만, 완성 기계의 실제 성공과 단독 저자 범위는 별도 증거가 필요하다는 논증도
그림 4. 문헌이 지지하는 결론과 추가 증거가 필요한 주장을 나눈 자체 제작 논증도. ‘공개된 절차’와 ‘실제로 작동한 완성 기계’를 구별합니다.[1][2][3][5]

질문 3. 단계표가 상세하다는 사실만으로 분석기관이 실제로 성공했다고 말할 수 있을까요? 해설: 말할 수 없습니다. 단계표는 절차의 표현과 검토 가능성을 보여 주지만, 제작된 전체 장치의 작동·내구성·카드 전달 오류까지 시험한 기록은 아닙니다. 설계 문헌과 물리적 실행 증거는 서로 다른 질문에 답합니다.

06 · 계산에서 기호 처리로

수가 다른 대상을 나타내면 같은 절차의 범위가 넓어진다

러브레이스는 분석기관이 수량만 계산하는 장치로 머물지 않을 가능성을 보았습니다. 관계가 수와 연산 규칙으로 표현될 수 있다면 음의 높낮이처럼 다른 대상도 다룰 수 있다고 썼습니다. 컴퓨터역사박물관은 이를 수가 양 이외의 대상을 나타내고 규칙에 따라 기호를 다룰 수 있다는 전환으로 평가합니다.[4][2]

여기서 핵심 전제는 ‘무엇이든 기계가 이해한다’가 아닙니다. 대상의 관계를 명시적인 기호와 규칙으로 바꿀 수 있어야 합니다. 음을 수로 적는 표현 체계, 그 수를 변화시키는 연산, 결과를 다시 음으로 읽는 규칙이 없다면 계산 절차만으로 음악이 되지 않습니다.

러브레이스는 기계가 스스로 진리를 만들어 낸다고 과장하지도 않았습니다. ‘주 G’는 기관이 우리가 명령할 수 있는 일을 수행한다고 범위를 제한합니다. 동시에 문제를 기계가 다룰 형식으로 다시 배열하는 과정이 관계를 새롭게 보게 할 수 있다고 설명합니다.[4]

표현을 바꾼 활동을 해 봅시다. 교실 좌석을 학생 이름 대신 번호로 나타내고 ‘앞자리와 뒷자리 교환’ 규칙을 적어 보세요. 번호를 계산하는 것과 학생의 실제 이동은 다르지만, 대응표·연산 규칙·출력 해석을 분리하면 같은 절차가 다른 좌석표에도 적용됩니다.

07 · 남아 있는 한계

‘최초’보다 무엇이 공개되었는지를 묻는다

‘최초의 프로그램’이라는 말은 기억하기 쉽지만 기준에 따라 달라집니다. 배비지의 미공개 프로그램 메모, 러브레이스의 출판된 단계표, 실제 기계에서 실행된 코드 가운데 무엇을 기준으로 삼는지 먼저 밝혀야 합니다. 보들리언 연구진은 ‘주 G’ 표를 실행 추적표로 보는 편이 더 정확하다고 설명합니다.[1]

요크대학교의 전사는 1843년 문헌 전체를 읽을 수 있게 하지만 원본 종이와 인쇄 상태를 대신하지는 않습니다. IEEE 논문은 여러 보관소의 편지를 대조했으나 보존 문서가 전부 공개된 것은 아니라고 밝힙니다. 이번 글은 공개 전문과 기관 해설에서 확인한 범위만 사용하고, 편지 전체를 직접 판독했다고 기록하지 않습니다.[4][5]

본문의 축소 실행표는 베르누이 수 계산을 재현하지 않습니다. 원본의 목적과 열 구조를 읽기 쉽게 바꾼 자체 예시입니다. 네 SVG 역시 역사적 도판, 기계 청사진, 러브레이스의 필체가 아니라 확인된 관계를 한국어로 설명하기 위한 현대적 재구성입니다.

그 한계를 남겨도 1843년 표의 논리는 분명합니다. 명령과 자료를 나누고, 중간값이 놓인 자리를 적고, 반복되는 묶음과 종료 조건을 표시하면 계산은 머릿속의 비약이 아니라 다른 사람이 따라가며 검사할 수 있는 절차가 됩니다.

출처와 도해 안내

1840~1843년의 전승과 분석기관 구조는 보들리언도서관·컴퓨터역사박물관 자료를 대조했습니다. 1843년 본문은 요크대학교 전사에서 연산과 자료의 분리, 카드 반복, 주 G의 한계 진술을 확인했습니다. 협업과 기여 범위는 IEEE 연구와 컴퓨터역사박물관의 유보를 반영했습니다. 원본 편지 전체나 실물 도판을 전수 판독하지 않았으며, 연표·구조도·축소 실행표·논증도와 표·질문·활동은 자체 제작한 현대적 재구성입니다. 자료 확인일:

  1. 에이다 러브레이스와 분석기관 크리스토퍼 홀링스·어설라 마틴·에이드리언 라이스 · 옥스퍼드대학교 보들리언도서관 · 2018년 7월 26일

    분석기관의 조건 선택·카드 반복, 1840년 토리노 강연, 1842년 메나브레아 논문, 1843년 번역과 주석, 주 G 표를 실행 추적표로 보는 해석, 완성되지 않은 기계와 카드 복원의 한계를 확인했습니다.

  2. 에이다 러브레이스 컴퓨터역사박물관 · 배비지 엔진 전시

    1843년 번역과 주석, 공개된 단계적 연산 설명, 수가 양 이외의 대상을 나타낼 가능성, 가까운 협업과 기여 범위 논쟁을 확인했습니다.

  3. 배비지의 계산기관들 컴퓨터역사박물관 · 배비지 엔진 전시

    1834년 분석기관 구상, 천공카드, 저장고와 공장의 분리, 네 산술 연산, 반복과 조건 선택, 전체 기계가 생전에 완성되지 않았다는 범위를 확인했습니다.

  4. 『찰스 배비지가 발명한 분석기관의 개요』와 번역자의 주석 루이지 F. 메나브레아·A. A. L. 번역 및 주석 · 『사이언티픽 메모어스』 3권 · 1843년 · 요크대학교 전사

    1842년 프랑스어 원문과 1843년 영어판 서지, 연산·자료·결과의 분리, 연산 카드와 변수 카드, 카드 묶음 반복, 주 G의 기계 능력과 한계에 관한 설명을 확인했습니다. 원본 인쇄물의 실물 판독으로 기록하지 않습니다.

  5. 러브레이스와 배비지, 1843년 ‘주석’의 창작 존 퓨기·조 프랜시스 · IEEE Annals of the History of Computing 25권 4호 · 2003년 · 16~26쪽

    영국도서관·과학박물관·보들리언도서관 자료를 대조한 공동 작업 연구로, 1843년 주석의 제작 과정, 보존 문서의 분산, 두 사람의 개별 기여와 협업을 구별해야 한다는 범위를 확인했습니다.