1910년 버트런드 러셀(Bertrand Russell)과 앨프리드 노스 화이트헤드(Alfred North Whitehead)가 공동 집필한 『프린키피아 마테마티카(Principia Mathematica)』가 현대 프로그래밍 언어의 여러 핵심 개념을 이미 포함하고 있었다는 사실이 재조명되고 있습니다. 이 방대한 저작은 참조 투명성(referential transparency), 타입(type), 자유·바인딩 변수(free and binding variables), 치환(substitution), 스코프(scope) 등 오늘날 개발자에게 익숙한 개념들을 100년도 더 전에 다루고 있었습니다.
『프린키피아 마테마티카』는 명제 함수(propositional function)를 통해 현대 람다 항(lambda term)의 선구적인 개념을 제시했습니다. 예를 들어, “x is hurt”와 같은 표현에서 x가 결정되기 전까지는 참/거짓을 단정할 수 없지만, x의 개별성은 유지하는 방식입니다. 또한, 겉보기 변수(apparent variable)와 실질 변수(real variable)를 각각 바인딩 변수와 자유 변수에 대응시키고, 변수의 스코프 개념까지 도입했습니다. 특히, 정적분(definite integral)을 비유로 들어 바인딩 변수와 알파 동등성(alpha equivalence)을 설명하는 부분은 람다 계산(lambda calculus)과의 깊은 연관성을 보여줍니다. 이 책은 정의를 이론적으로 불필요한 표기상의 편의로 보면서도, 어떤 대상을 선택하고 무엇을 중요하게 판단했는지가 담긴다는 점에서 명제보다 중요한 정보를 전달할 수 있다고 평가했습니다.
이 저작은 존재 증명(existence proof)에 있어서 구체적인 증인(witness)을 찾아야 한다고 주장하며, 이는 이후 직관주의(intuitionism) 및 구성주의(constructivism) 수학 철학과 맞닿아 있습니다. 또한, 함수를 이항 관계(binary relation)의 특정 형태로 정의하고, 유일한 대응이 존재하는 입력 집합을 정의역(domain)으로 삼아 현대적 함수 개념을 앞서 다뤘습니다. 심지어 오늘날 프로그래밍에서 널리 사용되는 '타입'의 현대적 의미가 매우 이른 시기에 사용된 사례도 찾아볼 수 있습니다. 이처럼 『프린키피아 마테마티카』는 수학의 논리적 기초를 세우려는 시도였지만, 그 과정에서 현대 컴퓨터 과학과 프로그래밍 언어 설계의 근간이 되는 중요한 개념들을 선구적으로 제시하며 시대를 초월한 통찰력을 보여주었습니다.