PEPのススメ
講義資料の続き
PEPのススメ
さて、言語の設計の違いについて学ぶことは重要だが、不毛な議論で時間を浪費することは避けなければいけない。
ならばどうするのがいいだろうか?
正解はないが一つの案としてPEPを読むのはどうだろう?
PEPとは
Python Enhancement Proposals
http://www.python.org/dev/peps/
Pythonをこう改良したらいいんじゃない?という提案
採用されることもあれば却下されることもある
詳細はPEP 1で定義されているよ 和訳: http://sphinx-users.jp/articles/pep1.html
なかには本気かと思うような提案もある
PEP 3117:Postfix type declarations
「Unicodeの絵文字で型宣言をつけよう」
def normpathƛ(path✎)✎: """Normalize path, eliminating double slashes, etc.""" if path✎ == '': return '.' initial_slashes✓ = path✎.startswithƛ('/')✓
これはRejected(却下)されている。
(はてなじゃ表示できないのか)
PEP一覧の俯瞰
- Meta-PEPs: PEP自体や手続きに関するPEP
- Informational PEP: ガイドラインなど
- Accepted PEPs: 受理されて未実装
- Open PEPs: 議論中
- Finished PEPs: 実装済み
- Deferred, ... and Rejected PEPs: 却下など
- 番号順一覧
Accepted PEPsとFinished PEPsの、それも互換性を失わせるような変更を重点的に読んでみよう。
なぜなら互換性を捨てるような提案が採用されているということは、
- 互換性を捨ててまで採用するほど重要な問題で
- 説得力がある=それがなぜ重要であるのかが明確に説明されている
ということだからだ。
_
他の選択肢も挙げる
- JSR
- SFRI
- EEP
- RFC