パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

訃報:石田晴久氏逝去」記事へのコメント

  • プログラミング言語Cといえば、ポインタの章が理解できずに何度も読みすぎてそのページだけ黒くなっていました。
    ご逝去の報に接し、謹んで哀悼の意を表します。

    • by Anonymous Coward

      Cの前にマシン語をやっていたので、ポインタは理解できた(というか、ポインタが理解できない人のことが理解できない)
      のですが、関数へのポインタの配列を返す関数にtypedefして~とか言うと、ついていけなくなります。

      それから、

      int *i;

      は理解できますが、

      int* i;

      と書く発想が理解できません。「int*」って何だよ?って。

      • by Anonymous Coward

        今は後者が主流な気がする
        本の影響もあってC++使いは特に

        • 私は、10年ほど前までは「char *p」と書いていましたが、今は「char* p」と書いています。単なるポインタであればどちらでも良いとは思いますが、ポインタの配列などでは、「char *p[]」と書くよりは、「char* p[]」と書いた方が初心者に説明しやすいというのが理由です。後者だと「[charへのポインタ型]の配列」って説明します。
          • by Anonymous Coward
            でも、char* p, q; の意味が説明できなくなるね。Cの深層はどこまでも深い。
            • 「深い」って「判りにくい」の別名だと思うので、あんまりプログラミング言語に積極的に求められる性質ではなく、肯定的に捉えられる性質でもないんじゃないかなと思います。
              特に、その時代の技術では代替の効きにくい重要必須なコンセプトやメカニズムならともかく、単なる構文的な判りにくさにはあまり入れ込むのはどうかなーと。
              ポインタ型の観念や機構は重要だろうけど構文はそれに比べてそれほど重要でないんじゃないかと思います。

              それでもCぐらいだと構文の瑕疵まで含めて完全に理解しようと思えばできなくはないのでしょうが、C++あたり使ってると「ギリギリまで使い切れる完全な理解に基づいて書く」ではなくて「より限定的だけど読みやすく、瑕疵には触れず安全目な理解の範囲で書く」へと段々割り切りがw
              (で、ギリギリのことをしなければならない羽目に陥ったらそのときはあきらめてリファレンスを読み直す。)
              まぁ、「C実践プログラミング」本とか「MISRA C」規約的な方向性ですね。(とはいえ私個人はそこまでストイックではないですが。)

              親コメント

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

処理中...