Philip Wadler 교수는 블록체인의 스마트 프로그래밍 언어인 Plutus의 공동 제작자(Manuel Chakravarty와 함께)로 많은 Cardano 사용자에게 알려질 것입니다. 컴퓨터 언어와 함수형 프로그래밍에 대한 그의 연구는 교수직, 많은 상, 에딘버러 왕립학회 회원이 되었습니다. Java, Haskell 또는 XQuery, 사실상 모든 기능적 언어를 사용해 본 사람이라면 누구나 Wadler의 작업에서 혜택을 볼 수 있습니다.
이번 달에 그는 세계에서 가장 오래된 과학 학회인 왕립 학회의 펠로우로 취임하기 위해 뉴턴을 포함한 이전 과학의 거물들과 합류할 것입니다. 그는 FRS가 될 것입니다.
이 영예는 마이크로프로세서 시대와 디지털 기술의 급증에 걸친 경력에 대한 증거입니다. 학업의 효과는 h-Index 시스템으로 측정됩니다. 20년의 연구 결과 점수는 양호 20점, 우수 40점, 우수 60점입니다. Wadler의 점수는 출판된 논문과 책에서 26,981회 인용된 그의 작업을 기반으로 73점입니다.
그의 전기에는 그가 '이론을 실천에 도입하고 실천을 이론에 도입하는 것을 좋아한다’고 명시되어 있으며 그는 확실히 그렇게 했습니다. 그는 옥스퍼드 대학교의 연구 조교였으며 글래스고에서 첫 교수직을 얻었습니다. 그곳에서 그는 Haskell의 주요 설계자 중 한 명이었습니다. 그 후 Bell Labs와 Avaya Labs에서 근무했습니다. 2003년부터 Wadler는 University of Edinburgh의 School of Informatics에서 컴퓨터 이론 이론 교수로 재직했습니다.
Wadler는 '나는 이론과 실제 모두에 노출되어야 한다고 굳게 믿습니다. ‘두 가지를 동시에 고려하는 것의 중요성은 Blaise Pascal(확률 이론의 토대를 마련한 프랑스 수학자이자 철학자)부터 Robin Milner(ML 언어 설계에 도움을 준 사람, Haskell의 전신, Edinburgh].’
그는 학계의 큰 이점을 '가르칠 수 있는 것’으로 보고 있습니다. 젊은이들과 함께 일하는 것은 젊음을 유지하는 데 도움이 되며, 가르침은 의사소통 기술을 연마합니다.
‘많은 산업 회의에 초대되어 기쁩니다. 그곳에서 연설하는 젊은 개발자들은 영리하고 영감을 받았습니다. 그러나 그들 중 일부만이 효과적으로 의사 소통하는 방법을 배웠습니다.’
명확하게 쓰는 것의 중요성은 젊은 Wadler가 American Mathematical Society에 논문을 기고했을 때 깊이 주입되었습니다. 1975년, 그는 캘리포니아 버클리 대학교에서 운영하는 고등학생 과정을 수강한 후 이 글을 썼습니다. '가능한 한 가장 일반적인 방식으로 설정하려고 노력했지만 멘토는 이것이 이해하기 어렵다고 조언했습니다! 그들은 내가 그것을 더 쉽게 접근할 수 있도록 더 구체적인 방법으로 다시 쓰도록 했습니다.
‘독자들이 쉽게 따라할 수 있도록 만드는 것이 얼마나 중요한지 듣는 것이 중요한 교훈으로 남아 있습니다.’
Wadler의 세계를 이해하는 것은 람다 미적분학, 비난 추적, 점진적 타이핑, 유형 클래스 및 모나드의 어휘를 발견하는 것입니다. 게으름보다 무기력함이 더 좋은 곳이고, 게을러질 거라면 품격 있게 해야 한다. 대부분의 사람들은 이러한 용어를 접하지 않을 것이지만, 그는 사람들이 아이디어를 쉽게 따를 수 있도록 하라는 조언을 따랐습니다. 그의 많은 학술 논문에 나타난 유머와 매력적인 강의 프레젠테이션 스타일이 이에 대한 증거입니다. ‘폼렛에 대한 관용구 가이드’, ‘남은 카레와 다시 데운 피자’, ‘에뚜, XML?’ 같은 제목은 잊기 어렵다. 그리고 람다맨 의상을 입고 토크쇼에 등장한 그의 모습은 잊을 수 없다.
실리콘 밸리의 중심에서
Wadler는 실리콘 밸리가 되고 있는 캘리포니아 샌프란시스코 베이 지역의 쿠퍼티노 고등학교에서 학교를 다녔습니다. 그는 자신이 수학자가 될 것이라고 생각했지만 ‘하지만 코딩 작업을 하는 것이 더 쉬웠고 더 많은 돈을 벌 수 있었습니다.’ 그는 세 명의 초기 교사, 특히 학교에서 수학을 가르쳤던 Mr Simons와 Mr Grote, 그리고 Gerald Alexanderson이 내가 참석한 과정에서 산타 클라라 대학교에서 미적분학을 가르친 사람’.
그는 1977년에 스탠포드에서 수학 학위를 받았습니다. 그 전 해에 Steve Wozniak과 Steve Jobs는 MOS Technology의 8비트 6502 칩과 4KB의 사용자 메모리로 Apple I 키트를 마케팅하기 시작했습니다. Donald Knuth는 그의 프로그래밍 작품 중 3권까지 있습니다(가장 최근 섹션은 작년에 나왔습니다). Fortran, Cobol, Lisp 및 Algol의 시대입니다. Forth, Pascal 및 C는 비교적 새로 온 사람들입니다. Xerox Parc는 SmallTalk를 개발하고 있습니다. 마이크로컴퓨터는 아직 출시되지 않아 Basic을 대중화하지 못했습니다. 엔지니어는 여전히 슬라이드 규칙을 가지고 다닙니다. Douglas Hofstadter의 고전 책 Gödel, Escher, Bach(GEB로 알려짐)보다 2년 앞서 있습니다. Acorn의 BBC Micro와 IBM의 PC보다 4년 앞서 있습니다. Tim Berners-Lee는 옥스포드에서 물리학을 공부하고 있으며 WorldWide Web을 제안하기까지 수십 년이 걸립니다.
이러한 획기적인 순간의 대부분은 Wadler의 개인 역사에 대한 참조가 있습니다. 그의 다음 논문은 스탠포드 대학에서 2학년 때 Knuth가 제공한 수업을 위해 작성되었습니다. 조형의 시간이었습니다. Knuth의 교과서에서 배운 데이터 구조에 대한 수업은 환상적인 학습 경험이었습니다. 무엇보다도 그는 수학 텍스트를 작성하는 방법에 대한 몇 페이지의 메모를 제공했습니다. 그 노트는 학자로서의 내 경력의 시작이었습니다. 나는 오늘날까지 그것들을 언급한다.’
‘Analysis of an algorithm for real-time garbage collection’ 논문은 Wadler의 많은 찬사 중 첫 번째로 미국 과학 학회인 ACM(Association for Computing Machinery)의 Forsythe 학생 논문상을 수상했습니다.
스탠포드에서 가장 영향력 있는 수업은 경제학 입문이었다. '나는 선생님의 이름을 기억하지 못하지만 웹 검색은 그것이 John Gurley라고 제안합니다. 그는 두 마르크스, 칼과 그루초의 혼혈이었다. 그는 자신의 물건을 알고 매우 재미있는 스타일로 발표했습니다. 그는 우리에게 정직한 경제학을 가르칠 것입니다. 그런 다음 격주로 그는 "나는 당신에게 표준 이론을 가르쳐 왔습니다. 이제 당신에게 진실을 말할 것입니다"라고 말하면서 우리에게 마르크스 주의적 관점을 제공했습니다. 내가 그로부터 빼앗은 것은 반대되는 관점을 공정하게 제시하는 것의 중요성이었습니다.
‘그는 표준적인 견해가 틀렸다고 열정적으로 생각하면서도 그것을 우리에게 올바르게 제시하고 싶었습니다.’
다른 강사로는 인터넷 창시자 중 한 명인 John McCarthy와 Vint Cerf, Knuth가 있습니다. '내가 세 사람 모두에게서 배운 중요한 것은 당신의 작업에서 유머의 중요성이었습니다. Vint는 Bennett Cerf [유머리스트이자 라임릭 수집가]의 조카입니다. Vint는 나에게 인터넷에 대해 설명하면서 Gilbert와 Sullivan의 오페라 HMS Pinafore에서 “패킷을 잃어버리나요? 절대. 절대? 글쎄, 거의”. ’
인공 지능 분야의 선구자인 McCarthy는 Wadler에게 ‘Lisp에서 프로그래밍하는 방법’을 가르쳤습니다. 즉, 함수형 프로그래밍의 본질을 배웠다.’
스탠포드에 있는 동안 Wadler는 Homebrew Computer Club 회의에 참석했습니다. ‘어느 날, TV에 붙일 수 있는 싱글보드와 키보드를 들고 나타난 친구. 그것은 Apple I로 밝혀졌습니다. 그것을 우리에게 보여준 사람은 아마도 Wozniak일 것입니다. 그 이후로 사람들에게 더 세심해졌으면 좋겠어요.’
아직 출판되지 않은 GEB의 초안에서 Hofstadter가 또 다른 수업을 가르쳤습니다. 1979년에 이 책이 나왔을 때 페이지에는 Wadler가 Hofstadter와 '공명’한 공로를 인정했습니다. Wadler의 룸메이트인 그래픽 아티스트 Scott Kim은 이 책에서 '거대한 영향력’으로 감사를 받았습니다.
Wadler는 Xerox Parc에서 여름 인턴으로 일했습니다. 그곳에서 그는 '작고 우아한 시스템’인 초기 버전의 Smalltalk에서 시뮬레이터를 구현했습니다. 아직 존재하지 않았지만 지금은 노트북이라고 부르는 "dynabooks"에 대한 많은 논의가 있었습니다.
Wadler가 인공지능을 연구하던 Carnegie-Mellon에서 노벨상 수상자인 Herbert Simon은 처음 2년 동안 Wadler의 감독관이었습니다. 이로 인해 Wadler는 프로그래밍 언어에 집중하게 되었습니다. ‘AI에서 가장 관심 있는 부분이 정보를 표현하는 방법이라는 것을 깨달았고 프로그래밍 언어가 더 직접적으로 다루는 것이라고 생각했습니다. 다시 말하지만, 처음에는 Simon, 그 다음에는 Bill Scherlis, Guy Steele Jr, Nico Habermann과 함께 일한 사람들이 있어서 정말 운이 좋았습니다.’
Wadler의 박사 학위는 Carnegie Mellon에서 '나른함이 게으름보다 낫다: 응용 프로그램을 변환하여 중간 목록을 제거하는 알고리즘’으로 취득했습니다. Steele과 Habermann은 그의 논문 지도교수였습니다.
산업 및 학계
1983년부터 Wadler는 연구원이자 옥스퍼드 프로그래밍 연구 그룹의 일원으로 많은 논문을 발표했으며, 가장 많이 인용되는 '실패를 성공 목록으로 대체하는 방법’이 있습니다.
그 후 Wadler가 게으른 함수형 프로그래밍에 가장 널리 사용되는 언어가 된 Haskell의 수석 디자이너였던 글래스고 대학교였습니다. 그는 1989년 Stephen Blott와 함께 유형 클래스, 1993년 Simon Peyton Jones와 함께 모나드라는 두 가지 주요 혁신에 기여했습니다. 이러한 혁신은 그가 가장 인정받는 컴퓨터 과학 저자 중 한 사람이 되는 데 도움이 되었으며 1993년에 교수직을 얻었습니다. 2003년 지난 10년간 가장 영향력 있는 논문으로 ACM 상을 수상했습니다.
Glasgow Haskell Compiler(GHC)는 Glasgow에서 개발되었으며 Peyton Jones와 Simon Marlow는 제작자로서 2011년 ACM 소프트웨어 상을 받았습니다. Wadler는 2016년 공로상을 받았습니다. 그의 Plutus 공동 제작자인 Chakravarty는 다음과 같이 덧붙입니다. 다시한번 엄청난 임팩트. 유형 클래스와 모나드는 함께 소프트웨어 설계자가 하스켈에서 프로그램을 설계하는 방법을 결정했습니다. 두 개념 모두 다른 언어에서 채택되었습니다.’
Haskell에서 구현되는 Cardano의 핵심과 함께 Wadler는 많은 주목할만한 애플리케이션 중에서 가장 좋아하는 세 가지를 인용합니다. 첫째, Facebook은 Simon Marlow가 만든 HAXL 라이브러리를 사용하여 스팸 및 허위 정보에 대해 게시하는 모든 메시지를 필터링합니다. 둘째, Haskell을 사용하는 은행의 수는 대부분의 금융 회사가 어떤 식으로든 함수형 언어를 사용하도록 장려했습니다. 보안성이 뛰어난 휴대폰용 최소 운영 체제인 SeL4가 그의 최종 선택입니다. 이를 위해 Haskell로 프로토타입을 작성했습니다. 프로토타입은 Isabelle Proof Assistant에서 공식 모델의 기초를 형성한 다음 속도를 위해 Haskell에서 C 언어로 번역된 프로덕션 구현을 위한 기반을 형성했습니다. 번역은 Isabelle의 공식 모델에 대해 검증되었습니다.
Glasgow에서 그는 Bell Labs(Lucent Technologies)와 Avaya Labs에서 7년 동안 업계에 뛰어들었습니다. Peyton Jones는 Microsoft Research에 갔고 현재 Epic Games에 있습니다. 이때 나온 두 가지 제품은 Sun Microsystems 설계의 기반인 GJ(Generic Java)와 FJ(Featherweight Java)였습니다. 후자는 1999년부터 종이 한 장에 작성할 수 있는 Java의 공식 모델입니다. Wadler의 가장 많이 인용된 논문 중 하나입니다. 그가 말했듯이. ‘GJ는 이론을 실천에 옮깁니다. FJ는 이론을 실천합니다.’
Avaya에서 Wadler는 W3C(World-Wide Web Consortium)에서 개발된 문서, 데이터베이스 또는 웹 페이지 등 데이터를 결합하고 XML을 쿼리하기 위한 언어인 XQuery에 대한 논문을 발표했습니다. 다른 언어로 된 복잡한 프로그램을 몇 줄의 코드로 대체할 수 있습니다.
그런 다음 2003년에 Edinburgh에서 Theoretical Computer Science의 의장 제안이 왔습니다. Wadler는 그의 가장 위대한 과학적 영웅 중 한 명인 Robin Milner의 입장이 될 수 있었기 때문에 자리를 차지하는 것은 쉬운 결정이었습니다. (다른 하나는 Quicksort 알고리즘의 발명가인 Tony Hoare입니다.) ‘에든버러에서 그 자리를 제안받았을 때, 로빈 밀너를 위해 처음 자리가 만들어졌기 때문에 거절할 수 없었습니다.’
티셔츠에 람다를 입힌 남자
Knuth, McCarthy 및 Cerf는 Wadler에게 학술 논문 및 프레젠테이션에서 유머의 중요성을 주입했습니다. 그의 박사 학위 논문은 '나른함은 게으름보다 낫다’였으며, 그의 첫 번째 논문 중 하나는 '성공 목록으로 실패를 대체하는 방법’이었습니다. ‘그 후’ 그는 '돌이킬 수 없었다’고 말한다. 그는 Helen Sword의 교과서 Stylish Academic Writing에 자신의 논문 제목이 실린 것을 기쁘게 생각합니다.
Wadler의 강의를 들은 사람들은 그가 의상을 입은 슈퍼히어로인 Lambda Man으로 변신하는 것을 보았을 것입니다. 람다 미적분학(λ-calculus)은 하스켈의 기본이 되는 수학적 논리의 공식 시스템입니다. 슈퍼히어로의 변신은 Wadler가 티셔츠에 공식을 그린 다음 '공식을 밝히기 위해 내 겉옷을 벗겨내’는 방식으로 학술회의 강의에 활기를 불어넣기 시작했을 때 시작되었습니다. 그는 이것을 위해 단추가 아닌 스냅이 있는 특별한 셔츠를 가지고 있습니다. ‘한 티셔츠는 RAG Seely 덕분에 선형 논리에 대한 단정적인 설명을 보여주었습니다. 그는 친절하게도 그 티셔츠를 "Seely 모델"로 포즈를 취하기로 동의했습니다.’
다른 회의에서 동료가 술집에 앉아있는 동안 Wadler의 장난과 슈퍼맨을 비유했습니다. 그리고 ‘전구가 꺼졌습니다. Matija와 Mojca Pretnar가 만든 람다 디자인을 의뢰하여 구입한 슈퍼맨 의상 앞면에 인쇄했습니다.’
피어 리뷰는 IOG를 '고유’하게 만듭니다
Wadler는 6년 전 IOG(Input Output Global)의 CEO이자 공동 설립자인 Charles Hoskinson을 만난 후 Input Output에서 일하기 시작했습니다. Hoskinson은 회사의 수석 과학자이자 에딘버러에 있는 Blockchain Technology Lab의 설립자인 Aggelos Kiayias 교수를 방문했습니다. ‘찰스는 저에게 만나자고 했습니다. 나는 리우데자네이루에 사는 완다를 막 만났고 결국 아내가 되었습니다. 브라질로 가는 많은 항공편의 비용을 예상하면서 Charles에게 컨설팅 업무를 요청했습니다. 대담했지만 내가 한 최고의 선택 중 하나였습니다!’
산업에 대한 학계의 중요성에 대한 그들의 공유된 견해는 즉시 분명해졌습니다. ‘내가 Charles에 대해 가장 존경하는 점은 IOG가 하는 모든 일이 동료 검토 연구를 기반으로 해야 한다는 주장입니다. 그가 지적했듯이 그것이 과학의 기초입니다.’
IOG는 에든버러 연구실과 다른 여러 대학의 연구 허브에 자금을 지원하며, 이는 기술 회사들 사이에서 드문 일이 아닌 전략입니다. 그러나 Wadler는 IOG가 한 걸음 더 나아갔다고 생각합니다. ‘복잡한 암호화 프로토콜을 사용하는 경우 피어 리뷰 연구는 프로토콜이 올바른지 확인하는 가장 좋은 방법입니다. 그러나 내가 말할 수 있는 한 IOG는 이러한 주장에 있어 독특합니다. 암호화뿐만 아니라 모든 컴퓨팅에 걸쳐 있습니다. Google 또는 Microsoft는 개발자가 게시하도록 허용하지만 안정성을 향한 중요한 단계로 간주하지 않습니다.’
Wadler는 다음을 다루는 IOG 논문에 기여했습니다. Cardano에서 사용하는 원장 모델인 확장 UTXO; Haskell 및 ML과 같은 언어의 이론적 기반에서 중요한 요소인 시스템 F; 그리고 블록체인 계약.
Featherweight Java 페이퍼에서 볼 수 있듯이 Wadler의 간결하고 우아한 접근 방식은 2018년 Plutus가 발표되었을 때 다시 나타났습니다. Edinburgh에서 열린 PlutusFest 이벤트에서 팀은 Plutus의 언어 사양이 금색 잉크로 인쇄된 검은색 종이 냅킨을 나눠주었습니다. . 그것은 Hoskinson이 처음 언급한 아이디어였지만 Chakravarty가 덧붙인 것처럼 ‘Plutus Core를 가능한 한 작게 유지하기 위해 처음부터 바로 주장한 사람인 Phil으로 거슬러 올라갑니다. 나중에 Charles가 냅킨에 대해 언급했지만 Phil이 아이디어를 실행했고 결국 Edinburgh napkins가 탄생했습니다.’
단순성, 안전 및 보안은 Plutus의 핵심이며 모두 함수형 프로그래밍과 Haskell을 통해 가능합니다.
수학의 힘
Wadler의 작업을 흐르는 흐름은 수학의 가치입니다. '많은 사람들이 수학을 두려워합니다. ‘그들은 수학이 너무 어렵다고 생각하기 때문입니다. Javascript에 능숙한 단련된 개발자는 이탤릭체로 쓰여진 슬라이드에서 무언가를 보면 형식적인 수학처럼 보이기 때문에 방에서 비명을 지르며 달려갈 것입니다.’
그러나 수학은 우리 주변의 세계를 이해하는 데 믿을 수 없을 정도로 강력한 도구이며 수천 년 동안 그 자체로 사용되어 왔습니다. 각 세대는 그 발견을 다음 세대로 물려주었습니다. Wadler가 가장 좋아하는 인용문 중 하나는 스코틀랜드 박식가 John Arbuthnot이 1692년에 그의 Of the Laws of Chance에서 인용한 것입니다.
우리가 알고 있는 것 중 수학적 추론으로 환원될 수 없는 것은 거의 없습니다. 그리고 그들이 할 수 없을 때 그것은 그들에 대한 우리의 지식이 매우 작고 혼란스럽다는 신호입니다. 그리고 수학적 추론이 가능할 때 다른 것을 사용하는 것은 옆에 촛불이 있을 때 어둠 속에서 무언가를 더듬는 것만큼이나 어리석은 일입니다.
이러한 이해의 사슬은 그가 젊은 동료들에게 강조하는 것입니다. ‘당신이 하는 일은 다른 사람들이 더 나은 일을 하도록 영감을 줄 때만 중요합니다. 나는 내가 쓴 논문이 자랑스럽고 내 작업을 기반으로 다른 사람들이 쓴 논문이 더 자랑스럽습니다.’
다시 한 번 그는 단순함을 강조합니다. ‘결론은 단순함의 중요성입니다. 당신은 다른 사람들이 선택하고 발전시킬 수 있는 방식으로 작업을 제시해야 합니다. 너무 많은 동료들이 너무 똑똑합니다! 그들은 많은 복잡성을 처리할 수 있을 만큼 영리하지만 그들이 하는 일을 흡수하기 어렵게 만듭니다. 저 같은 얼간이를 대상으로 작성해주세요. 원래의 발견만큼 중요한 것은 단순화하고 다듬는 노력입니다.’
세계 최고의 사인북
7월 14일 Wadler는 런던의 Carlton House Terrace에 있습니다. 그곳에서 그는 80명의 뛰어난 연구자, 혁신가, 커뮤니케이터 중 한 명으로 왕립 학회의 펠로우로 영입됩니다. 이 학식 있는 기관은 1660년으로 거슬러 올라갑니다. Christopher Wren과 Robert Boyle이 설립자 중 한 명이었습니다. 건물은 트라팔가 광장과 버킹엄 궁전을 연결하는 웅장한 행렬 경로인 더 몰을 내려다보고 있습니다. The Mall을 지은 Charles II는 이후 모든 군주와 마찬가지로 Society를 후원했습니다. 찰스 3세는 1978년부터 왕족이 되었습니다.
Wadler는 Charles II의 서명으로 시작하고 과학 역사상 가장 뛰어난 이름으로 가득 찬 장부에 그의 이름을 서명할 것입니다. 현재 및 이전 동료로는 최초의 디지털 컴퓨팅 장치인 차분 엔진(Difference Engine)인 Charles Babbage; AI 개척자이자 전시 암호 해독 영웅 Alan Turing; 호아레; 밀너; 버너스리; 양자 컴퓨팅의 아버지인 David Deutsch; 전 세계 스마트폰을 구동하는 ARM 칩 아키텍처 개발을 도운 BBC Micro의 공동 설계자 Sophie Wilson; 그리고 페이튼 존스. Knuth와 Cerf는 외국인 회원입니다.
두 명의 초기 동료는 Isaac Newton과 Robert Hooke였습니다. 뉴턴은 중력의 법칙에 관한 이론으로 가장 잘 알려져 있으며, 세 가지 운동 법칙을 가진 그의 수학 원리는 유럽의 계몽주의에 큰 영향을 미쳤습니다. Hooke는 미생물을 발견하고 '세포’라는 용어를 만들었습니다. 비록 그는 아마도 금속 용수철에 대한 힘의 효과를 설명하는 Hooke의 법칙으로 여러 세대의 학생에게 가장 잘 알려져 있을 것입니다. 1675년에 이 두 사람은 편지로 서신을 교환했습니다. 뉴턴은 "내가 더 멀리 보았다면 그것은 거인의 어깨 위에 서 있는 것"이라고 적었습니다. 열립니다.
Jonathan Smith의 Lambda Man 일러스트레이션