본문으로 건너뛰기
피드

Mathematica 이전의 시대 — 20살에 만든 SMP, Caltech IP 분쟁, 그리고 언어 설계의 교훈

general 약 6분
vote
0
댓글
북마크

Stephen Wolfram이 Mathematica 25주년을 맞아 쓴 회고록. 전신인 SMP의 설계와 실패, Caltech과의 IP 분쟁 뒷이야기, 그리고 언어 설계에서 배운 교훈을 풀어놓음.

  • 1

    20살에 SMP를 만들고 하루 1000줄 코딩 — Mathematica의 근간이 된 심볼릭 표현 패러다임

  • 2

    Caltech IP 분쟁의 실제 원인은 유전자 시퀀서 회사 성공에 화난 이사회 의장

  • 3

    SMP 소스 코드가 암호화된 채로 잠겨 있고 키를 아무도 기억 못 함

Mathematica 이전의 시대 — Stephen Wolfram의 회고 (2013)

  • Mathematica 25주년(2013년 기준)을 맞아 Stephen Wolfram이 쓴 회고록. Mathematica가 어디서 왔는지, 그 전신인 SMP(Symbolic Manipulation Program)의 탄생과 실패에서 무엇을 배웠는지를 풀어놓음

6살의 덧셈 슬라이드 룰에서 시작

  • 6살 때 두 자를 이용한 "덧셈 슬라이드 룰"로 산수를 자동화하려 했고, 12살 때 전자 계산기가 나오자 바로 빠져듦. 16살에 물리학 논문을 몇 편 발표하고 고등학교를 나와서 영국 정부 연구소에서 일함
  • 물리학에서 파인만 다이어그램의 대수식이 수백~수천 개 항을 가지는데, 이걸 손으로 하면 부호와 인수 2를 쫓다가 인생을 보내게 됨. 컴퓨터로 대수를 시키자는 아이디어에서 Reduce, Ashmedai, Schoonschip 같은 기존 프로그램을 발견함
  • 1977년에 ARPANET(당시 호스트 256개)을 통해 MIT의 Macsyma를 발견하고 인터랙티브하게 대수 연산을 하기 시작. 적분의 여러 대수적 형태를 열거한 다음 "실험적으로" 미분해서 맞는지 보는 식으로 작업함. 사람들은 Wolfram이 인간 대수 계산기인 줄 알았다는 거임

SMP: 20살에 시작한 대규모 프로젝트

  • 1979년, 20살에 물리학 박사를 마치고 CERN에서 몇 주를 보내며 "Macsyma보다 나은 걸 직접 만들자"라고 결심. 이게 SMP임
  • Rob Pike(Go 언어 만든 그 사람)가 물리학 대학원생이었는데, C가 "미래의 언어"라고 설득해서 C로 구현함
  • 본인이 하루에 코드 1,000줄을 쓰면서 1981년 6월에 SMP 1.0 완성. 실행 파일이 1메가바이트도 안 됐음
  • SMP의 핵심 아이디어: 모든 것을 심볼릭 표현과 패턴 변환 규칙으로 표현. 나중에 Mathematica의 근간이 됨

Caltech과의 IP 분쟁 — 뒷이야기가 기상천외함

  • SMP를 상용화하려고 Caltech 기술이전 사무소에 갔는데 담당자가 뭘 해야 하는지 몰랐음. "교수들이 그냥 직접 회사 차리고 나가서 우리가 관여할 일이 없었다"는 거임
  • 대학이 갑자기 안 된다고 태도를 바꿈. 뒷배경: 1930년대 pH 미터를 발명한 Arnold Beckman이 Caltech 이사회 의장이었는데, 생물학과 교수 Lee Hood가 유전자 시퀀서를 발명하고 Applied Biosystems를 세워서 대성공. Beckman이 "IP가 캠퍼스 밖으로 걸어나간다"고 화를 냈고, 행정부가 때마침 진행 중이던 SMP 프로젝트를 "처리"하라는 지시를 받았다는 거임
  • Feynman과 Gell-Mann이 나서서 중재했지만 결국 Wolfram은 Caltech을 떠남. 2013년에 당시 95세가 된 전 부학장을 우연히 만나서 이 이야기를 들었는데, 본인 상상보다 더 기괴했다고 함

SMP에서 배운 교훈 → Mathematica로

  • SMP의 좋은 아이디어는 Mathematica에 다시 쓰고, 나쁜 아이디어는 빼냄. 나쁜 아이디어 예시:
    • 심볼릭 인덱스 리스트: 함수와 리스트를 통합하려다가 v[2]:b, v[3]:c 후에 v[1]:a를 정의하면 갑자기 재정렬되는 등 괴상한 동작이 발생
    • "카멜레온 심볼": 사용할 때마다 이름이 바뀌는 심볼. 이름부터 이미 나쁜 아이디어임
    • 시맨틱 패턴 매칭: f[$x+$y, $x, $y]f[7, 3, 4]에도 매치되게 했는데, 실제론 거의 안 쓰이고 프로그램 동작을 이해 불가능하게 만듦
    • 사용자 정의 구문: "U"를 중위 연산자로 정의하면 함수 이름에 "U" 들어간 걸 타이핑할 수가 없게 됨
  • 1986년 8월, "궁극의 계산 시스템"을 만들겠다고 결심하고 Mathematica를 처음부터 다시 설계. SMP 덕에 뭐가 중요하고 뭐가 아닌지 이미 알고 있었음
  • 1988년 6월 23일(앨런 튜링 생일인 걸 당시엔 몰랐다고) Mathematica 1.0 출시. Steve Jobs가 NeXT 컴퓨터에 번들하기로 한 게 첫 계약이었음

ℹ️참고

> SMP 소스 코드는 암호화된 채로 잠겨 있음. Wolfram이 "소스를 암호화하자"는 "훌륭한" 아이디어를 냈는데 암호 키를 아무도 기억 못 함. 약 1981년판 Unix crypt 유틸리티의 변형이라는데, 글 말미에 암호 해독 챌린지를 걸어둠

언어 설계의 성공과 실패를 1인칭으로 풀어놓은 귀한 회고록. '카멜레온 심볼' 같은 실패 사례들이 현대 API/언어 설계에도 시사점을 줌.

댓글

댓글

댓글을 불러오는 중...

general

Last.fm, 소유권 바뀌고 독립 회사로 새 출발

Last.fm이 소유권 변경을 거쳐 독립 회사로 운영된다고 밝혔다. 계정, 청취 기록, 스크로블, Pro 구독, API 기능은 그대로 유지되며 사용자 데이터 처리 방식도 바뀌지 않는다고 안내했다.

general

구글이 “사람들은 AI 모드를 좋아한다”고 하자 덕덕고 방문이 28% 가까이 늘어남

구글 검색이 AI 모드와 AI 개요를 전면에 밀어붙이는 사이, AI 없는 검색을 내세운 덕덕고 쪽 트래픽이 눈에 띄게 뛰었다. 덕덕고는 “사람들이 원하는 건 AI 자체의 찬반이 아니라 선택권”이라고 보고 있다.

general

경기도, 도민 15만 명 대상 AI·디지털 교육 시작

경기도가 2026년 AI디지털배움터를 열고 약 15만 명을 대상으로 스마트폰, 키오스크, 생성형 AI, 업무 자동화 교육을 운영해. 고령층과 정보취약지역 주민을 위한 찾아가는 교육, 청년·소상공인 대상 AI 활용 교육까지 범위를 넓힌 게 특징이야.

general

NIA “공공 AX 표준 만들고, 정책부터 현장 구현까지 직접 잇겠다”

한국지능정보사회진흥원(NIA)이 AI 기본법에 따른 인공지능정책센터로 지정되며 공공 부문의 AI 전환을 지원하겠다는 방향을 밝혔다. 핵심은 부처·지자체가 각자 따로 AI를 도입하다 생기는 중복 투자와 표준 부재를 줄이고, 일부 유스케이스는 정책 설계에서 구현까지 직접 밀어붙이겠다는 것.

general

최악의 면접은 코딩 테스트가 아니라 ‘무단 심리평가’였다

한 엔지니어가 정신건강 스타트업의 창업 엔지니어 면접에서 겪은 일을 공유했다. 기술 평가도 하기 전에 90분짜리 컬처핏 인터뷰에서 인생의 가장 힘든 날, 가족 문제, 실패한 관계 같은 사적인 이야기를 끌어냈고, 다음 날 한 줄짜리 탈락 메일을 받았다는 내용이다.