Strict Standards: Non-static method Soojung::addReferer() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/settings.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/lifthrasiir/sites/sapzil.info/soojung/settings.php:79) in /home/lifthrasiir/sites/sapzil.info/soojung/classes/Counter.class.php on line 63

Strict Standards: Non-static method Entry::getEntry() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/entry.php on line 51

Strict Standards: Non-static method Soojung::entryIdToFilename() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/classes/Entry.class.php on line 182

Strict Standards: Non-static method Soojung::queryFilenameMatch() should not be called statically in /home/lifthrasiir/sites/sapzil.info/soojung/classes/Soojung.class.php on line 55
TokigunStudio3 | 블로그: PEP-3000의 압박

내용으로 바로 넘어 가기


TokigunStudio3

228 / 3282   


더 이상 이 블로그는 운영되지 않습니다. 새 블로그로 가 주세요.

PEP-3000의 압박

2004/08/22 PM 06:35 | [옛글] 사건사고소식들 | 0 comments | 1 trackbacks | AllBlog: vote, to pocket

일러두기: 이 글은 옛날에 사용하던 엔비 블로그에서 가져 온 것으로, 원문은 여기에서 볼 수 있습니다.

* PEP3000 등장에 트랙백을 보낸 글입니다.

예전에 Python3000의 압박(실은 Python 3.0)이란 글을 쓴 적이 있습니다. 이번엔 prefix가 바뀌어서 Python이 아니라 PEP3000의 압박입니다. -_-;;

Python3000에서 바뀔 것들을 대충 정리해 놓은 PEP가 나왔습니다. 드디어 4자리 PEP가 하나 나왔는데, 번호 역시 3000번입니다. -_-; 파이썬 PEP 페이지(영문)에서 볼 수 있는데, 대충 뭐가 바뀌나 정리해 보면... (퍼키 님은 조금만 정리해 놓으셨군요.)

* int와 long 형이 통합됩니다. 한 마디로 필요에 따라서 int도 되고 long도 되고... -_-
* 모든 문자열 형이 유니코드 문자열로 통합되고, 바이트 배열(bytes 형)이 새로 생깁니다.
* exec가 드디어 함수가 됩니다! (지금까지는 이게 keyword였지요. 땜시 수식 중간에서 평가될 수 없었다는...)
* 정적 형 선언문이 추가됩니다. 물론 그렇다고 해서 지금의 동적 형변환이 없어지는 건 아니고... 어디까지나 쓸려면 쓰고 말려면 말아라라는 의미의 optional한 선언입니다.
* with 문이 생깁니다. 이거 어떻게 만들어질까 궁금했는데 결국 점을 붙이는 군요.
* print 문이 사라지고 함수들이 그 자리를 차지하게 됩니다. input()과 raw_input() 함수도 마찬가지로 사라지고...
* lambda 구문이 사라집니다 -_-;;; 이런 십장생!
* `x`(backtick... repr(x)과 같음)도 사라집니다. 참 많이도 사라지네요.
* xrange()가 사라지고 range()로 통합됩니다. 다시 말해서 range()가 반복자(iterator)를 반환하게 됩니다. (이건 졸라 환영)
* apply, callable, map, filter, reduce 등등 여러 가지 함수들이 사라지고 __builtins__에 있던 몇몇 함수가 sys로 자리를 옮깁니다. (map과 filter는 그렇다 쳐도, reduce 사라지면 obfuscated python은 어떻게 하라는 거냐;)
* 결국 string 모듈이 사라지는 군요.

개인적으로 lambda 구문이 사라지는 게 가장 불만이네요. 딴 건 뭐 그렇다 치고... (exec가 함수 된다는 거나, range와 xrange의 통합 같은 건 환영할 만 하지만) 뭐 3년은 지나야 알파든 뭐든 나올 테니까 일단은 문제는 없겠죠 뭐. 그나저나 호환성 따위는 전혀 고려하지 않는 엄청난 변화군요. 역시 Python3000에서 텔레파시 인터페이스 지원한다는 게 구라는 아니겠지 -_-;

그나저나 퍼키님의 문제의 발언 "앞으로 10배는 더 많이 충격적인 내용이 들어가야 할 것 같은데~"을 생각해 보면 이게 끝이 아닐 것 같군요. lambda 사라지는 것만 해도 충격적인데 -_- 뭐 한 2007~8년을 기대해 봅시다.

TrackBack URL: http://sapzil.info/soojung/trackback.php?blogid=418

Trackback: 토끼군의 알 수 없는 세상 (2004/08/25 PM 11:13)

PEP-3000 관련해서 조금 추가.

* PEP-3000의 압박에 트랙백을 보낸 글입니다. (자가 트랙백-_-/)

Copyright (c) 1995-2005, Kang Seonghoon (Tokigun).