본문 바로가기
수학자 이야기

세계 최초로 컴파일러를 개발한 수학자, 그레이스 호퍼

by 마늘빵12 2023. 9. 21.

그레이스 호퍼(Grace Murray Hopper, 1906년 ~ 1992년)는 펀치방식 프로그래밍 시대인 1960년대에 컴퓨터 언어 코볼(COBOL)을 만든 주인공으로 코볼의 어머니로 불립니다. 미국 최초의 해군 여성 제독이기도 한 그레이스 호퍼에 대하여 알아보겠습니다.

 

그레이스 호퍼의 유년기

그레이스 호퍼는 1906년 미국 뉴욕에서 태어났습니다. 아버지 월터 머리는 미 해군 제독이었는데 후에 그레이스 호퍼가 아버지의 영향으로 군인이 되는데 영향을 미친 듯합니다. 어린 시절부터 건물 만들기를 좋아했고 기계와 내부구조에 호기심이 많아 7개의 자명종 시계를 분해하는 등 호기심을 직접 확인하는 타입이었습니다. 부모님의 적극적인 지지를 받으며 자란 그레이스 호퍼는 뉴욕 바사르 대학에서 수학과 물리학을 전공했습니다. 바사르 대학에서 학사 학위를 받고 예일 대학교에서 석사와 박사를 취득합니다. 1941년 바사르 대학에서 수학강사로 일하면서 대수학과 기하학, 삼각법, 미적분학, 확률론과 통계학 및 해석학과 기계제도 등을 강의합니다. 

 

 

군에 입대하다

1943년 제2차 세계대전이 일어나자 당시 많은 미국 여성들이 군대에 입대하였는데 그레이스 호퍼도 해군에 자원입대서를 냅니다. 하지만 체중미달과 나이로 허가가 나지 않자 여러 번의 시도 끝에 여군지원단에 입대하게 됩니다. 1년 후 미해군 여군학교를 수석으로 졸업하고 하버드 대학의 컴퓨터 연구소에 배치되어 임무를 부여받게 됩니다. 하버드 대학의 수학 교수인 하워드 아이켄의 지휘를 받게 되었고 그가 만들어 해군에 기증한 마크Ⅰ컴퓨터를 보게 됩니다. 20여 년을 수학만을 공부하다가 40대가 되어서 처음으로 컴퓨터를 만나게 된 것입니다. 그레이스 호퍼의 삶에 전환점이 된 장면이라 할 수 있습니다. 

 

 

컴퓨터와 만나다

마크 Ⅰ을 계량하여 마크 Ⅱ를 제작하여 작동을 하던 어느 날 그레이스 호퍼는 마크 Ⅱ 컴퓨터에 들어있는 17,000개의 계전기를 모두 살펴보다가 두 개의 계전기 사이에 나방 한 마리가 끼어 있는 것을 발견해 핀셋으로 제거합니다. 호퍼는 그 나방을 자신의 노트에 붙인 뒤 컴퓨터를 디버깅(debugging)했다고 기록합니다. 컴퓨터의 명령어가 논리적 혹은 문법적으로 오류가 생겼을 때 수정하는 과정을 뜻하는 디버깅은 이렇게 탄생했습니다. 그리고 컴퓨터의 프로그램 결함을 뜻하는 버그 역시 이 일에서 유래했습니다. 

호퍼가 컴퓨터 버그를 기록한 노트(좌), 유니박(우)

제2차 세계대전이 끝나고 호퍼는 대학으로 돌아가지 않고 해군 연구직에 합류합니다.  마크 Ⅲ의 설계와 제작에도 참여하고 1949년에는 에커트 모클리 컴퓨터 회사(후에 레밍턴 란트에 합병된다.)로 자리를 옮겨 기존의 이진법을 더 발전시킨 형태인 팔진법 프로그램을 적용시키는 바이낙 컴퓨터를 만듭니다. 이를 토대로 레밍턴 란트사의 대량생산 가능한 유니박을 출시합니다. 이는 마크 Ⅰ보다 1000배나 빠른 속도의 컴퓨터입니다. 

 

 

컴파일러 프로그램

그레이스 호퍼는 컴파일러 프로그램을 탄생시킵니다. 그녀의 수많은 연구 결과 중 우리가 익히 알고 있는 'Input', 'compuare', 'go to', 'Output'를 명령어로 사용하는 컴파일러 프로그램도 있습니다. 1957년 호퍼를 비롯한 컴퓨터 산업계의 개발자들은 어떤 컴퓨터 회사든 상관없이 모든 컴퓨터에는 표준화된 컴퓨터 언어를 적용해야 한다는 것을 인식하게 되었습니다. 1960년 코볼(COBOL) 언어의 첫 번째 버전이 나오면서 이 연구는 순항하게 됩니다. 40대에 프로그래밍에 입문해 세계 최초의 컴퓨터 컴파일러를 만들고 프로그래밍 언어 코볼을 세상에 선보인 호퍼는 현대 소프트웨어 산업에 가장 큰 영향을 준 프로그래머이자 컴퓨터 기술로 세상을 바꿀 수 있다고 믿었던 수학자입니다. 

1966년 60세가 된 그레이스 호퍼는 해군의 규칙에 의해 정년퇴직을 해야 했지만 곧 임시직으로 채용되어 1986년까지 해군 프로그램이 언어 연구팀의 팀장직을 수행하며 계속 연구를 합니다. 미 해군에서의 호퍼의 업적과 컴퓨터 과학계에 대한 공헌은 높은 평가를 받았으며 1986년 그레이스 호퍼는 79세의 나이에 미 국방성의 최고공훈훈장을 받으며 최고령 장교로 퇴역했습니다. 뿐만 아니라 이지스구축함 DDG-70은 최초의 여성 제독이었던 호퍼의 이름을 따서 호퍼함으로 명명했습니다. 코볼의 어머니이고 세계 최초의 디버거였던 그레이스 호퍼는 1992년 별세합니다.

 

 

그레이스 호퍼의 영향과 의의

순수하게 수학자, 수학교수로서의 길을 걷던 그레이스 호퍼는 40대에 처음 컴퓨터를 접하고 컴퓨터 프로그래밍 연구를 하고 더 나아가 컴파일러 프로그램을 탄생시켰습니다. 그녀가 개발한 코볼은 60여 년이 지난 오늘날에도 아직도 일부분 사용되고 있으며 여전히 IT분야에선 중요하게 다루어지고 있는 언어 중의 하나입니다. 편안한 안주 대신 도전을 선택하고 끊임없는 연구를 한 그레이스 호퍼는 지금을 살아가는 사람들에게도 용기와 희망을 주고 있습니다. 

우리에게 가장 큰 피해를 끼친 말은 "지금껏 항상 그렇게 해왔어"라는 말이다.