에츠허르 W. 다익스트라가 1984년 기조연설에서 컴퓨팅 과학을 위협하는 요인—강한 동질화와 지역적 압력, 하드웨어 중심 사고, 만능 해결책을 찾는 ‘현자의 돌’과 ‘엘릭서’의 신화, 사용자 친화성 유행, 언어 표준화와 도구화의 착각—을 비판적으로 짚으며, 단순성과 지적 절제를 핵심 과제로 제시한 글.
컴퓨팅 과학에 대한 위협
서두 삼아, 제가 이 기조연설의 주제로 “컴퓨팅 과학에 대한 위협”을 택하게 만든 관찰 하나를 말씀드리겠습니다. 그 관찰이란, 컴퓨팅 과학 분야의 학술지나 학회 논문집을 훑어볼 때 대개 첫눈에 그 논문이 어느 지리적 배경에서 나온 것인지 알 수 있다는 사실입니다.
물론 어느 분야든 국가적 차이는 늘 존재해 왔습니다. 하지만 컴퓨팅에서 그 차이가 눈에 띄게 드러난다는 점은, 이 분야가 태동한 초기 몇십 년 동안 작동했던 온갖 동질화 압력을 떠올리는 순간 놀랍게 느껴집니다. 이 논거의 힘을 강조하고자 그 중 몇 가지만 언급하겠습니다.
첫째, 처음부터 영어는 컴퓨팅의 공용어였습니다. 1956년, 제가 젊은 네덜란드인으로서 처음으로 해외에서 강연을 했을 때—독일의 컴퓨팅 학회에서였지만—강연은 영어로 했습니다. 그리고 대서양 양쪽에서 ACM과 BCS가 학술지를 창간하자, 이들 저널은 곧 이 분야에서 가장 권위 있는 저널이 되었습니다.
둘째, 이른 시기부터 전 세계의 컴퓨팅 과학자들은 여행이 잦아졌습니다. 1959년 파리에서 열린 UNESCO 회의의 해는, 제트 여객기가 보편화되기 시작하던 때이기도 합니다.
셋째—이 과정은 50년대에 이미 시작되었습니다—컴퓨팅 공동체는 점점 소수의 동일한 기계와 소수의 동일한 프로그래밍 언어만을 더 많이 사용하게 되었습니다. 철의 장막 너머에서도 IBM/360을 충실히 베끼는 것 외에 더 나은 생각을 하지 못했고, 지금은 소련군의 요구로 Ada를 열심히 구현하고 있습니다.
마지막으로, 시각적 단서를 지워버리자면, 사람들은 같은 레이저 프린터와 같은 텍스트 편집 소프트웨어를 쓰기 시작했습니다. 니클라우스 비르트가 자신의 타자기로 unmistakably 자신을 드러내던 시절, 그의 글은 거꾸로 들어도 알아볼 수 있던 시절은 지나갔습니다.
요컨대, 젊은 학문인 컴퓨팅 과학에서는, 제가 아는 어떤 학문보다도 동질화하는 힘이 더 강하게 작용해 왔습니다. 그럼에도 불구하고 대부분의 논문은 그 지리적 기원을 너무도 분명히 드러냅니다.
** *
이 기현상을 설명할 수 있는 이유는 단 하나뿐이라고 생각합니다. 강력한 지역적 압력과, 그 압력에 너무도 쉽게 굴복한 유연한(가변적인) 컴퓨팅 집단의 결합입니다. 먼저 그 유연성부터 이야기하고, 그 다음에 압력에 대해 다루겠습니다.
유연성은 이해할 만합니다. 초기의 컴퓨팅 공동체는 자신들의 주제가 정확히 무엇인지 매우 불확실했고, 그들이 둘러싸인 세계는 혼란스럽고 혼동을 부추겼으며, 그 세계로부터 거의 아무런 지침도 받지 못했기 때문입니다.
이 분야의 선구자들은 꽤 혼란을 가져왔습니다. 존 폰 노이만은 컴퓨터와 인간의 뇌를 중세 사상가에 견줄 만큼 대담한 유비로 사색했고, 앨런 M. 튜링은 “기계가 생각할 수 있는가”라는 문제를 가를 기준을 궁리했습니다. 오늘날 우리가 알듯 그 물음은 “잠수함이 수영할 수 있는가”만큼이나 무의미합니다.
또 다른 혼란은 당시 수치해석이 새로운 장비를 사용할 준비가 된 거의 유일한 과학 분야였다는 사정에서 왔습니다. 그 결과, 숫자 계산에 능한 도구로서 컴퓨터는 주로 수치해석가의 도구로 인식되었고, 스탠리 길 같은 통찰을 가진 사람이 “수치해석은 컴퓨팅 과학자에게 위생공학자에게 화장지 같은 것—필요할 때는 없어서는 안 될 것—이다”라고 분명히 말해 줄 필요가 있었습니다.
그러나 가장 큰 혼란은, 당시 전자공학이 신뢰할 수 있는 수준으로 기계를 만들어 낼 준비가 충분치 않았고, 그 결과 하드웨어가 관심의 초점이 되었다는 데서 비롯되었습니다. 이 왜곡은 그 시절 붙여진 이름들에 고스란히 반영되어 있습니다. ACM은 Association for Computing Machinery(컴퓨팅 기계 협회)의 약자이고, BCS는 British Computer Society(영국 컴퓨터 학회)의 약자이며, 당시 대학들은 Computer Science(컴퓨터 과학) 학과를 세웠습니다. (조금 더 늦게 반응한 영국의 대학들은 그 사이 조금 더 현명해져서 Computing Science(컴퓨팅 과학) 학과를 세웠습니다.)
저는 이 하드웨어 중심을 ‘왜곡’이라 불렀습니다. 이제 우리는 전자공학이 기계 그 자체밖에 기여할 수 없다는 사실, 그리고 범용 컴퓨터란 단 한 가닥의 전선도 바꾸지 않고 상상할 수 있는 어떤 메커니즘이든 구현할 수 있는 손쉬운 장치에 불과하다는 사실을 알고 있습니다. 그렇다면 핵심 질문은, 우리가 스스로 만든 복잡성 속에서 길을 잃지 않고 어떤 메커니즘들을 생각해 낼 수 있느냐입니다. 스스로 만든 복잡성 속에서 길을 잃지 않는 것, 더 나아가 그러한 복잡성이 애초에 도입되지 않도록 배우는 방식으로 그 목표에 이르는 것—이것이 컴퓨팅 과학이 맞닥뜨린 핵심 도전입니다.
오늘날 기계는 너무도 빠르고 기억 장치는 너무도 거대하여, 참으로 실감나는 의미에서 우리가 불러일으킬 수 있는 계산은 우리의 상상력을 압도합니다. 기계의 역량은 우리로 하여금 엉망진창을 만들 공간을 넉넉히 줍니다. 망칠 기회는 무한합니다! 이런 환경에서 사물을 충분히 단순하게 유지하는 금욕적 지적 훈련을 개발하는 일은 기술적으로도 교육적으로도 만만치 않은 도전입니다.
컴퓨팅 과학자로서 우리는 두려워할 필요가 없습니다. 오히려 해야 할 일이 무엇인지 아는 것은 언제나 좋은 법입니다. 특히 그 과제가 우리의 것만큼 분명하고 고무적일 때는 더더욱 그렇습니다. 우리는 무엇을 해야 하는지 잘 압니다. 그러나 타는 듯한 물음은, 우리가 속한 이 세계가 과연 그 일을 하도록 우리를 허락할 것인가 하는 것입니다. 답은 전혀 자명하지 않습니다. 컴퓨팅 과학이 불리한 내기를 강요당할 가능성은 매우 큽니다.
로마인들이 우리에게 “Simplex Veri Sigillum”(진리의 표식은 단순함이다)이라고 가르쳐 준 이래, 우리는 더 잘 알았어야 합니다. 그럼에도 복잡성은 병적으로 매혹적입니다. 학술 대중을 상대로 처음부터 끝까지 수정처럼 투명한 강연을 하면, 청중은 속았다고 느끼며 “꽤 사소했지 않나?”라고 서로 말하며 강연장을 나갑니다. 뼈아픈 진실은, 복잡한 것이 더 잘 팔린다는 것입니다. (그 사실을 알아챈 게 컴퓨터 산업만은 아닙니다.) 더 악랄한 것은, 우리가 스스로 만든 복잡성을 가지고 우리 자신을 감탄시키기까지 한다는 점입니다. 저 역시 제 첫 해법의 영리함에 감탄한 적이 많습니다. 그 논증을 간결하게 다듬는 후속 발견에서 누리는 기쁨은, 언제나 그 영리함이 결국 불필요했다는 아쉬움으로 빛이 바랬습니다. 비틀린 것이라도 자신의 기발함을 포기하는 일은 진정한 희생입니다. 또한 많은 프로그래머가 자신이 무엇을 하는지 완전히 이해하지 못하는 데서, 감히 위험을 감수하는 데서, 그리고 애초에 만들지 말았어야 할 버그를 찾기 위해 분투하는 데서 자신의 직업적 흥분의 대부분을 얻습니다.
이상은 내부의 복잡성이었습니다. 외부의 압력을 더 잘 이해하려면, 우리의 주제를 과학과 사회 전반이라는 더 넓은 맥락에서 잠시 바라보는 편이 낫겠습니다. 컴퓨터가 등장했을 때는 과학과 기술의 진보와 건전성에 대한 믿음이 사실상 무한하던 시기였으므로, 인류의 과학적 노력이—이를테면 지난 5세기 동안—원래의 목표 관점에서 보면 대단히 처참한 실패였음을 상기하는 게 현명할지 모릅니다.
다들 기억하시겠지만, 첫째이자 가장 중요한 목표는, 마시는 이에게 영원한 젊음을 주는 엘릭서를 개발하는 것이었습니다. 그러나 영원한 빈곤에는 별 의미가 없으니, 과학계는 곧 두 번째 프로젝트, 곧 필요한 만큼의 금을 만들게 해 줄 현자의 돌 개발에 착수했습니다.
말할 것도 없이, 이 두 장대한 연구 프로젝트의 기획은 당시 예언자들의 예측 능력을 훨씬 넘어섰고, 건전한 경영 상의 이유로, 미래를 정확히 예측하는 일이 세 번째 뜨거운 과학 주제로 떠올랐습니다.
세월이 흐르며 무슨 일이 벌어졌는지 우리는 잘 압니다. 의학, 화학, 천문학은 조용히 돌팔이의술, 연금술, 점성술과 결별했습니다. 새로운 목표가 세워지고, 원래의 목표는 상냥하게 잊혔습니다.
정말 잊혔을까요? 아닙니다. 학계는 원래의 목표를 달성하지 못한 데 대해 은근한 죄책감에 여전히 시달립니다. 그래서 새로운 유망한 과학·기술 분야가 싹틀라치면, 채워지지 않은 온갖 희망과 기대가 그쪽으로 옮겨갑니다. 이것이 확립된 전통입니다. 그리고 우리가 잘 알고 있듯 지금 컴퓨팅 과학은, 세상의 모든 병폐와 그 이상을 치료하라는 고된 임무를 떠안았습니다. 그 순수하지 못한 결과로, 우리는 정당화되지 않은 희열, 즉 의심을 신성모독으로 여길 만큼의 암묵적 가정 아래에서 활동해야 합니다. 그 희열의 정당성이 불안정하기 때문에 더욱 그렇습니다. 위험을 무릅쓰고 몇 가지 의심을 던져 보겠습니다.
그 희열의 근본 교리는 이렇습니다. 우리가 할 수 있는 일이라면 기계가 더 낫고 더 싸게 해 줄 것이라는 믿음, 그리고 그 당연한 결론으로서 기계를 쓰면 더 좋은 산출물이 나오고 시간과 돈이 절약된다는 믿음입니다. 그러나 우리는 거의 매일, 많은 면에서 산출물이 오히려 악화되고 있음을 목격합니다.
지난 6월, 제가 마지막으로 미국을 준비 방문했을 때, 9월 도착에 맞춰 전화 설치를 주문해 보려 했습니다. 상담원은 마치 제가 무례한 제안을 한 것처럼 반응했습니다. “30일이 지나면 컴퓨터에서 빠져나갈 텐데요?”라고 말이죠. 이는 우연이 아니라 전형입니다. 은행이 “컴퓨터가 허락하지 않는다”는 이유로 합당한 서비스를 거부한 일이 얼마나 잦았는지 떠올려 보십시오.
이것들은 대형 설비들입니다. 그러나 소형 설비라고 더 낫지도 않습니다. 제가 심사해야 할 원고가 많은데, 워드프로세서로 작성된 원고는 인쇄 품질, 레이아웃, 문체, 표기, 내용 어느 면에서나 빠짐없이 최악입니다. 제안된 집필 방식—먼저 쓰고 나중에 고친다—은 대개 숙고되지 않은 표현이 모두 솎아진 텍스트로 이어지지 않습니다. 마지막으로, 제안된 반복적 집필 방식이 시간을 절약해 준다는 주장은 명백하고 노골적인 거짓말입니다. 그런데도 그 장비는 수백만 대가 팔립니다…
이 도구의 유용성에 대한 과대평가는 컴퓨팅 과학에 해로운가요? 저는 그렇다고 봅니다. 스펙트럼의 한쪽 끝에서는 “내 워드프로세서가 허용하지 않는다”는 이유로 각종 표기법 실험을 꺼리게 만듭니다. 다른 쪽 끝에서는 프로그램 설계의 예술과 과학이 프로그램 검증의 기계화 문제에 가려집니다. 우리의 조작적 필요에 더 잘 부합해 더 효과적인 새로운 형식주의의 설계는, 현재의 형식이 서툰 탓에 그것의 사용을 기계화하려는 동기가 커지는 바람에, 소홀히 취급됩니다. 연주 예술가만이, 연주하는 악기에 의해 아주 현실적으로 형성되는 것이 아닙니다. 이는 ‘이성을 사용하는 인간’에게도 그대로 적용됩니다. 이 관찰에 대해 여러분이 얼마나 불편해할지는 각자의 몫으로 남겨 두겠습니다.
우리 주제의 역사로 돌아가겠습니다. 초기에는 하드웨어를 그럭저럭 작동시키는 일이 모든 관심을 압도했으며, 우리는 순진하게도 하드웨어가 신뢰할 만해지면 문제가 끝나리라 생각했습니다. 우리가 장비를 사용하는 데 생겨날 진짜 문제는 그때부터 시작될 텐데도 말입니다. 프로그래밍의 어려움과의 대면은, 컴퓨터가 얼마나 훌륭해질지에 대한 믿음에 심각한 흠집을 낼 뻔했습니다. 이 도덕적 딜레마의 해법은 단순하면서도 효과적이었습니다. 프로그래밍 과업의 본질적 어려움은 그냥 부인해 버린 것입니다. 만약 문제를 인정해야 한다면, 그 탓은 소위 “기계의 미개함” 때문이라고 돌렸고, “다음 세대”가 오면 문제가 사라질 것이라고 약속했습니다.
여기 컴퓨팅 과학에 대한 아주 현실적인 위협이 있습니다. 프로그래밍 과업의 본질적 어려움은 한 번도 반박된 적이 없습니다. 사회가 받아들이지 않았기 때문에, 그저 부인되었을 뿐입니다. 그 결과, 프로그래밍 문제가 심각하다는 점을 인정하지 못하는 사회에서는 프로그래밍 방법론 연구가 번성하지 못한 것도 놀랍지 않습니다.
저는 60년대 후반을 생생히 기억합니다. 당시 사람들은 사용 중인 프로그래밍 언어들을 탓하는 경향이 있었고, 순진하게도 “기계와 소통하는 올바른 방법”만 찾으면 모든 프로그래밍 병폐가 치유될 것이라 믿었습니다. 한 가지만 예로 들면, 1967년 테네시 개틀린버그에서 열린 ACM 운영체제 설계 원리 회의는 단 하루 만에, 우리가 운영체제를 설계할 줄 모르는 이유는 그것을 설계할 언어가 없기 때문이라는 성급한 결론에 도달했습니다! “올바른 프로그래밍 언어만 있으면!” 당시 운영체제 설계가 제기하던 어려운 개념적·논리적 문제들이 있다는 사실은 거의 수면 위로 올라오지도 못했습니다. 그 결과, 그 문제들은 마땅히 받아야 할 관심을 받지 못했고, 그 파장은 멀리 미쳤습니다. 최근 저는 셔틀 온보드 소프트웨어에 관한 일련의 글을 읽었습니다. 레이건 대통령께서 관대하게 선생님 한 분에게 공짜 탑승권을 제안하셨지만, 저는 사양하겠습니다.
만능의 프로그래밍 언어와 만능의 인간-기계 인터페이스를 찾아 소프트웨어 위기를 눈 녹듯이 사라지게 하려는 탐구는—지금도!—엘릭서와 현자의 돌을 찾는 탐색의 모든 특징을 지닙니다. 이 탐색은 두 방향에서 강한 지원을 받습니다. 첫째, 기적을 행하는 것이 컴퓨터에 기대할 수 있는 최소한이라는 믿음. 둘째, 처음부터 엘릭서와 돌을 요구해 온 사회의 재정적·정치적 지원입니다.
두 개의 큰 물줄기를 구분할 수 있습니다. 돌을 찾는 탐색과 엘릭서를 찾는 탐색입니다.
돌을 찾는 탐색은 우리의 “프로그래밍 도구”가 너무 약하다는 가정에 기반합니다. 예를 들면, 지금의 프로그래밍 언어에는 우리가 필요한 “기능”이 부족하다는 믿음이 있습니다. PL/I는 그보다 더 화려한, 돌이 되고자 했던 산물들 중 하나였습니다. 저는 1968년 Datamation지의 광고를 아직도 기억합니다. 활짝 웃는 수지 메이어가 “PL/I로 갈아탔더니 내 프로그램 문제가 모두 해결되었다”고 풀컬러로 선언하던 광고 말입니다. 몇 년 뒤 불쌍한 수지 메이어가 더는 웃지 못하리라는 점은 너무도 뻔했습니다. 말할 것도 없이 탐색은 이어졌고, 때가 되자 다음 돌 후보가 Ada의 형태로 등장했습니다(철의 장막 너머에서는 통찰력 있게 PL/II라고 부릅니다). 초급자용 점성술만으로도 Ada가 이런 유형의 마지막 돌이 아닐 것이라는 예언쯤은 충분히 할 수 있습니다.
Ada는 표준화로 소프트웨어 비용을 줄이겠다는 주요 목표를 달성하지 못할 것이며, 신뢰할 수 있는 프로그램의 매개도 되지 못할 것입니다. 너무 복잡해서, 그 목적에 필수적인 모호함 없는 정의를 도무지 허락하지 않기 때문입니다. 설계가 동결되기 훨씬 전부터 전 세계의 컴퓨팅 과학자들은 충분한 경고를 보냈습니다. 그러나 문제의 정치 조직은 그 경고를 무시하고 구제 불능의 설계를 결정했습니다. 과학적 관점에서 볼 때, Ada에 더 관심을 쏟는 것은 노력의 낭비입니다. 하지만 미 국방부(DoD)의 막강한 구매력은 Ada를 부정할 수 없는 현실로 만들었고, 이는 DARPA의 소프트웨어 연구 지원 정책과 결합되어, 연구 노력을 잘못된 문제에 쓰도록 압력을 키울 뿐입니다.
“소프트웨어 공학”이라는 기치 아래, 또 다른 연쇄의 돌—“프로그래밍 도구들”—이 생산되고 있습니다. 시간이 흐르며 이 분야는 지적 규율을 경영 규율로 대체하려 들었고, 이제는 “프로그래밍을 할 수 없을 때 어떻게 프로그래밍할 것인가”를 사명으로 받아들이기에 이르렀습니다.
이에 병행하여 엘릭서를 찾는 탐색이 있습니다. 여기서 프로그래밍 문제는 아예 프로그래머를 없애는 방식으로 ‘해결’됩니다. 이를테면, 거의 일상 영어로 된 프로그램을 만들어 보겠다는 꿈 말입니다. 그러면 평범한 사람도 프로그램을 쓰고 읽을 수 있을 테니까요. 사람들은 “프로그래머 없애기”가 COBOL의 주요 원래 목표였다는 사실을 잊곤 합니다. 15년 뒤, 전 세계 프로그래밍 인력의 80%가 COBOL에 흡수되었습니다. 그 엘릭서가 얼마나 효과적이었는지 가늠케 하는 수치입니다. 엘릭서는 보통—그레이스 호퍼의 표현을 빌리자면—“컴퓨터의 교육”으로 구현됩니다.
그 뒤로 우리는 셀 수 없이 다양한 맛과 색의 엘릭서를 보아 왔습니다. 70년대 초에, 우리에게는 프로그램이 전혀 필요 없다고 주장하던 프로젝트가 떠오릅니다! 우리에게 필요한 것은 오직 “지능 증폭”뿐이라는 것이었죠. 만약 그들이 무엇이든 “증폭”할 수 있는 것을 설계했다면, 아마도 어리석음도 증폭한다는 사실을 발견했을 것입니다. 어느 쪽이든, 그 후로는 소식이 없었습니다.
현대 엘릭서의 주요 매력은, 정확하게 말할 의무에서 소비자를 해방해 준다는 점입니다. 정확할 수 없을 만큼 흐릿한 인터페이스를 내밀어 무능력의 증상을 억누름으로써, 능력의 환상을 만들어 내는 것입니다.
마지막으로, 요즘 유행하는 학제 간 연구를 언급해야겠습니다. 돌과 엘릭서를 하나로 만들려는 시도입니다. 사용자 친화적 프로그래머의 워크스테이션, 대화형 학습 도구, 통합 프로젝트 지원 환경, 그리고 완전자동 고해상도 창의적 꿈 제조 관리 시스템 같은 것들을 가리킵니다.
** *
새로운 과학·기술 분야에 대한 비현실적 기대에 관해서는 이쯤 하겠습니다. 자동 계산의 경우, 상황은 두 가지 사정으로 더 악화되었습니다. 첫째, 일반 대중은 비자명한 컴퓨터 활용이 내포하는 개념적 도전에 대한 감각이 거의 없으며—비유를 쓰자면—교향곡 작곡을 악보로 옮기는 일과 혼동하는 경향이 있습니다. 그 결과, 한계에 대한 이해가 기대를 견제하지 못합니다.
둘째로 유감스럽게도, 컴퓨터 산업과 교육 업계가 대중을 오도하는 데 과도한 몫을 차지했습니다. “사고 처리기(Thought Processors)”를 광고하는 회사나, BASIC만 배우면 충분하거나 최소한 도움이 된다며 떠드는 대학이 떠오릅니다. 한편 BASIC 교육은 범죄로 다스려야 합니다. 회복 불가능할 정도로 정신을 훼손하기 때문입니다.
이렇듯 자동 계산이 무엇인지에 대한 광범위한 오해는, 과학이 기여할 수 없고—그러므로 기여하려 해서는 안 되는—방향으로 연구 노력을 빗나가게 만들기 때문에, 컴퓨팅 과학에 대한 위협입니다. 동시에, 제가 이 강연 서두에서 언급한 지리적 차이를 설명해 주기도 합니다. 각 사회는 저마다의 특정한 문제와 걱정을 갖고 있으며, 따라서 저마다의 엘릭서와 돌을 요구합니다.
이를테면 “사용자 친화성”을 보십시오. 글자 그대로 받아들이면 “어머니됨” 같은 용어입니다. 누구도 반대할 수 없으니 아무 의미도 없습니다. 그러므로 “사용자 친화성”이라는 용어에 의미가 부여되었다면, 그것은 분명 다른 무엇인가에 대한 끔찍한 완곡어법일 것입니다. 평균적인 교과서 출판사의 카탈로그는 그 비밀을 드러냅니다. 가장 효과적이라 여겨지는 추천 문구는, 그 책이 거의 완전히 비수학적이라는 것입니다. 수학은—엄밀성과 정밀함을 구현할 잠재력과, 따라서 그것을 요구하는 속성 때문에—사용자 비친화성의 정점입니다. 반대로, 사용자 친화적인 주제로 가득 찬 논문은, 주로 비수학적 혹은 반(反)수학적 집단에서 존중받습니다. (개인적으로 저는 “사용자 친화성 조롱을 위한 국제 연맹”이 세상에 이로울 수 있다고 생각합니다.)
그럼에도 고무적인 징후가 있습니다. 새로 주조된 구호가 하룻밤 사이에 그럴듯한 연구 주제로 격상되던 시대가 저물어 가는 듯합니다. 작년에 “BASIC이 당신을 멈추기 전에 BASIC을 멈추라(Stop BASIC before it stops you.)”라는 문구가 적힌 배지를 받았다는 소소한 증표를 넘어, 소련 과학아카데미 시베리아 지부가 BASIC의 소련 고등학교 도입을 막기 위한 진지한 노력을 시작했다는 사실은 더 설득력 있는 징후입니다.
이 나라에서 전해지는 나쁜 소식은, 한 명문대에서 새로 임명된 교육용 컴퓨팅 부총장이, 학부생 모두에게 충분한 컴퓨팅 능력을 제공해야 한다고 결정하면서도 “아이들은 고등학교를 졸업할 때 이미 프로그래밍을 할 줄 아니까” 추가 교육은 필요 없다고 했다는 점입니다. 그러나 좋은 소식은, 그 부총장이—같은 물리학자들을 제외한—회사 사람들 사이에서 웃음거리가 되었다는 사실입니다.
또한 미국의 대학들에게도 흐름이 바뀌고 있는 듯합니다. 전통적으로 이들은 미국 산업계를 위한 노동력을 양성하라는 요구를 받아왔고, 그 졸업생들에게 걸맞게 산업계를 교육할 문제는 외면되었습니다. 그러나 현재 실리콘밸리의 기업들은 세워지는 속도보다 문 닫는 속도가 더 빠른 것 같습니다. 저는 그것을 반가운 소식으로 봅니다. “지식 기반 의사결정 지원” 같은 구호도, 임기응변식 대충 때우기와 무식한 힘(브루트 포스)의 결합도 문제를 해결하지 못한다는 메시지를 가슴에 새길 기회가 될 수 있기 때문입니다. (큰 집단은, 자신의 백일몽이 악몽으로 바뀐 뒤에야 제정신을 차리는 경우가 많다는 것이 유감스럽지만, 그렇다면 가끔은 그 악몽을 환영해야 합니다.) 지난 수십 년 동안 미국의 컴퓨팅 과학 학과들은, 사회가 요구한 것과 사회가 필요로 한 것 사이의 괴리로 심각한 타격을 입었습니다. 하지만 더디긴 해도 그 격차는 줄어드는 듯합니다.
앞서 말했듯, 프로그래밍 가능한 컴퓨터는 상상 가능한 어떤 메커니즘이든 구현할 수 있는, 그 이상도 그 이하도 아닌 손쉬운 장치입니다. 따라서 우리가 충분히 명료하게 생각해 낼 수 있는 메커니즘이 무엇인지 보여줄 책임이 우리에게 있습니다. 이는 공학과 과학적 사고 기법을 융합하라는 도전이며, 흥미진진한 도전이고, 우리는 그 준비가 되어 있습니다.
(ACM 1984 남중부 지역 회의 기조연설, 11월 16–18일, 텍사스 오스틴에서.)
prof. dr. Edsger W. Dijkstra
Department of Computer Sciences
The University of Texas at Austin
AUSTIN, Texas 78712–1188
United States of America
전사: 마이클 루고 (Michael Lugo)
최종 수정: 2012-06-16.