パスワードを忘れた? アカウント作成
679712 journal

dsegの日記: 本家インタビュー: GvR Unleashed [7/9] 3

日記 by dseg

[※査読中です...]
Jadawinさんが、「眠い」のにもかかわらず訳してくださいました。
ありがとうございました!

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 構造化のデザイン
    by Xerithane

    まず最初に。私は、実際には全くPythonでコードを書いていません。しかし、
    紹介記事や入門記事のほぼすべてをよんでいるので、文法と構造に関して把握
    できていると思います。

    私は、Cでの開発をもう9年もやっており、他にも余るぐらいの言語を知ってい
    ます。例えば、スクリプト系だと、シェルスクリプト、perl、PHPなどを含み
    ます。さて、それらすべては、ifやforなどの制御構造のグループ化にいわゆ
    る「普通の」の方式をとっています。

    空白を基本とした文法規則を作るにあたって、何が理論的背景としてあったの
    でしょう?そして、それがなぜよいと思いましたか?できれば「可読性」とい
    う答え以外をお願いします。これまで、Pythonを知る人から得られた唯一の答
    えがそれだったのです。

    私の背景からは、中括弧({})を使うコードの方が空白を使うものより遥かに簡
    単に読めるようです。だって、無意識に括弧を探してしまうので。コードの最
    初の一行が書かれてから、20年を越えるような古いコードのメンテナンスを終
    えてから、Pythonのコードの寿命に興味があります。それで第2の質問は、
    Pythonは20年をうまく生きのびるように思いますか?そして、そのように
    長く生きのびる理由は何だと思いますか?

    Guido:
    読みやすいという答えに何かご不満でも?私はしごくもっともな理由だと思い
    ますよ。コードの読みやすさを気にしませんか?

    正しくインデントされていないコードを嫌ったりしませんか?インデントを
    文法の一部にすることで、すべてのコードが適切にインデントされることを
    保証できます。

    かっこをもちいる場合ですが、そのおき方にいくつかの流儀があります。つま
    り、開きかっこをifと同じ行におくか?それとも次の行か?次の行だとして、
    インデントするか?しないか?閉じかっこも同様。もし、どれかの流儀に慣れ
    ると、他の流儀は読みにくくなりえます。コードをざっと読む場合、多くの人
    はいずれにしろインデントを頼りにします。これはしばしば、次のようなバグ
    を見落とすことになります。

        if (x 10)
                x = 10;
                y = 0;

    まだ、腑におちない?ドナルド・クヌース氏は、1974年に「プログラム単位が
    十分小さい場合、インデントは最終的にはコードを構造化するための有効な手
    段になるだろう」と予測しています。
    (完全な引用は、次を参照のこと。
    http://www.amk.ca/quotations/python-quotes/page-1.html)

    まだ、納得しない?まだ、あなた自身まだ試していないことを認めていますよ
    ね。Pythonを試すほとんどの人は素早く習熟しますし、最終的にはそのインデ
    ントの機能を好きになります。最初は嫌っていたとしても。これは、あなたに
    も起こり得ることですよ!

    だから、Pythonがあと20年もつことを心配なぞしていません。
  • by Jadawin (2174) on 2003年05月13日 5時40分 (#314612) 日記
    すんまへん。dsegさめにアサイン済ではないですかっ。
    ごめんなさい。眠いもんで。
    • いえいえ、ありがとうございます!
      未だ掲載していなかったので全然問題ないです :)

      いやあ、素晴らしい。Jadawinさん。
      是非またお願いします :)
      帰社後、落ち着いて一度目を通してから、表に掲載させて頂きます。

      昨日までは頂いた訳をすぐ表に転載していたのですが、
      yh さんとニーヴンを訳した時、
      それだと 自分が訳した部分のどこがどう添削されたのか
      分かりずらかった事を思い出しました。
      コメントでログを残しつつ、仮完成したら表に出すというスタンスで行きたいと思います。...次回は(次回?)。
      親コメント
typodupeerror

開いた括弧は必ず閉じる -- あるプログラマー

読み込み中...