1P by GN⁺ 7시간전 | ★ favorite | 댓글 1개
  • 컴퓨터 과학의 창립 세대 중 한 사람인 에츠허르 W. 다익스트라의 연구와 저작을 보존한 온라인 아카이브
  • 알고리듬 설계, 프로그래밍 언어, 운영체제, 분산 처리, 형식적 검증 등 핵심 분야의 기여를 포함
  • 40여 년간 작성된 EWD 번호 원고 1,000여 편 이상을 PDF 형태로 공개, 검색 가능한 전사본과 번역본도 제공
  • 원고 간의 상호 참조, 요약문, 저작권 정보, 강연·인터뷰 영상 등 부가 자료를 체계적으로 정리
  • 다익스트라의 사상과 교육 철학을 계승하는 기념 강연 시리즈와 관련 연구 커뮤니티로 이어지는 지식 기반

다익스트라의 생애와 업적

  • 에츠허르 와이브 다익스트라(Edsger Wybe Dijkstra) 는 컴퓨터 과학의 기초를 세운 인물 중 한 명으로, 알고리듬 설계·프로그래밍 언어·운영체제·분산 처리·형식 명세·수학적 논증 설계 등 여러 분야에 근본적 기여를 남김
  • 학계와 산업계를 아우르는 40여 년의 경력 동안 ACM 튜링상을 포함한 다수의 상을 수상
  • 교육과 학문적 컴퓨터 과학, 그리고 소프트웨어 산업 간의 관계에도 깊은 관심을 가짐

EWD 원고 컬렉션

  • 다익스트라는 40년 넘게 동료 과학자들과 활발히 서신을 교환하며, 연속 번호가 매겨진 기술 노트·여행 보고서·논평 등을 “EWDs”로 배포
  • 복사기 보급과 높은 관심 덕분에 비공식 유통이 수천 부에 달함
  • 대부분의 원고는 출판되지 않았으나, 텍사스대학교 컴퓨터과학과가 1,000편 이상을 PDF 비트맵 문서로 영구 보관
  • 원본 원고, 일기, 서신, 사진 등은 텍사스대학교 브리스코 미국사 센터에 소장

색인 및 접근 방식

  • 두 가지 색인 제공
    • BibTeX 색인: 서지 정보 포함
    • Ad-hoc 색인: 제목만 표시되어 빠른 검색 가능
  • EWD 번호와 발행 연도 대응표, 수학센터(CWI) 기술 보고서, 박사학위 논문, 기타 문서 링크 제공
  • 일부 원고는 출판되어 있으며, 해당 문서의 저작권은 출판사가 보유

전사 및 번역

  • 시각장애인을 위한 검색 가능한 전사본이 점차 추가되고 있음
  • 일부 네덜란드어 원고는 영어로, EWD1036은 스페인어, EWD28은 러시아어로 번역
  • 60명 이상의 자원봉사자가 전사 작업에 참여, 오탈자 발견 시 이메일로 수정 제안 가능
  • 번역의 정확성 문제로 현재는 새로운 번역 자원 모집 중단

원고 간 연결 및 요약

  • Diethard Michaelis가 작성한 EWD 간 상호 참조 목록 제공, 독자 참여로 보완 가능
  • 다익스트라는 동일 주제를 반복적으로 다루며 새로운 관점을 제시했으며, 관련 문서에는 “see also” 링크로 연결
  • Günter Rote의 제안으로 EWD 요약문 추가 시작, 특히 네덜란드어 원고의 영어 요약 기여를 환영

저작권

  • 대부분의 EWD 저작권은 다익스트라의 자녀들이 보유하며, Rutger M. Dijkstra가 재출판 허가 요청을 담당
  • 출판된 문서는 해당 출판사가 저작권 보유, 목록과 표지 정보 제공
  • 원본은 브리스코 미국사 센터 소유로, 센터의 출판 허가 정책이 적용

영상 및 오디오 자료

  • 다익스트라의 강연 및 인터뷰 녹화본을 별도 페이지에서 제공

다익스트라와 그의 작업 관련 자료

  • 1985년 Rogier F. van Vlissingen 인터뷰 및 개인 회고, 2001년 Philip L. Frana 인터뷰 기록 제공
  • 1999년 은퇴를 기념해 2000년 생일에 열린 심포지엄 “In Pursuit of Simplicity” 프로그램과 영상 공개
  • 2002년 사망 후 여러 추모 기사와 기념 행사가 진행
  • 2008년 Maarten van Emden의 회고문, 2021년 Krzysztof R. AptTony Hoare가 편집한 추모집 발간
  • Edgar G. Daylight가 운영하는 블로그 Dijkstra’s Cry에서 다익스트라의 사상과 연구를 지속적으로 다룸
  • EWD249에서 제시된 “조립라인 원리”를 통해 효율성과 메모리 절약 간 균형을 설명한 사례 언급
  • Edsger W. Dijkstra Prize in Distributed Computing은 동시성 원리와 자기 안정화 연구 등 그의 기초적 업적을 기림

다익스트라 기념 강연 시리즈

  • 2010년 10월부터 텍사스대학교에서 매년 열리는 Dijkstra Memorial Lectures 개최

사이트 정보

  • 최근 변경 내역은 2021년 3월 30일자 업데이트로 명시
  • 사이트 구축에 기여한 인물 명단과 피드백용 이메일 주소 제공

관련 사이트

  • Discipline in Thought: 계산적 사고와 수학적 방법론을 다루며, 다익스트라의 전통을 계승하는 웹사이트 소개

원문 개정일: 2020년 1월 12일

Hacker News 의견
  • 2025년 맥락에서 가장 중요한 글은 “natural language programming의 어리석음” 에 대한 Dijkstra의 에세이임
    On the foolishness of "natural language programming"

    • 링크 고마움. 정말 흥미로운 글이었음. Dijkstra가 em-dash를 자주 쓴다는 것도 재밌게 봤음
    • 현대의 코딩 LLM이 일종의 자연어 컴파일러처럼 작동한다는 점을 감안하더라도, 기존 프로그래밍 언어가 자연어를 너무 적게 쓴다고 생각함
      예를 들어 && 대신 and, if (A) B 대신 if A then B가 더 읽기 쉬움
      수학은 간결함에 치중했지만, 프로그래밍은 가독성을 중시한 덕분에 더 나은 균형을 가졌다고 봄
      Dijkstra가 “가독성만 추구하는 건 나쁜 거래”라고 말한 것이라면 그건 옳은 지적임
    • 이 에세이를 정말 사랑함. 짧지만 사회 전반에 대한 통찰이 담겨 있음
      그리고 너무나 명확하게 옳음
    • “프로그래밍의 용이함”을 “실수를 눈치채지 못하게 만드는 용이함”으로 착각하는 사람들에 대한 문장이 정말 강하게 와닿음
      동적 타이핑을 좋아하는 사람들에게 특히 해당됨
  • Dijkstra가 1980년대에 이미 “교육이 지적 훈련에서 멀어지면서 언어 구사력이 떨어지고 있다”고 썼다는 점이 놀라움
    네덜란드에서는 학생 통과율로 커리큘럼을 평가해서, 통과율이 낮으면 난이도를 낮추는 식이라 함
    이게 수십 년 반복되면 어떤 결과가 나올지 뻔함

    • 남아프리카공화국이 그 대표적인 예임. 교육 시스템이 국가 전체적으로 붕괴 중임
  • 내가 자주 공유하는 글 중 하나는 EWD831
    배열 인덱스가 왜 0부터 시작해야 하는지, 구간을 왜 하한 포함·상한 제외로 정의해야 하는지를 설명함

    • 하지만 그 글이 항상 0-based vs 1-based 논쟁에서 등장하는 게 아쉬움
      사실 1-based가 더 나은 경우도 있음. 예를 들어 역방향 반복에서는 1-based가 더 자연스러움
      오프셋은 0-based, 인덱스는 1-based로 구분하는 게 합리적이라는 주장도 가능함
      관련 글: Again on 0-based vs 1-based indexing
    • Dijkstra의 주장을 이해하지만, 왜 Fortran이 1부터 시작했는지를 언급하지 않은 건 의외였음
      IBM 704의 감산형 인덱스 레지스터 구조 때문이었고, 이게 열 우선 배열을 효율적으로 만들었음
      Cray, CUDA, 현대의 column-oriented DB도 비슷한 원리를 사용함
      결국 Fortran은 메모리 오프셋 관점에서는 Dijkstra의 규칙을 따르고 있었음
  • 책의 장(chapter)을 0부터 시작하는 건 여전히 헷갈림
    메모리 주소가 0부터 시작하는 건 전압 조합 때문이지, 순서 개념 때문은 아님
    세상에는 “0번째 세기”나 “0번째 마일” 같은 건 없으니까, 책의 장도 마찬가지라고 생각함

    • 하지만 “0번째 장”은 시작점을 의미한다고 볼 수 있음
      예를 들어 길 안내에서 “세 블록 가세요”라고 하면 출발점은 0번째 블록임
    • 컴퓨터 과학에서는 첫 번째 요소의 주소가 base + 0이므로, 오프셋 계산 때문에 0부터 시작함
    • “0장”은 본문 전에 필요한 기초 개념을 담는 용도로 자연스럽게 쓰임
      예를 들어 1968년의 Tensor Analysis on Manifolds는 집합론을 다루는 0장을 두었음
      “0번째 법칙(zeroth law of thermodynamics)”처럼, 기존 순서보다 앞선 개념을 표현할 때도 사용됨
    • 어떤 나라에서는 건물 층수를 0층(G층) 부터 세기도 함
      결국 0에서 시작하는 게 “자연스럽지 않다”는 건 문화적 편향일 뿐임
  • Dijkstra가 최초의 인터럽트 설계를 회상하는 글을 정말 즐겨 읽음
    EWD1303: The first interrupt

  • 수학적 사고에 관심 있다면 EWD717EWD765를 추천함
    두 글 모두 흥미로운 문제 해결 과정을 담고 있음

  • EWD498: How do we tell truths that might hurt?을 보면
    자연어 프로그래밍은 실패할 수밖에 없다”는 구절이 인상적임
    또 다른 추천은 EWD1305로,
    학생들의 질문에 대한 답변을 모은 글임
    Dijkstra는 인터넷의 인기로 인해 과학적 성향이 약한 학생들이 컴퓨터 과학으로 몰려들었다고 비판함
    그리고 “잘 프로그래밍하는 법”이 거의 가르쳐지지 않는 현실을 지적함

    • Dijkstra는 정말 통찰력 있는 인물이었음
  • 내가 가장 좋아하는 글 중 하나는 EWD898: Threats to computer science
    그리고 EWD899의 서두에서 AI 논문을 신랄하게 비판하는 부분도 인상적임
    “그 학회에 참석하지 않아서 다행이었다”는 문장이 특히 강렬했음

  • 예전에 명함 뒷면에 Dijkstra의 명언을 넣었음
    Computer Science is no more about computers than astronomy is about telescopes
    언젠가 그의 모든 글을 eReader용으로 모아 여행 중에 읽어볼 생각임

    • “그렇지만 천문학은 ‘망원경학’이라고 부르지 않잖아요?”라는 농담이 떠오름
    • 하지만 우리 대부분은 망원경 조작자이지, 천문학자가 아님
      결국 우리가 다루는 건 코드(망원경)이고, 그 품질이 우리의 성과임
  • UT에서 수업을 들었는데, Dijkstra는 학생들에게 연필 대신 펜으로 시험을 보게 했음
    지울 수 없을 때 오히려 실수를 줄이는 훈련이 된다고 생각했음