Following system colour scheme Selected dark colour scheme Selected light colour scheme

Python 개선 제안 한국어 번역

PEP 283 – Python 2.3 릴리스 일정

Author:
Guido van Rossum
Status:
Final
Type:
Informational
Topic:
Release
Created:
27-Feb-2002
Python-Version:
2.3
Post-History:
27-Feb-2002

Table of Contents

번역·라이선스 안내

이 비공식 한국어 번역은 원문 Copyright 절의 Public Domain 조건에 따라 제공합니다. 원저자와 공식 원문은 그대로 표시합니다. 수정되지 않은 기준 원문 · 공식 최신판

개요

이 문서는 Python 2.3의 개발 및 릴리스 일정을 설명합니다. 이 일정은 주로 PEP 규모의 항목들을 다룹니다. 작은 기능들은 첫 번째 베타 릴리스까지 추가될 수 있습니다. 버그는 최종 릴리스까지 수정될 수 있습니다.

알파 릴리스 2회, 베타 릴리스 2회, 릴리스 후보 1회가 최소한 있을 예정입니다. 알파 및 베타 릴리스는 최소 4주 간격을 둘 것입니다(단, 이전 릴리스의 실수를 바로잡기 위해 긴급 릴리스를 내야 하는 경우는 예외이며, 이 경우 실수 수정 릴리스는 횟수에 포함되지 않습니다). 릴리스 후보는 최소 1주 간격을 둘 것입니다(마찬가지로 실수 수정의 경우는 예외입니다).

알파 1 2002년 12월 31일
알파 2 2003년 2월 19일
베타 1 2003년 4월 25일
베타 2 2003년 6월 29일
후보 1 2003년 7월 18일
후보 2 2003년 7월 24일
최종 2003년 7월 29일

릴리스 관리자

Barry Warsaw, Jeremy Hylton, Tim Peters

2.3에서 완료된 기능들

이 목록은 완전하지 않습니다. 더 많은 내용은 CVS의 Doc/whatsnew/whatsnew23.tex를, 전체 목록은 물론 Misc/NEWS를 참조하십시오.

  • Tk 8.4 업데이트.
  • bool 타입과 그 상수인 TrueFalse(PEP 285).
  • PyMalloc이 크게 개선되었으며 기본적으로 활성화됩니다.
  • 유니버설 개행 지원(PEP 278).
  • PEP 263 파이썬 소스 코드 인코딩 정의, Lemburg

    구현되었습니다(적어도 2.3에서 계획된 전부인 1단계까지는).

  • 모든 내장 시퀀스에 대한 확장 슬라이스 표기법입니다. Michael Hudson의 패치가 이제 모두 체크인되었습니다.
  • tp_iter를 채우는 방식 등으로 리스트 이터레이션 속도를 향상시켰습니다. https://bugs.python.org/issue560736 을 참조하십시오. xrange와 튜플에 대해서도 마찬가지로 처리되었습니다.
  • 타임아웃 소켓입니다. https://bugs.python.org/issue555085
  • int/long 통합의 B0 단계입니다(PEP 237). 이는 hexoct 변환 또는 왼쪽 시프트가 동일한 값을 가진 intlong에 대해 서로 다른 값을 반환하는 상황에 대해 FutureWarning을 발생시킨다는 것을 의미합니다. 파이썬 2.3에서는 의미론이 변경되지 않습니다. 그 변경은 파이썬 2.4에서 이루어질 것입니다.
  • 모든 코드 객체에서 SET_LINENO를 제거합니다(디버거 중단점을 설정하는 다른 방법을 제공합니다). 이는 pystone을 5% 이상 향상시킬 수 있습니다. https://bugs.python.org/issue587993 이 이제 체크인되었습니다. (안타깝게도 pystone 향상은 일어나지 않았습니다. 무슨 일이 있었던 것일까요?)
  • 사람들이 자신의 확장 모듈에 번들로 포함시켜 1.5.2부터 2.3까지의 모든 파이썬에서 2.3 메모리 인터페이스를 사용할 수 있게 해주는 pymemcompat.h를 작성합니다. (Michael Hudson이 Misc/pymemcompat.h를 체크인했습니다.)
  • “보류 중인 폐지 예정(pending deprecation)”이라는 새로운 개념과 그에 연관된 경고 PendingDeprecationWarning을 추가합니다. 이 경고는 보통 억제되지만, 적절한 -W 옵션으로 활성화할 수 있습니다. 현재로서는 소수의 것들만 이를 사용하고 있습니다.
  • 확장 타입의 tp_compare가 -1, 0, 1 이외의 값을 반환할 때 경고합니다. https://bugs.python.org/issue472523
  • (다양한 형태로) None에 대한 대입 시 경고합니다.
  • PEP 218 내장 집합 객체 타입 추가, Wilson

    Alex Martelli가 Greg Wilson의 프로토타입에 대한 새로운 버전을 기여했으며, 저는 그것을 상당히 많이 다시 다듬었습니다. 이제 sets 모듈로 표준 라이브러리에 포함되어 있지만, 첫 베타 릴리스까지는 세부 사항이 여전히 바뀔 수 있습니다. (지금으로서는 이를 내장 타입으로 만들 계획은 없습니다.)

  • PEP 293 코덱 오류 처리 콜백, Dörwald

    완전히 구현되었습니다. 이제 unicode.encodestr.decode에서의 오류 처리를 사용자 정의할 수 있습니다.

  • PEP 282 로깅 시스템, Mick

    Vinay Sajip의 구현이 패키지화되어 임포트되었습니다. (문서와 단위 테스트는 아직 진행 중입니다.) https://bugs.python.org/issue578494

  • 수정된 MRO(메서드 결정 순서) 알고리즘입니다. C3를 채택해야 한다는 데 합의가 이루어졌습니다. Samuele Pedroni가 C로 작성된 초안 구현을 기여했습니다. https://bugs.python.org/issue619475 를 참조하십시오. 이는 이제 체크인되었습니다.
  • 새로운 명령줄 옵션 파서입니다. Greg Ward의 Optik 패키지(http://optik.sf.net)가 채택되어 optparse라는 단일 모듈로 변환되었습니다. http://www.python.org/sigs/getopt-sig/ 도 참조하십시오.
  • 표준 datetime 타입입니다. 이 작업은 위키에서 시작되었습니다: http://www.zope.org/Members/fdrake/DateTimeWiki/FrontPage. 프로토타입은 nondist/sandbox/datetime/에 작성되었습니다. Tim Peters가 C 구현을 완성하여 커밋했습니다.
  • PEP 273 Zip 아카이브에서 모듈 임포트하기, Ahlstrom

    이는 PEP 302구현 작업의 일환으로 구현되었습니다.

  • PEP 302 새로운 임포트 훅, JvR

    구현되었습니다(다만 2.3a1 릴리스에는 몇 가지 버그가 있었으나 릴리스 이후 수정되었습니다).

  • 새로운 피클링 프로토콜입니다. 자세한 내용은 PEP 307을 참고하십시오.
  • PEP 305(CSV 파일 API, Skip Montanaro 외)가 포함되었습니다; 이것이 csv 모듈입니다.
  • Raymond Hettinger의 itertools 모듈이 포함되었습니다.
  • PEP 311(확장 모듈을 위한 단순화된 GIL 획득, Mark Hammond)이 베타 1에 포함되었습니다.
  • 새로운 PyArg_Parse*() 형식 코드 두 개가 추가되었습니다. ‘k’는 Python 인자의 하위 LONG_BIT비트를 받는 부호 없는 C long int를 반환하며, 범위 검사 없이 잘라냅니다. ‘K’는 하위 LONG_LONG_BIT비트를 받는 부호 없는 C long long int를 반환하며, 범위 검사 없이 잘라냅니다. (SF 595026; Thomas Heller가 이 작업을 수행했습니다.)
  • 새로운 버전의 IDLE이 IDLEfork 프로젝트(http://idlefork.sf.net)에서 가져와졌습니다. 이제 이 코드는 표준 라이브러리의 idlelib 패키지에 있으며, idle 스크립트는 setup.py에 의해 설치됩니다.

2.3의 예정된 기능

여기서 더 진행하기에는 너무 늦었습니다.

진행 중인 작업

다음은 특정 날짜까지의 완료를 기대하지 않고 계속 작업해야 할 진행 중인 TO-DO 항목들입니다.

  • 문서화: 배포 및 설치 매뉴얼을 완성합니다.
  • 문서화: 새 스타일 클래스에 대한 문서를 완성합니다.
  • Demos/ 디렉터리를 살펴보고 필요한 곳을 업데이트합니다(Andrew Kuchling이 이미 많은 부분을 완료했습니다)
  • 새로운 테스트입니다.
  • SF의 문서 버그를 수정합니다.
  • 코어에서 폐기 예정 기능의 사용을 제거합니다.
  • 폐기 예정 기능을 적절히 문서화합니다.
  • 폐기 예정 C API를 Py_DEPRECATED로 표시합니다.
  • 유지 관리되지 않는 모듈을 폐기 예정으로 지정하거나, 아니면 ‘유지 관리되지 않음’ 모듈을 위한 새로운 범주를 만듭니다
  • 전반적으로, 앞으로 나아가기 쉽도록 많은 정리 작업을 했습니다.

미해결 문제

최종 릴리스 이전(가급적이면 첫 베타 릴리스 이전)에 더 많은 작업 및/또는 고려가 필요할 수 있는 몇 가지 문제가 있습니다: 남은 문제 없음.

Python 2.3에 포함되지 못한 기능

  • 임포트 잠금은 재설계가 좀 필요합니다. (SF 683658.)
  • 셋(set) API 문제; sets 모듈은 완벽합니까?

    더 폭넓은 사용자 경험을 얻을 때까지는 다듬기를 멈춰도 충분할 것으로 생각합니다.

  • (일부 사람들이 보기에) 보기 흉한 “U” 모드 플래그를 대체하는, 텍스트 파일을 여는 더 나은 API. 새로운 내장 타입 textfile(filename, mode, encoding)를 만들자는 제안이 나와 있습니다. (bufsize 인자도 있어야 하지 않겠습니까?)

    위와 동일함.

  • Tkinter를 위한 새 위젯???

    누구 이걸 할 시간이 있는 사람 있습니까? Tk 8.4에 새 위젯이 있기는 있습니까? (아직 Windows에서는 아니지만) 이미 더 나은 Tix 지원을 갖추고 있다는 점에 유의하십시오.

  • Fredrik Lundh의 basetime 제안:

    http://effbot.org/ideas/time-type.htm

    이는 이제 죽은 것으로 생각합니다.

  • PEP 304(Montanaro가 작성한 바이트코드 파일 생성 제어)는 동력을 잃은 것으로 보입니다.
  • 어떤 클래스 안에 정의된 클래스의 경우, __name__"outer.inner"여야 하며, 피클링도 동작해야 합니다. (SF 633930. 이것이 쉬운지, 아니 옳은 것인지조차 더 이상 확신할 수 없습니다.)
  • reST는 Zope3에서 많이 사용될 예정입니다. 표준 라이브러리 모듈이 될 수도 있지 않을까요? (reST 저자는 아직 너무 불안정하다고 생각하므로, 이를 하지 않는 쪽으로 기울어 있습니다.)
  • (특히 모듈에 대한) 더 명확한 폐지 정책을 정하고 이를 실행에 옮기십시오. 우선 Neal Norwitz의 다음 메시지를 참고하십시오: https://mail.python.org/pipermail/python-dev/2002-April/023165.html 이를 체계적인 방식으로 더 진전시키는 데 대한 관심이 충분치 않아 보이며, 그다지 중요하지도 않습니다.
  • types모듈의 흔한 용도에 대한 대안을 제공하십시오;

    Skip Montanaro가 이 아이디어에 대한 초안 PEP를 게시했습니다: https://mail.python.org/pipermail/python-dev/2002-May/024346.html

    제가 아는 한, 이에 대한 진전은 전혀 없었습니다.

  • types모듈과 string모듈에 보류 중 폐지(pending deprecation)를 적용하십시오. 이를 위해서는 아직 다뤄지지 않은 부분(예: string.whitespacetypes.TracebackType)에 대한 대안을 제공해야 합니다. 이에 대해서는 합의를 이룰 수 없을 것으로 보입니다.
  • buffer객체를 폐지 예정으로 지정하십시오.

    이 문제는 결코 해결되지 않을 것으로 보입니다.

  • PEP 269 Python용 Pgen 모듈, Riehl

    (필요한 변경 사항 일부는 반영되었지만, pgen 모듈 자체가 더 성숙해질 필요가 있습니다.)

  • 오랫동안 기다려온 Python 카탈로그에 대한 지원을 추가합니다. Kapil Thangavelu는 OSCON 2002에서 시연한 Zope 기반 구현체를 가지고 있습니다. 이제 우리에게 필요한 것은 이를 호스팅할 장소와 이를 이끌어갈 사람뿐입니다. (적어도 이를 지원하기 위한 distutils의 일부 변경 사항은 반영되었습니다.)
  • PEP 266 전역 변수/속성 접근 최적화, Montanaro

    PEP 267 모듈 네임스페이스에 대한 최적화된 접근, Hylton

    PEP 280 전역 변수 접근 최적화, van Rossum

    이들은 기본적으로 서로 경쟁하는 세 가지 우호적인 제안입니다. Jeremy는 새로운 컴파일러로 약간의 진전을 이루었지만, 진행이 더디고 컴파일러는 단지 첫 단계에 불과합니다. 어쩌면 이번 릴리스에서 컴파일러를 리팩터링할 수 있을지도 모릅니다. 크게 기대하지는 않겠다고 말하고 싶은 마음이 듭니다. 그동안 Oren Tirosh는 딕셔너리 접근을 최적화하고 인라인화함으로써 전역 변수 및 내장 객체에 접근하는 성능을 크게 향상시킬 수 있는 훨씬 더 간단한 아이디어를 내놓았습니다: http://tothink.com/python/fastnames/

  • 튜플을 지연 추적하기?

    큰 호응은 없었던 것으로 생각합니다.

  • PEP 286 향상된 인자 튜플, von Loewis

    이것을 철저히 검토할 시간이 없었습니다. 심층 최적화를 위한 편법으로 보입니다(다만 더 나은 정확성 보장도 제공합니다).

  • ‘as’를 키워드로 만드십시오. 의사(pseudo) 키워드로 충분히 오래 남아 있었습니다. 손대기에는 너무 많은 노력이 듭니다.