에이다 러브레이스가 1843년에 쓴 해석기관을 위한 베르누이 수를 구하는 프로그램은 세계 최초의 컴퓨터 프로그램으로 알려져 있다. 해석기관은 끝내 완성되지 못했고, 러브레이스 역시 이 프로그램이 실행되는 것을 볼 수 없었다. Two-Bit History에서는 러브레이스의 프로그램을 C로 번역하는 과정과 그 결과물을 소개하였다. 그는 번역 후 실행을 시켰더니 계속 잘못된 결과가 나와서 어디가 문제였는지를 살펴보니, 원래 코드의 네 번째 연산에서 러브레이스는 v5 / v4라고 썼으나 실제론 v4 / v5여야 했다고. 즉 러브레이스가 쓴 코드는 버그가 있었던 것이다.
버그란 이름의 기원이 되기도 한 세계 최초의 버그는 1947년 마크II에 낀 나방 때문에 컴퓨터가 오작동한 것으로 알려져있는데, 세계 최초의 소프트웨어 버그는 1843년이라 할 수 있을 듯. 만약 러브레이스 생전에 해석기관이 완성되었다면 충분히 디버그할 수 있지 않았을까 싶기도 하고… “에이다, 당신이군요. 최초의 프로그래머” 같은 if의 세계에 대한 공상으로 빠지게 된다.
트윗을 정리. (2018/08/20)