바바라 리스코프: 데이터 추상화의 첫 번째 설계자
1968년 바바라 리스코프 (Barbara Liskov) 는 미국에서 컴퓨터 과학 학과로부터 박사 학위를 받은 최초의 여성 중 한 명이 되었습니다. 40년 후 매사추세츠 공과대학교 (MIT) 교무처장은 누군가 온라인으로 은행 잔고를 확인하거나 검색을 할 때마다 그들은 "그녀의 연구가 만들어낸 동력을 타고 있는 것"이라고 전 세계에 알렸습니다. 그 두 시점 사이에서 그녀는 데이터 추상화, 추상 데이터 유형, 한 유형이 다른 유형을 안전하게 대체할 수 있는 시점에 대한 공식적인 규칙 등 그 이후 작성된 거의 모든 프로그래밍 언어의 기저에서 조용히 작동하는 개념적 비계를 구축했습니다.
컴퓨팅에서의 의외의 시작
바바라 제인 후버만 (Barbara Jane Huberman) 은 1939년 11월 7일 로스앤젤레스에서 4남매 중 장녀로 태어났습니다. 그녀는 캘리포니아 대학교 버클리 (UC Berkeley) 에서 수학을 전공하고 물리학을 부전공했으며, 1961년 수학을 공부한 학급의 유일한 여성 두 명 중 한 명으로 졸업했습니다. 당시 여성에게 기술적 경력의 길이 거의 없던 시절 쉬운 길을 택하는 대신, 그녀는 스탠포드가 막 시작된 컴퓨터 과학 프로그램에 그녀를 받아들이기 전까지 미트레 코퍼레이션 (Mitre Corporation) 에서 프로그래머로 일했습니다. 그녀의 1968년 박사 학위 논문은 체스 엔드게임 프로그래밍을 다루었으며, 인공지능 분야에서 여전히 논의되는 탐색 가지치기 기법인 "킬러 휴리스틱"을 만들어냈습니다. 그녀의 박사 지도 교수는 AI 분야의 창시자 중 한 명인 존 매카시 (John McCarthy) 였습니다. 그녀는 미국에서 컴퓨터 과학 학과로부터 박사 학위를 받은 최초의 여성으로 인정받고 있습니다.
CLU와 데이터 추상화의 개념
리스코프는 1972년 MIT에 합류하여 프로그래밍 방법론 그룹을 이끌었으며, 1970년대 중반 그곳에서 CLU를 설계했습니다. 당시 대부분의 프로그래머는 절차적으로 소프트웨어를 구성하여 데이터 구조를 직접 조작하는 명령어 시퀀스를 작성했고, 이로 인해 데이터와 구조가 모든 곳에서 얽히게 되었습니다. CLU는 데이터 유형을 해당 유형을 조작할 수 있는 유일한 연산과 함께 묶는 독립형 모듈인 "클러스터"를 도입하여 내부 표현을 프로그램의 나머지 부분으로부터 완전히 숨겼습니다. 이것이 데이터 추상화였으며, 이것이 소프트웨어 공학을 얼마나 철저하게 재편했는지 과장하기 어렵습니다. Java, C++, C#, Ada의 핵심에 있는 클래스 구조는 모두 CLU의 클러스터에서 유래했습니다. 리스코프는 대규모 소프트웨어 시스템이 깨끗한 인터페이스를 갖춘 작고 독립적으로 검증 가능한 조각으로 나뉘어야만 안정적으로 구축될 수 있다는 주장을 작업 코드로 실현하기 위해 이 언어를 구축했습니다.
아거스, 비잔틴 결함 허용 및 분산 시스템
리스코프는 단일 기계 프로그램에서 멈추지 않았습니다. 1980년대에 그녀는 네트워크를 통해 통신하는 여러 기계에 분산되어 실행될 때도 올바르게 작동하는 프로그램인 분산 컴퓨팅을 지원하기 위해 특별히 구축된 최초의 고급 프로그래밍 언어인 아거스 (Argus) 의 개발을 이끌었으며, 이 아이디어는 이제 모든 클라우드 서비스와 웹 애플리케이션의 토대가 되었습니다. 그녀는 나중에 훨씬 더 어려운 문제인 분산 시스템의 일부 구성 기계가 임의로 실패하거나 악의적으로 행동할 때에도 올바르게 작동하는 방법에 집중했으며, 컴퓨터 과학자들은 이를 "비잔틴 결함"이라고 부릅니다. 그녀와 그녀의 학생들이 비잔틴 결함 허용을 위해 개발한 실용적인 기술들은 이제 대규모 인터넷 서비스의 신뢰성을 유지하는 인프라에 내장되어 있으며, 이후 일부 블록체인 합의 프로토콜의 기반이 되었습니다.
그녀의 이름을 딴 원칙
1987년 기조연설에서 리스코프는 나중에 지네트 윙 (Jeannette Wing) 과 공식화한 리스코프 치환 원칙 (Liskov substitution principle) 으로 알려지게 될 내용을 발표했습니다. 프로그램이 주어진 유형의 객체를 사용하도록 작성되었다면, 프로그램의 정확성을 깨뜨리지 않고 해당 유형의 모든 하위 유형 객체를 사용할 수 있어야 한다는 것입니다. 평이하게 서술하면 당연한 소리처럼 들리지만, 그것이 바로 중요한 이유입니다. 이는 "하위 클래스는 부모 클래스처럼 작동해야 한다"는 모호한 직관을 올바른 객체 지향 설계를 위한 엄격하고 검증 가능한 기준으로 바꿉니다. 이 원칙은 거의 모든 소프트웨어 공학 학생들에게 가르치는 5가지 "SOLID" 기둥 중 하나가 되었으며, 이는 한 개인 연구자의 이름이 전체 산업의 작업 어휘로 들어간 드문 사례입니다.
튜링상과 인정
2008년 컴퓨터 학회 (ACM) 는 리스코프에게 "데이터 추상화, 결함 허용 및 분산 컴퓨팅과 관련된 프로그래밍 언어 및 시스템 설계의 실용적이고 이론적인 기초에 대한 기여"를 인정하여 컴퓨팅 분야 최고 영예인 A.M. 튜링상 (A.M. Turing Award) 을 수여했습니다. 그녀는 이 상을 받은 두 번째 여성일 뿐이었습니다. 당시 MIT 총장 수전 호크필드 (Susan Hockfield) 는 그녀의 공헌을 "MIT의 이상: 심오한 혜택을 주는 획기적인 연구"라고 불렀으며, 교무처장 L. 라파엘 라이프 (L. Rafael Reif) 의 헌사는 더 구체적이었습니다. "이메일을 주고받거나 온라인으로 은행 거래 명세서를 확인하거나 구글 검색을 실행할 때마다 당신은 그녀의 연구가 만들어낸 동력을 타고 있는 것입니다." 그녀는 이미 2004년에 IEEE 존 폰 노이만 메달을 받았으며, 2012년에는 국립 발명가 명예의 전당에 헌액되었고, 나중에 2023년에는 벤자민 프랭클린 메달을 받았습니다. 그녀는 2008년에 수여된 대학 최고 교수직인 MIT 인스티튜트 교수직을 유지하고 있습니다.
바바라가 천재라 불리는 이유
리스코프의 천재성은 추상화 그 자체에 대한 것입니다. 복잡한 시스템 내부에 적절한 경계를 그려 각 부분이 그 자체로 이해되고 신뢰받을 수 있도록 만드는 특정 지적 능력입니다. CLU의 클러스터와 그녀의 이름을 딴 치환 원칙은 화려한 발명이 아닙니다. 그것들은 1970년대 대부분의 프로그래머가 아직 명확하게 진술하는 법을 배우지 못한 문제에 대한 정확한 답변이며, 이것이 한 개인의 공로를 거의 인정하지 않는 분야에서 그녀의 이름이 해결책에 영구적으로 부착된 이유 중 일부입니다. 튜링상 위원회의 문구인 "실용적이고 이론적인 기초"는 정확히 이것을 나타냅니다. 단일 인공물이 아니라 언어와 수십 년에 걸쳐 일반화되는 정확성에 대한 사고방식입니다. 솔직한 반론은 리스코프가 이미 모듈화와 추상 유형으로 나아가고 있던 연구 전통 내에서 작업했다는 점입니다. 토니 호어 (Tony Hoare), 니클라우스 비르트 (Niklaus Wirth) 등이 동시에 관련 아이디어를 추구하고 있었고, CLU 자체는 널리 사용되는 프로덕션 언어가 되지 못했습니다. 그 영향력은 나중에 그 개념을 채택한 언어를 통해 간접적으로 도착했습니다. 증거로 볼 때 그녀의 천재성은 순수한 발명보다는 남다른 명료함이었습니다. 다른 누구보다 먼저 추상화를 정확하게 파악해낸 것입니다.
유산
리스코프의 아이디어는 이제 휴대폰, 은행, 검색 엔진을 실행하는 소프트웨어 밑에 보이지 않게 자리 잡고 있으며, 그녀의 이름은 "이것이 리스코프 치환 원칙을 위반합니까?"와 같이 그녀의 논문을 읽어본 적이 없을지도 모르는 엔지니어들이 수행하는 코드 검토 내에서 약어로 살아남아 있습니다. 극소수의 연구자만이 그러한 특별하고 화려하지 않은 형태의 불멸을 성취합니다. 즉, 너무나 철저하게 분야의 상식으로 녹아들어 사람들이 그 이름이 붙어 있었다는 사실조차 기억하지 못하게 되는 것입니다.

.jpg)
