무슨 일이 있었나요
‘폰 노이만 구조’라는 말, 컴퓨터 구조 수업에서 들어보셨죠? CPU가 메모리에서 명령어를 하나씩 꺼내 실행하고, 프로그램과 데이터가 같은 메모리에 함께 들어 있는 구조요. 지금 쓰시는 노트북도 스마트폰도 기본적으로 이 틀 위에서 돌아가요.
오늘 소개할 글은 그 이름의 주인공, 존 폰 노이만(John von Neumann)을 회고한 에세이예요. 수학자 폴 할모스(Paul Halmos)가 1973년 American Mathematical Monthly에 실은 「The Legend of John von Neumann」인데요. 할모스는 젊은 시절 프린스턴 고등연구소(IAS)에서 폰 노이만의 조수로 일했어요. '전설'을 가장 가까이서 지켜본 사람이 남긴 기록인 셈이죠.
전설이 된 일화들
폰 노이만은 1903년 헝가리 부다페스트에서 태어나 1957년, 53세라는 이른 나이에 세상을 떠났어요. 어릴 때 여덟 자리 숫자끼리 나눗셈을 암산으로 하고 아버지와 고대 그리스어로 농담을 주고받았다는 이야기가 전해질 만큼 신동이었죠.
개발자에게 특히 재밌는 건 파리 문제 일화예요. 문제는 이래요. 20마일 떨어진 자전거 두 대가 각각 시속 10마일로 서로를 향해 달려와요. 파리 한 마리가 시속 15마일로 두 자전거 사이를 왕복해요. 두 자전거가 만날 때까지 파리가 날아간 거리는 모두 얼마일까요?
요령을 알면 쉬워요. 두 자전거는 1시간 뒤에 만나니까 파리는 15마일을 날았죠. 요령을 모르면 파리가 왕복할 때마다 짧아지는 거리를 무한급수로 다 더해야 해요. 폰 노이만은 문제를 듣자마자 답을 말했대요. 출제자가 “아, 요령을 알고 계셨군요”라고 하자 이렇게 되물었다고 해요. “무슨 요령이요? 무한급수를 더했는데요.”
개발자식으로 말하면, 남들이 O(1) 공식을 찾는 동안 이 사람은 머릿속에서 루프를 그냥 끝까지 돌려버린 거예요. 할모스는 이런 압도적인 계산 속도를 전하면서도 운전 실력이 형편없었다거나 파티와 농담을 좋아했다는 인간적인 모습도 함께 담았어요.
우리가 매일 쓰는 폰 노이만의 유산
이 사람이 정말 대단한 건 손댄 분야의 폭이에요. 집합론, 양자역학의 수학적 기초, 게임 이론, 경제학, 그리고 컴퓨터까지 넘나들었거든요. 개발자와 바로 이어지는 것만 골라도 이 정도예요.
- 프로그램 내장 방식: 1945년 EDVAC 보고서 초안에서 프로그램을 데이터처럼 메모리에 저장하는 구조를 정리했어요. 그전에는 프로그램을 바꾸려면 케이블을 다시 꽂아야 했으니, 소프트웨어라는 개념의 출발점이라고 할 수 있죠.
- 병합 정렬(Merge Sort): 배열을 반으로 쪼개 각각 정렬한 뒤 합치는 바로 그 알고리즘이요. 도널드 커누스는 이 알고리즘의 공을 1945년의 폰 노이만에게 돌려요.
- 몬테카를로 방법: 스타니스와프 울람과 함께, 무작위 시뮬레이션을 반복해 어려운 계산을 근사하는 방법을 발전시켰어요. 지금도 금융, 게임 AI, 그래픽 렌더링에서 쓰여요.
- 의사난수: 숫자를 제곱한 뒤 가운데 자릿수를 뽑는 ‘중앙제곱법’을 제안했어요. 그러면서 “산술적인 방법으로 난수를 만들려는 사람은 죄를 짓고 있는 것”이라는 유명한 농담도 남겼죠. 컴퓨터가 만든 난수가 진짜 무작위가 아니라는 걸 본인이 제일 잘 알았던 거예요.
- 미니맥스 정리: 상대가 최선을 다한다고 가정하고 내가 볼 수 있는 최악의 손해를 최소화하는 전략이에요. 틱택토부터 체스 AI까지 게임 탐색 알고리즘의 뿌리예요.
- 자기 복제 오토마타: 스스로를 복제하는 기계를 수학적으로 설계한 연구는 셀룰러 오토마타, 그리고 콘웨이의 ‘생명 게임’으로 이어졌어요.
전설과 실제 사이
그래도 한쪽으로만 보면 안 돼요. ‘폰 노이만 구조’라는 이름 때문에 ENIAC을 만든 에커트와 모클리 같은 엔지니어들의 공헌이 가려졌다는 지적이 꾸준히 나오거든요. 보고서 초안이 폰 노이만 이름만 달고 퍼지면서 생긴 일이에요. 천재 한 명의 이야기처럼 보여도 실제로는 팀이 함께 만든 성과인 경우가 많다는 거죠. 요즘 말하는 ‘10배 개발자’ 신화와도 닮은 구석이 있어요.
한국 개발자에게 주는 시사점
첫째, 기초가 결국 오래간다는 거예요. 80년 전에 나온 정렬, 난수, 컴퓨터 구조가 아직도 면접 질문으로 나오고 실무 도구로 쓰여요. 프레임워크는 몇 년마다 바뀌어도 이런 개념은 잘 바뀌지 않아요.
둘째, 경계를 넘나드는 힘이에요. 폰 노이만은 수학을 물리에, 물리를 컴퓨터에, 컴퓨터를 경제에 연결했어요. 백엔드 개발자가 데이터 분석을, 프론트엔드 개발자가 디자인 시스템을 이해할 때 생기는 시너지도 같은 원리예요.
마무리
한 줄 정리: 우리가 매일 쓰는 컴퓨터의 기본 설계도에는 천재 한 명의 이름과, 그 뒤에 가려진 여러 사람의 손길이 함께 남아 있어요.
실무에서 쓰는 개념 중에 ‘이게 이렇게 오래된 거였어?’ 하고 놀랐던 게 있나요? 그리고 개발 조직에서는 천재 한 명과 탄탄한 팀 중 어느 쪽이 더 중요하다고 보세요?
🔗 출처: Hacker News