悲しいとき。
Unix 脳、と言ってもいいんだけれども。そして「よくあることだけれども」。
Python のような動的な型付けを行う言語は「実用的な意味で」好きなんだけれども、ときおり「~に注意してください」と Python (など)の LL な文脈で言われて「ん?」と思うこともままあって。
「Python 2 から Python 3 への移植」の翻訳がまもなく終わるんだけれどもね、その中でさ、
In Python 2,
b'123'[1] == b'2'
while in Python 3 b'123'[1] == 50
.
なんて説明がされてるわけだな。
C/C++ 脳もしくは Unix 脳が発達しとるとだな、「テキストなんぞはバイナリのサブセットに過ぎん」 Oriented だもんで、「何が違うねん」思っちまう。だって ‘2’ って ASCII の 50 じゃろが。
無論これは「バイト型」という「オブジェクト」と、「数値」というプリミティブが異なる型である、ということが問題にされておるわけね。C/C++ にはない世界だ。(だって enum さえも整数と相互に行き来でける乱暴な言語だ。)
なんてことはまぁどうでもいいね。「Python 2 から Python 3 への移植」の翻訳はどうにか今日中に終わりそうだ。