40년째 전해지는 전설의 프로그래머 멜 이야기

AI가 코드를 쓰는 시대에 다시 읽으니 더 멋있더라고요

by김도경 dkkim

개발자들 사이에서 40년 넘게 돌고 도는 이야기가 있습니다. 제목은 "멜의 이야기". 1983년에 한 프로그래머가 인터넷 게시판에 올린 글인데, 이번 주 GeekNews에 다시 올라왔어요. 개발을 몰라도 재밌게 읽혀서 소개해 봅니다.


기계와 박자를 맞추던 사람


멜은 1950년대 컴퓨터 회사에서 일한 프로그래머입니다. 그 시절 컴퓨터는 빙글빙글 도는 원통에 데이터를 저장했어요. 필요한 명령이 원통 어디에 있느냐에 따라 기다리는 시간이 달라졌죠.


멜은 원통이 도는 속도까지 계산해서, 명령이 필요한 순간 딱 그 자리에 오도록 배치했습니다. 기계가 알아서 최적화해 주는 도구보다 멜이 손으로 짠 코드가 더 빨랐다고 해요.


"손님이 이기게 해 주세요"


멜은 전시회용 블랙잭 게임을 만들었습니다. 사람들이 몰려들 만큼 인기였는데, 회사에서 요청이 하나 왔어요. 손님이 너무 자주 지니, 손님이 이길 수 있게 몰래 바꿔 달라는 거였습니다.


멜은 속임수를 넣는 게 싫다며 한참 버텼습니다. 결국 고치긴 했어요. 그런데 스위치를 켜면 손님이 아니라 컴퓨터가 매번 이기게 만들어 놓았습니다. 조건을 거꾸로 넣은 거죠. 멜다운 대답이었습니다.


끝나지 않는데 끝나는 반복문


멜이 회사를 떠난 뒤, 글쓴이가 그 코드를 고치는 일을 맡았습니다. 그런데 이상한 부분이 있었어요. 멈추는 조건이 어디에도 없는 반복문이 멀쩡히 멈추는 겁니다.


글쓴이는 2주를 들여 비밀을 풀었습니다. 멜은 숫자가 넘칠 때 생기는 자리올림을 이용해, 반복이 끝나는 순간 명령 자체가 다른 명령으로 바뀌게 짜 두었어요. 원리를 알고 난 글쓴이는 결국 그 코드를 고치지 않았습니다. 진짜 프로그래머의 코드를 뜯어고치는 게 마음이 편하지 않았다고요.


AI가 코드를 쓰는 시대에 읽으니


요즘은 AI가 코드도, 문서도, 보고서도 써 줍니다. 그런 시대에 이 이야기가 다시 인기를 끈 게 흥미로웠어요.


제가 멜 이야기에서 본 건 두 가지입니다. 하나는 자기 일을 끝까지 이해하는 사람이 보여 주는 멋이에요. 원통이 도는 속도까지 알았으니 남들이 못 하는 걸 할 수 있었죠. 다른 하나는 선을 지키는 태도입니다. 하기 싫은 일을 시켰을 때 멜은 대놓고 거절하지 않았어요. 대신 자기 방식으로 답했습니다.


저도 AI에게 일을 많이 맡기지만, 제 일의 원리만큼은 제가 제일 잘 알려고 합니다. 결과를 누가 만들었든, 왜 그렇게 되는지 설명할 수 있어야 제 일이라고 말할 수 있으니까요.


원문은 짧고 영어도 어렵지 않습니다. 커피 한 잔 하면서 읽어 보셔도 좋아요.


참고한 글


Ed Nather — The Story of Mel (1983)


GeekNews — Mel의 이야기 (1983)




카지노 게임의 이전글부족한 글인데, 분야 1위가 됐습니다