$30 off During Our Annual Pro Sale. View Details »

파이썬과 다이아스포라

파이썬과 다이아스포라

Python and Diaspora (English slides: https://speakerdeck.com/minhee/python-and-diaspora)

25여 년간의 다른 언어들이 파이썬에 준 영향

How other languages have influenced Python for 25+ years

Hong Minhee (洪 民憙)

August 12, 2017
Tweet

More Decks by Hong Minhee (洪 民憙)

Other Decks in Programming

Transcript

  1. 파이썬과 다이아스포라
    25
    여 년간의 다른 언어들이 파이썬에 준 영향
    파이콘 한국 2017
    홍민희
    (Slides in English: .)

    View Slide

  2. 다이아스포라 (διασπορά)
    특정 민족이 자의적이든지 타의적이든지 기존에 살던 땅을 떠나 다른 지
    역으로 이동하는 현상을 일컫는다. …
    디아스포라란 낱말은 …
    본토를 떠
    나 항구적으로 나라 밖에 자리잡은 집단에만 쓴다.

    위키백과 〈
    다이아스포라

    예:
    재일교포,
    중국조선족

    View Slide

  3. 건국 신화
    귀도 판 로쉼이 1989
    년 성탄절에 파이썬을 만들기 시작했다.
    잘 알려진 일화.

    View Slide

  4. 건국 신화,
    또는 역사
    귀도 판 로쉼이 1989
    년 성탄절에 파이썬을 만들기 시작했다.
    그런데, 그 후 25
    년여간은 아무 일도 없었나?

    View Slide


  5. 파이썬답다”Pythonic

    View Slide

  6. 무엇이 파이썬다운 것일까?
    P
    y
    t
    h
    o
    n 1
    .
    5
    .
    2 (
    #
    1
    , A
    u
    g 1
    1 2
    0
    1
    7
    , 1
    3
    :
    3
    2
    :
    3
    4
    ) [
    G
    C
    C 4
    .
    8
    .
    4
    ] o
    n l
    i
    n
    u
    x
    4
    C
    o
    p
    y
    r
    i
    g
    h
    t 1
    9
    9
    1
    -
    1
    9
    9
    5 S
    t
    i
    c
    h
    t
    i
    n
    g M
    a
    t
    h
    e
    m
    a
    t
    i
    s
    c
    h C
    e
    n
    t
    r
    u
    m
    , A
    m
    s
    t
    e
    r
    d
    a
    m
    >
    >
    > '
    W
    h
    a
    t i
    s P
    y
    t
    h
    o
    n
    i
    c
    ?
    '
    .
    u
    p
    p
    e
    r
    (
    )
    T
    r
    a
    c
    e
    b
    a
    c
    k (
    i
    n
    n
    e
    r
    m
    o
    s
    t l
    a
    s
    t
    )
    :
    F
    i
    l
    e "
    <
    s
    t
    d
    i
    n
    >
    "
    , l
    i
    n
    e 1
    , i
    n ?
    A
    t
    t
    r
    i
    b
    u
    t
    e
    E
    r
    r
    o
    r
    : '
    s
    t
    r
    i
    n
    g
    ' o
    b
    j
    e
    c
    t h
    a
    s n
    o a
    t
    t
    r
    i
    b
    u
    t
    e '
    u
    p
    p
    e
    r
    '

    View Slide

  7. 무엇이 파이썬다운 것일까?
    P
    y
    t
    h
    o
    n 1
    .
    5
    .
    2 (
    #
    1
    , A
    u
    g 1
    1 2
    0
    1
    7
    , 1
    3
    :
    3
    2
    :
    3
    4
    ) [
    G
    C
    C 4
    .
    8
    .
    4
    ] o
    n l
    i
    n
    u
    x
    4
    C
    o
    p
    y
    r
    i
    g
    h
    t 1
    9
    9
    1
    -
    1
    9
    9
    5 S
    t
    i
    c
    h
    t
    i
    n
    g M
    a
    t
    h
    e
    m
    a
    t
    i
    s
    c
    h C
    e
    n
    t
    r
    u
    m
    , A
    m
    s
    t
    e
    r
    d
    a
    m
    >
    >
    > '
    W
    h
    a
    t i
    s P
    y
    t
    h
    o
    n
    i
    c
    ?
    '
    .
    u
    p
    p
    e
    r
    (
    )
    T
    r
    a
    c
    e
    b
    a
    c
    k (
    i
    n
    n
    e
    r
    m
    o
    s
    t l
    a
    s
    t
    )
    :
    F
    i
    l
    e "
    <
    s
    t
    d
    i
    n
    >
    "
    , l
    i
    n
    e 1
    , i
    n ?
    A
    t
    t
    r
    i
    b
    u
    t
    e
    E
    r
    r
    o
    r
    : '
    s
    t
    r
    i
    n
    g
    ' o
    b
    j
    e
    c
    t h
    a
    s n
    o a
    t
    t
    r
    i
    b
    u
    t
    e '
    u
    p
    p
    e
    r
    '
    >
    >
    > i
    m
    p
    o
    r
    t s
    t
    r
    i
    n
    g
    >
    >
    > s
    t
    r
    i
    n
    g
    .
    u
    p
    p
    e
    r
    (
    '
    W
    a
    s i
    t P
    y
    t
    h
    o
    n
    i
    c
    ?
    '
    )
    '
    W
    A
    S I
    T P
    Y
    T
    H
    O
    N
    I
    C
    ?
    '
    >
    >
    > s
    t
    r
    i
    n
    g
    .
    j
    o
    i
    n
    (
    [
    '
    f
    o
    o
    '
    , '
    b
    a
    r
    '
    , '
    b
    a
    z
    '
    ]
    , '
    /
    '
    )
    '
    f
    o
    o
    /
    b
    a
    r
    /
    b
    a
    z
    '
    >
    >
    > s
    t
    r
    i
    n
    g
    .
    f
    i
    n
    d
    (
    '
    H
    e
    l
    l
    o
    , w
    o
    r
    l
    d
    !
    '
    , '
    ,
    '
    )
    5

    View Slide

  8. 만들어진 전통?
    에릭 홉스봄 ·
    테렌스 레인저

    만들어진 전통

    View Slide

  9. 플랫폼
    프로그래밍 언어가 대중화되기 위해서는 대중적인 플랫폼의 스크립팅 언
    어가 되어야 합니다.
    포트란과 코볼은 초기 IBM
    메인프레임의 스크립팅
    언어였습니다. C
    는 유닉스의 스크립팅 언어였고,
    나중에는 펄도 그랬습
    니다.
    티클도 Tk
    의 스크립팅 언어였습니다.
    자바와 자바스크립트도 웹
    브라우저의 스크립팅 언어로 의도됐습니다.

    대중화되기〉
    .
    폴 그레이엄.

    View Slide

  10. 플랫폼
    언어 플랫폼
    코볼 IBM
    메인프레임
    C
    유닉스
    자바스크립트 웹
    파이썬

    View Slide

  11. 플랫폼
    언어 플랫폼
    코볼 IBM
    메인프레임
    C
    유닉스
    자바스크립트 웹
    파이썬

    View Slide

  12. 접착 언어
    파이썬은 인터프리트되어 실행되기 때문에,
    시제품이나 프로그램 개발을
    빠르게 해내는 데에 좋습니다.
    다른 언어로 작성된 모듈도 쉽게 붙일 수
    있어서,
    큰 소프트웨어 프로젝트에서 전체 구조를 위한 훌륭한 접착 언어
    가 될 수 있습니다.
    파이썬은 압축이나 디바이스 드라이버,
    복잡한 부동
    소수점 계산,
    복잡한 데이터베이스 연산 등의 빠른 성능이 요구되거나 정
    확한 시간을 엄수해야 하는 알고리즘을 짜는 데에는 별로입니다.
    —〈
    파이썬으로 하는 인터넷 프로그래밍

    . 《
    리눅스 저널

    42
    호 (1997

    10
    월).

    View Slide

  13. 접착 언어
    파이썬은 확장성이 있습니다.
    최고 성능이 중요한 연산를 수행하기 위해
    서든,
    바이너리 형태로만 구할 수 있다거나 하는 라이브러리(
    특정 하드웨
    어 벤더를 위한 그래픽 라이브러리 같은 것)
    를 파이썬 프로그램에 붙이기
    위해서든, C
    로 프로그램을 짤 수 있다면 파이썬 인터프리터에 내장 함수
    나 모듈을 쉽게 추가할 수 있습니다.
    이 방식에 한번 빠지고 나면, C
    로 짠
    프로그램에 파이썬 인터프리터를 붙여서 확장이나 명령 언어로 쓸 수도
    있게 됩니다.
    —“
    입맛 돋우기.” 〈
    파이썬 1.5.2
    튜토리얼

    .

    View Slide

  14. 리스프와 파이썬

    View Slide


  15. 용인 가능한 리스프”
    제가 장담하건대,
    리스프만 쓰는 리스프 프로그래머 같은 사람은 단 한
    명도 없습니다.
    리스프 프로그래머들은 대신 각종 불합리와 씨름하면서
    시간을 보내죠.
    대부분 리스프가 아닌 언어로요.
    —〈
    리스프는 ‘
    용인 가능한 리스프’가 아니다

    .
    스티브 예기.

    View Slide

  16. 리스프에 익숙했던 초기 이용자들
    따라서, 그런 언어에 익숙했던 초기 이용자들은 파이썬에서도 비슷한 기
    능들을 만들어 쓰고 있었다는 것을 알아챘습니다.

    1993
    년 말,
    이용자들은 m
    a
    p
    (
    )
    이나 f
    i
    l
    t
    e
    r
    (
    ) , r
    e
    d
    u
    c
    e
    (
    ) 같은 리
    스트 처리 함수들 뿐만 아니라 익명 함수를 만드는 아이디어까지 논했었
    습니다.
    —〈
    파이썬의 “
    함수형” 기능들의 유래

    . 《
    파이썬의 역사

    . 귀도 판 로쉼.

    View Slide

  17. 1993

    익명 함수? m
    a
    p
    (
    ) ? f
    i
    l
    t
    e
    r
    (
    ) ? r
    e
    d
    u
    c
    e
    (
    ) ?
    그런 거 없는 언어도 있나요?

    View Slide

  18. 1995

    자바
    자바스크립트
    루비

    View Slide

  19. 1995

    자바 (2014
    년에 람다 및 m
    a
    p / f
    i
    l
    t
    e
    r
    도입)
    자바스크립트 (2005
    년에 m
    a
    p / f
    i
    l
    t
    e
    r
    도입)
    루비

    View Slide

  20. 하스켈과 리스트 조건제시법
    리스트 조건제시법은 본래 함수형 프로그래밍 언어인 하스켈에서 나온
    아이디어입니다. 그레고리 유잉이 파이썬에 이 문법을 넣자고 했고,
    이를
    구현하는 패치를 처음으로 만든 것도 그레고리 유잉입니다.
    이 패치는 그
    간 python‑dev
    메일링 리스트에서 끝도 없이 논의됐고,
    스킵 몬태나로
    가 최신 상태로 유지(
    리베이스)
    해 왔습니다.

    리스트 조건제시법. 〈
    파이썬 2.0
    에서 바뀐 것〉
    .

    View Slide

  21. 스몰토크와 파이썬

    View Slide

  22. s
    t
    r
    상속받기
    P
    y
    t
    h
    o
    n 3
    .
    6
    .
    2 (
    d
    e
    f
    a
    u
    l
    t
    , J
    u
    l 2
    4 2
    0
    1
    7
    , 1
    9
    :
    4
    7
    :
    3
    9
    )
    [
    G
    C
    C 4
    .
    9
    .
    2
    ] o
    n l
    i
    n
    u
    x
    T
    y
    p
    e "
    h
    e
    l
    p
    "
    , "
    c
    o
    p
    y
    r
    i
    g
    h
    t
    "
    , "
    c
    r
    e
    d
    i
    t
    s
    " o
    r "
    l
    i
    c
    e
    n
    s
    e
    " f
    o
    r m
    o
    r
    e i
    n
    f
    o
    r
    >
    >
    > c
    l
    a
    s
    s M
    y
    S
    t
    r
    i
    n
    g
    (
    s
    t
    r
    )
    :
    .
    .
    . d
    e
    f c
    o
    u
    n
    t
    _
    a
    (
    s
    e
    l
    f
    )
    :
    .
    .
    . r
    e
    t
    u
    r
    n s
    e
    l
    f
    .
    c
    o
    u
    n
    t
    (
    '
    a
    '
    )
    .
    .
    .
    >
    >
    > M
    y
    S
    t
    r
    i
    n
    g
    (
    '
    f
    o
    o
    b
    a
    r
    '
    )
    .
    c
    o
    u
    n
    t
    _
    a
    (
    )
    1
    >
    >
    >

    View Slide

  23. s
    t
    r
    상속받기
    P
    y
    t
    h
    o
    n 1
    .
    5
    .
    2 (
    #
    1
    , A
    u
    g 1
    1 2
    0
    1
    7
    , 1
    3
    :
    3
    2
    :
    3
    4
    )
    [
    G
    C
    C 4
    .
    8
    .
    4
    ] o
    n l
    i
    n
    u
    x
    4
    C
    o
    p
    y
    r
    i
    g
    h
    t 1
    9
    9
    1
    -
    1
    9
    9
    5 S
    t
    i
    c
    h
    t
    i
    n
    g M
    a
    t
    h
    e
    m
    a
    t
    i
    s
    c
    h C
    e
    n
    t
    r
    u
    m
    , A
    m
    s
    t
    e
    r
    d
    a
    m
    >
    >
    > c
    l
    a
    s
    s M
    y
    S
    t
    r
    i
    n
    g
    (
    s
    t
    r
    )
    :
    .
    .
    . d
    e
    f c
    o
    u
    n
    t
    _
    a
    (
    s
    e
    l
    f
    )
    :
    .
    .
    . r
    e
    t
    u
    r
    n s
    e
    l
    f
    .
    c
    o
    u
    n
    t
    (
    '
    a
    '
    )
    .
    .
    .
    T
    r
    a
    c
    e
    b
    a
    c
    k (
    i
    n
    n
    e
    r
    m
    o
    s
    t l
    a
    s
    t
    )
    :
    F
    i
    l
    e "
    <
    s
    t
    d
    i
    n
    >
    "
    , l
    i
    n
    e 1
    , i
    n ?
    T
    y
    p
    e
    E
    r
    r
    o
    r
    : b
    a
    s
    e i
    s n
    o
    t a c
    l
    a
    s
    s o
    b
    j
    e
    c
    t

    View Slide

  24. 자료형과 클래스
    스몰토크와 마찬가지로,
    파이썬도 동적 타이핑 및 동적 바인딩 언어이며,
    모든 것이 객체입니다. 그렇지만,
    파이썬은 내장 객체 자료형과 사용자가
    정의한 클래스를 구분하며,
    현재로서는 내장 자료형을 상속받는 것도 불
    가능합니다.
    —〈
    파이썬과 다른 언어 비교〉
    . 1997
    년 4
    월. 귀도 판 로쉼.
    (강조는 인용자가.)

    View Slide

  25. PEP 253
    이전
    3.4 U
    s
    e
    r
    D
    i
    c
    t —
    딕셔너리 객체를 위한 클래스 래퍼
    본 모듈은 딕셔너리 객체를 감싸는 래퍼로 동작하는 클래스를 정의합니
    다.
    상속받아 메서드를 덮어씌우거나 새로 추가할 수 있도록 자신만의 유
    사 딕셔너리 클래스를 만들 때 그 기반으로 유용합니다.
    이 방법으로 딕
    셔너리에 동작을 추가할 수 있습니다.

    파이썬 라이브러리 참조 문서. 1.5.2
    버전. 1999
    년 4
    월.

    View Slide

  26. Before PEP 253
    3.4 U
    s
    e
    r
    L
    i
    s
    t —
    리스트 객체를 위한 클래스 래퍼
    본 모듈은 리스트 객체를 감싸는 래퍼로 동작하는 클래스를 정의합니다.
    상속받아 메서드를 덮어씌우거나 새로 추가할 수 있도록 자신만의 유사
    리스트 클래스를 만들 때 그 기반으로 유용합니다.
    이 방법으로 리스트에
    동작을 추가할 수 있습니다.

    파이썬 라이브러리 참조 문서. 1.5.2
    버전. 1999
    년 4
    월.

    View Slide

  27. 내장 자료형 상속받기
    본 PEP
    은 C
    와 파이썬에서 내장 자료형의 서브클래스를 만들 수 있게 하
    는 타입 객체 API
    의 추가를 제안합니다.
    —PEP 253 〈
    내장 자료형 상속받기〉
    . 2001
    년 5
    월.

    View Slide

  28. 디지털 크리에이션스
    파이썬래브스 사람들은 거처를 디지털 크리에이션스로 옮깁니다. 귀도
    판 로쉼은 …
    질문에 친절히 답변해주셨습니다. …
    파이썬래브스의 사람들이 조프 작업도 하게 될 것으로 보시나요?
    네.
    조프는 매우 흥미로운 소프트웨어인데다,
    우리도 돕고 싶습니다.

    는 실제로 시도해보고 싶은 아이디어들도 좀 있습니다. 그렇긴 해도 우리
    일과의 많은 시간을 쓰지는 않을 것 같습니다.
    대신,
    우리는 짐 풀턴의 팀
    이 조프를 개선하는 데에 도움이 되는 쪽으로 파이썬을 발전시킬 겁니다.
    “귀도 판 로쉼,
    디지털 크리에이션스로 이적” 2000
    년 11
    월 1
    일. LWN.

    View Slide

  29. 스몰토크와 조프
    오래 전부터 스몰토크 프로그래머셨던 것으로 압니다.
    짐 풀턴:
    네.
    스몰토크 정말 괜찮죠.
    미국 지질조사국에서 쓸 시각 차트 편
    집기를 GNU
    스몰토크로 만들었습니다. ANSI
    스몰토크 표준 위원회에
    서 잠깐 일한 적도 있고요.
    스몰토크,
    특히 스퀵으로 괜찮은 작업들이 여전히 진행되고 있더라고요.

    짐 풀턴 인터뷰.
    조페라 (
    프랑스 조프 모임). 2002
    년 2
    월.

    View Slide

  30. 스몰토크와 조프
    전부터 봐왔던 미래 웹 개발의 비전이나,
    따르려는 산업 표준 같은 게 있
    나요?
    짐 풀턴:
    저는 객체 신봉자이고,
    조프는 언제나 복잡한 문제들을 웹으로
    가능한 쉽게 풀기 위해 객체 기술의 힘과 파이썬을 활용하려 해왔습니다.

    짐 풀턴 인터뷰.
    조페라 (
    프랑스 조프 모임). 2002
    년 2
    월.

    View Slide

  31. 파이썬을 더 스몰토크처럼 만들기
    이 PEP
    은 내장 자료형에 대한 인트로스펙션 API
    를 고쳐,
    내장 자료형은
    좀더 클래스처럼 보이고 내장 자료형 값들은 좀더 클래스의 인스턴스처
    럼 보이게 하는 것을 제안합니다.
    예를 들어, t
    y
    p
    e
    (
    x
    )
    는 대부분의 내
    장 자료형에 대해 x
    .
    _
    _
    c
    l
    a
    s
    s
    _
    _
    와 같은 결과가 될 것입니다.
    —PEP 252 〈
    내장 자료형을 더 클래스처럼 보이게 하기〉
    . 2001
    년 4
    월.

    View Slide

  32. 그때와 지금
    P
    y
    t
    h
    o
    n 1
    .
    5
    .
    2 (
    #
    1
    , A
    u
    g 1
    1 2
    0
    1
    7
    , 1
    3
    :
    3
    2
    :
    3
    4
    )
    [
    G
    C
    C 4
    .
    8
    .
    4
    ] o
    n l
    i
    n
    u
    x
    4
    C
    o
    p
    y
    r
    i
    g
    h
    t 1
    9
    9
    1
    -
    1
    9
    9
    5 S
    t
    i
    c
    h
    t
    i
    n
    g M
    a
    t
    h
    e
    m
    a
    t
    i
    s
    c
    h C
    e
    n
    t
    r
    u
    m
    , A
    m
    s
    t
    e
    r
    d
    a
    m
    >
    >
    > t
    y
    p
    e
    (
    '
    a
    '
    )
    <
    t
    y
    p
    e '
    s
    t
    r
    i
    n
    g
    '
    >
    >
    >
    > s
    t
    r
    <
    b
    u
    i
    l
    t
    -
    i
    n f
    u
    n
    c
    t
    i
    o
    n s
    t
    r
    >
    >
    >
    > t
    y
    p
    e
    (
    '
    a
    '
    ) i
    s s
    t
    r
    0
    P
    y
    t
    h
    o
    n 3
    .
    6
    .
    2 (
    d
    e
    f
    a
    u
    l
    t
    , J
    u
    l 2
    4 2
    0
    1
    7
    , 1
    9
    :
    4
    7
    :
    3
    9
    )
    [
    G
    C
    C 4
    .
    9
    .
    2
    ] o
    n l
    i
    n
    u
    x
    T
    y
    p
    e "
    h
    e
    l
    p
    "
    , "
    c
    o
    p
    y
    r
    i
    g
    h
    t
    "
    , "
    c
    r
    e
    d
    i
    t
    s
    " o
    r "
    l
    i
    c
    e
    n
    s
    e
    " f
    o
    r m
    o
    r
    e i
    n
    f
    o
    r
    >
    >
    > t
    y
    p
    e
    (
    '
    a
    '
    )
    <
    c
    l
    a
    s
    s '
    s
    t
    r
    '
    >
    >
    >
    > s
    t
    r
    <
    c
    l
    a
    s
    s '
    s
    t
    r
    '
    >
    >
    >
    > t
    y
    p
    e
    (
    '
    a
    '
    ) i
    s s
    t
    r
    T
    r
    u
    e

    View Slide

  33. 조프와 파이썬 웹 프레임워크들
    트랙,
    에지월 소프트웨어 (2004
    년)
    파일론스,
    벤 뱅거트 ·
    제임스 가드너 (2005
    년)
    웹오브,
    이언 비킹 (2007
    년)
    r
    e
    p
    o
    z
    e
    .
    b
    f
    g ,
    어젠달리스 컨설팅 (2009
    년)

    View Slide

  34. 조프와 파이썬 웹 프레임워크들
    트랙 (2004
    년)
    파일론스 프로젝트
    파일론스 (2005
    년) →
    피라미드 (2010
    년)
    웹오브 (2007
    년) →
    피라미드 (2010
    년)
    r
    e
    p
    o
    z
    e
    .
    b
    f
    g (2009
    년) →
    피라미드 (2010
    년)

    View Slide

  35. 펄과 파이썬

    View Slide

  36. 패키지 매니저는 이제 일반적입니다
    펄 (1987
    년): CPAN
    파이썬 (1989
    년): PyPI
    및 p
    i
    p
    루비 (1995
    년):
    루비젬스
    자바 (1995
    년):
    메이븐
    하스켈 (1990
    년):
    카발 및 스택
    자바스크립트 (1995
    년): n
    p
    m

    View Slide

  37. 그 당시에는 아니었지만
    펄 (1987
    년): CPAN (1995
    년)
    파이썬 (1989
    년):
    치즈숍 (2002
    년)
    및 p
    i
    p (2011
    년)
    루비 (1995
    년):
    루비젬스 (2004
    년 3
    월)
    자바 (1995
    년):
    메이븐 (2004
    년 7
    월)
    하스켈 (1990
    년):
    카발 (2005
    년)
    및 스택 (2016
    년)
    자바스크립트 (1995
    년): n
    p
    m (2010
    년)

    View Slide

  38. 펄의 CPAN
    이 부러웠던 파이썬
    파이썬도 CPAN 같은 모듈 저장소가 필요하다는 얘기가 여러 차례 있었
    습니다.
    이에 대해 현재 어떤 생각이신가요?
    맞다고 봅니다. 그 방향의 구체적인 계획이 바로는 없지만,
    장기적으로는
    python.org
    웹사이트를 (
    커뮤니티가 운영하는 조프 사이트로 만드는 식
    으로) 개선하려고 하고,
    저장소 같은 것을 추가하는 것은 필연적이라고
    생각합니다.
    파이썬 2.0
    에 들어간 distutils
    패키지 덕분에 서드파티 코
    드를 훨씬 설치하기 쉬워진 것도 주목해 주세요.
    “귀도 판 로쉼,
    디지털 크리에이션스로 이적” 2000
    년 11
    월 1
    일. LWN.

    View Slide

  39. 펄 파이썬에 대한 ESR
    의 잘 알려진 글
    그래서 이 이야기에서 재밌는 부분은 실은 이겁니다. fetchmailconf†

    만든지 여러 달이 지났어도,
    여전히 fetchmailconf
    코드를 읽고서 이게
    어떻게 돌아가던 것인지 파악할 수 있었다는 것이죠.
    별로 머리 아프지
    않고.
    반면 제가 더이상 사소한 프로젝트를 빼고는 펄을 쓰지 않게 된 이
    유는,
    크고 복잡한 코드를 펄로 짤 때는 한 번도 그럴 수 없었다는 것이고
    요. keeper‡
    나 anthologize‡
    는 행여나 고칠 일이 있을까 두렵습니다만,
    fetchmailconf
    는 전혀 그런 부채감을 주지 않습니다.
    —〈
    왜 파이썬인가〉
    . 《
    리눅스 저널

    73
    호 (2000
    년 5
    월).
    에릭 레이먼드.
    † ESR
    이 파이썬으로 짠 소프트웨어.
    ‡ ESR
    이 펄로 짠 소프트웨어.

    View Slide

  40. 결론

    View Slide

  41. ABC
    80
    년대가 됐고, …
    신세대 아마추어 프로그래머들이 쓰는 언어는 베이직
    이었습니다.
    우리 팀은 베이직 언어를 세상에서 사라져야 할 해충으로 여
    겼습니다.
    우리의 모토에 따르면,
    우리가 만들던 언어인 ABC가 “
    베이직
    을 몰아내야”
    만 했습니다.
    슬프지만,
    이런 저런 이유로, …, ABC
    는 그만두게 됐습니다.
    이후 저는
    많은 시간 프로젝트가 어쩌다 실패했는지 이해하려 애썼습니다. …
    제가
    내린 최선의 대답은, ABC
    는 인터넷이 없던 시절에 만들어져 언어 제작
    자와 이용자 사이에 건강한 피드백 순환이 이뤄지지 않았기 때문이라는
    것이었습니다. ABC
    의 설계는 실상 일방통행이었던 것이죠.
    —〈
    네덜란드 국왕탄생일 연설

    . 귀도 판 로쉼.

    View Slide

  42. 대중성
    따라서 언어가 대중화되기 위해서 좋은 언어가 될 필요가 있는지의 여부
    와 상관 없이,
    저는 좋은 언어가 되기 위해서 대중화될 필요가 있다고 생
    각합니다. 그리고 좋은 상태를 유지하기 위해서도 대중성을 유지해야 합
    니다.

    대중화되기〉
    .
    폴 그레이엄.

    View Slide

  43. 우리가 “
    파이썬답다”Pythonic
    를 정의해온 방식
    다른 언어들이 현재의 파이썬의 모습을 형성하는 데에 영향을 줘 왔습니다.

    View Slide

  44. 우리가 “
    파이썬답다”Pythonic
    를 정의해갈 방식
    다른 언어들이 현재의 파이썬의 모습을 형성하는 데에 영향을 줘 왔습니다.
    미래의 파이썬이 어때야 할지 역시도,
    다른 언어들이 영향을 줄 것입니다.

    View Slide

  45. 감사합니다
    발표 자료:
    Slides in English:

    View Slide