Donald Knuth 교수 강연
작년 10월 8일, Donald Knuth 명예교수의 강연이 있었다. 더이상 말이 필요없는 The Art of Computer Programming (TAOCP) 의 저자이자 컴퓨터 공학계의 거성. 2006년 쯤이었나 회사에서 이달의 우수사원인가 선정되었을 때 이 책 Volume 1~3을 선물로 받았던 기억이 난다. 작년 다이어리를 정리하다가 강연 때 적어놓은 노트가 있어서 뒤늦게나마 포스팅을..
- 인상은 푸근한 옆집 할아버지. (1938년생) 키가 엄청 크고 티셔츠에 청바지를 입고 있었다. Jef Raskin 의 ‘Humane Interface’ 책 티셔츠를 입고 있었던 것이 인상적.
- Theory와 Practice 사이의 balance를 찾는 것이 매우 중요하다. Practice 를 통해 Giant Step을 만들어 내기는 어려운 일이다. (진정한 발전의 driving force는 Theory 에서 온다는 점을 강조하려 한듯)
- TAOCP의 현재진도: binary decision diagram 한 주제에만 17개월째 매달리고 있다. 이 토픽에 대해서만 400개의 저널을 읽었다.
- TAOCP: 1962 년부터 집필시작. 47년째 일생의 역작이 될 이 책 작업중. 손으로 쓰고 있다! 현재까지 3000 페이지 정도 저술.
- 아침에 일어날 때마다 더 뛰어난 계산법을 찾았다는 데에서 기쁨을 느낀다.
참고로;; 힙합 뮤지션 버벌진트는 ‘누명’ 앨범에서 “내게 있어 승리라는 건
거울 앞에 섰을 때 어제의 나보다 나은 자신을 맞이하는 것.” 이라고… - 나이가 문제되지는 않는가?
“I’m not losing it yet.” - 인터넷이 미친 영향
“No excuse for not knowing everything.” - Future Trend 는 어떻게 예상하면 좋을까?
“싫어하는 것들을 모아서 이것들이 미래에 뜰 것이라고 이야기하면 된다.” - 요즘의 프로그래밍은 재미가 없다. “It has become a matter of looking up the library and reusable code, not creating own routines. Multiple manuals are open in programmer’s computer – This is not creative. Progreamming is becoming less and less creative.
- CS 를 전공하기에 적합한 사람 (Born CS people) 은 인구의 1/50 정도이다. They structure knowledge in a nerdy way. Things we do resonate with computers. It’s a matter of mentality. It's not a matter of how many want to do it, it’s a matter of how many CAN do it.
- CS is not a goal-directed field. It’s a skill-directed field. Medicine, for example, is a goal-directed field.
- 학제간 통합은 피할 수 없는 조류이다. 네트워크의 vertices 가 아닌 arcs 가 중요해지고 있다. 여기서 short path 를 찾는 노력이 중요하다.
- Definition of Computer Science
”Study of concrete and abstract algorithms” - 참고로 지난학기 수업을 들었던 John Ousterhout 교수님은 Designing Abstractions 강의노트에서
The most fundamental element of computer science:
- NOT algorithm design! Computers are fast enough to eliminate algorithmic considerations from most programming tasks.
- The most important problem is managing complexity
라고 이야기 하면서 Knuth 교수도 자기 주장에 동의했다면서 기뻐했다. 나도 이러한 의견에 동의하는 편.
어느덧 세달 가까이 지났지만 세계 최고의 컴퓨터과학자를 직접 만나 내가 몸담고 있는 학문에 대한 생각과 가치관을 들어볼 수 있었다는 사실이 아직도 강렬한 인상으로 남아있다. 나이는 숫자에 불과하다는 말을 몸소 보여주고 있는 그의 앞으로가, 지난 반세기의 과거만큼이나 기대된다.
GRE 신청
드디어 신청했다.
4월 28일.
회사 다니면서 4개월 만에 GRE를 본다는 것도 쉬운 것이 아니라는 생각이 든다.
욕심 같아서는 3월 정도에 봐 버리고 싶지만
1. 일단 점수가 누적으로 남고
2. 일본 또 가려면 돈이 많이 들고
3. 준비가 좀 된 상태에서 보고 싶어서..
4월에 신청했다.
매일같이 신청 사이트를 체크했는데, 다행히
공부하는 데에 드는 노력만으로도 버거운데, 소은이 말마따나 신청이나 일본 가는 거나 공부 외적인 요소들에 신경써야 할 것이 너무도 많다. 그래도 어쩌겠는가, 꿈을 위해서라면...
과연 내가 학생이었으면 더 여유가 많으니까 열심히 했을까?
글쎄...
갑자기 이광근 교수님 홈페이지에서 봤던 글이 생각났다.
일단 요지는 '빡셀 때 좋은 아이디어도 많이 생기고 더 잘 된다'는 것.
페이지 상단에는 훌륭한 타이틀이 달려있다.
훌륭한 작업이 나오는 환경에 대한 흥미있는 경험담들, 아리송하고 역설적인, 그 알수 없는 양상들. (번역: 이광근)
http://ropas.snu.ac.kr/~kwang/quote/research-env.html
그 중 Knuth교수의 말을 잠시 빌면 (교수님의 해석까지 같이)
내 인생에서 제일 창의적이었던 일들을 꼽으려고 회고해 보면, 그것들이 모두 어느 한 시절, 가장 많은 제약조건과 잡무로 치이고 있었던 시기에 일어났었다는 것을 알게된다. 예를 들어 1967년이 되겠는데, 그 해는 내 인생에서 가장 정신없던 시절이었지만 동시에 내 연구중에서 중요하다고 평가받는 많은 결과들이 샘솟았던 행운의 해이기도 하다. 속성 문법 (attribute grammar), 크누스-벤딕스 완성 (Knuth-bendix completion), LL(k)파싱 (LL(k) parsing) 등이 모두 그 해에 나온 아이디어들이다. 사실 그 해에 나는 연구할 시간이 없었다. 쓰고있던 책(The Art of Computer Programming)이 곧 출판을 준비하고 있었고, 태어난 애기 둘을 아내와 함께 돌봐야 했고, 잠깐 입원까지 하기도 했었고, Caltech에서의 강의 이외에 외국의 다섯 나라에서 다섯가지 다른 주제로 강연하러 다니기도 했었다. 하지만 그러면서도 내가 할 수 있는 한 최대로 연구 시간을 쪼개내려고 노력했다. 한번은, 학회에 참가해서는 대부분의 논문발표 세션을 빼먹고 해변에 가앉아서 내 연구에 몰두하기도 했었다. 그 시절을 생각하면 종종 의문이인다, 내가 그 해에 보다 더 안정적이었다면 어땠을까, 내 연구가 과연 더 생산적이었을까 덜 생산적이었을까? 이러한 내 경험에 비추어 볼 때 연구소를 제일 잘 운영할 수 있는 방법은, 연구진들에게 좋은 연구실말고 다락방같은 형편없는 곳에서 지내도록 하고, 심하게는 연구와 관련없는 일들까지 시키는 것이다. 이상한 방식이긴 하겠지만, 그러한 제약조건을 만들어 놓으면 최대의 창의력이 솟아나는 것이 사실인것 같다.
If I look back at my own life and try to pick out the parts that were most creative, I can't help but notice that they occurred when I was forced to work under the toughest constraints. For example, 1967 was surely the most hectic year of my life, but that was the year when I was lucky enough to come up with several ideas that are now considered important, like "attribute grammar" and "Knuth-Bendix completion" and "LL(k) parsing." I actually had no time to do research that year, because The Art of Computer Programming was nearing publication, and my wife and I had two babies to take care of, and I needed to be hospitalized briefly, and I gave lectures in five countries on five different subjects, in addition to the classes I was teaching at Caltech. Yet I stole time to look at new things whenever I could; for example, at one conference I remember that I skipped most of the lectures so that I could sit on the beach and do research. I often wonder whether I would have been more productive or less productive if my life had been more stable that year. My experiences suggest that the optimum way to run a research think tank would be to take people's nice offices away from them and to make them live in garrets, and even to insist that they do non-researchy things. That's a strange way to run a research center, but it might well be true that the imposition of such constraints would bring out maximum creativity.
아무튼 빡세니까 더 열심히 할 동기도, 집중력도 생기는 것 같다.
오늘만 해도 연휴가 되니 아무 것도 안 하고 놀고있지 않는가?-_-;;;
그건 그렇고, GRE 신청에 대해 느끼는 것 몇가지.
우선 일본에 가서 시험을 본다는 것 자체가 웃긴다. 왜 한국에서 안 보냐고 하면 할 말이 없다....고 하기는 어렵다. 일본에서는 원하는 때에 (신청만 마감 전에 빠르게 잘 하면) 볼 수 있고, 후기도 탄다는 CBT 시험을 볼 수 있다. 한국에서도 GRE를 물론 볼 수 있다. 1년에 두번... 그것도 점수 잘 안 나온다는 PBT로... 나의 경우 4월 전까지는 어떻게든 GRE를 끝내야겠다 생각했기 때문에 6월에 있는 PBT는 생각조차 하지 않았다.
구조 자체가 이렇다 보니 일본에 가서 시험을 보는 것이 한국 GREr 들의 하나의 문화가 되어버렸고, 엄한 데에 외화를 쓰게 되는 것도 그렇지만 이런 저런 사회 비용은 단순 비행기값 이상일 것임은 자명하다. GRE 주관사인 ETS 욕으로 빠질 생각은 없다. 한국에서 GRE가 이렇게 된 것도 지나친 후기남용으로 인한 자업자득적 성격도 없는 것은 아니니까. 그러나 ETS의 이에 대한 대처가 단순 PBT로의 회귀였다는 것은 지나치게 단순한 미봉책이었다고 본다.
공부하기 싫으니까 별 글을 다 쓴다..는 생각도 든다. 암튼 GRE 신청하느라 어제 새벽 5시에 자서 연휴의 신체리듬이 완전 망가졌다. 거기다가 오늘은 어머니의 (나빠요) 요청...으로 Prison Break도 다운받아서 PSP에 넣어 드렸다. 참을 인을 3회 복창했건만 결국 더블클릭을 누르고 말았고, 우선 4회까지 보는 것으로 나의 꿈틀대는 말림본능을 간신히 막았다. 도저히 안 되겠다 싶어 내일은 일단 집에서 떠날 생각이다.
