ではなく、重要でないことが『重要でないが理解できるなら知っといていいよ』と定義されていると、興味ない人は「そっか〜」で読み飛ばせるし、自力で噛み砕いて洞察なり推察なりできる人は予備的な直観や「見通し」を得られるのでその方が本当は親切だよね、という話ですね。
もちろん書籍 (に限らないが) で「興味ない人はnページまで読み飛ばして」をそこかしこであらゆる粒度の技術について書いておくことは困難という事情はある。
たとえば「printf で値を表示できます」に加えて「フォーマット文字列を実行時に解釈しているので型エラーがありうるしその場合未定義動作です」と書いてあれば、勘の良い人は「これ標準ではあるが筋の良くない設計だよな?」と思えるだろうし、 C++ の hello world を見たとき「やっぱりそうか……」となるかもしれない
べつに初学者向けの整数表示の話では整数以外の型の存在も未定義動作の概念もフォーマット文字列が実行時にパースされることの仄めかしも必要ないんですが、それを省くことで直観や見通しを得るチャンスは確実に失われていて、そういう「初学者向け」の学習資料が望ましいかというと私は不親切だと思う、ということ
もちろん、「未定義動作とか言ってるけどこれここではどうでもいいよな」と学習者が思える、かつ簡単にスルーできることは大事だと思うし、それを従来の書籍で実現するのは難しいのだろうけど……
@lo48576 ありがとうございます。先ほどは全然文が読めてなかったのですが理解できた気がします。
「重要でないこと」というのは、著者が読者に期待する最終的到達目標に照らして重要でないということだと解釈しましたが、合ってますか?
@lo48576 あ、最終的は本を読み終えた時点のことです
@hnagamin はい、この「重要かどうか」は著者目線での判定です。
読者が著者の想定と多少ずれた目的を設定しているとき (たとえば特定の分野について優先的に偏って知識や土地勘を得ようとしているとき) に、そこへの導線が存在していることは大事かと思います。
道案内されているからといって、交叉路で進むべき道以外の標識をわざわざ隠蔽してほしくないというか。「見るべきはここ」という情報を強調してはほしいが、他の分岐や適用外の標識を隠して見えなくするのは余計なお世話でやりすぎというか。
@lo48576 ありがとうございます。なるほど…一本道(に見せかけた道)を進んだ後で、「さっきは言ってなかったけどこっちに交叉路があります」という提示の仕方は lo48576 さんとしてはアリですか?
たとえば、(Cで)文字列の操作について説明した後で、文字配列に限らない一般の配列が出てくるのような説明順です
@hnagamin よくある形式な気がしますが、「さっき言ってくれれば、もっといろいろな直観や想像を発動しながらここまでの部分を読めたのに……」となるのであまり体験は良くないですね。その分岐を提示されたからといって改めてこれまでの部分を読み直すかというと、すぐにはそこまでしないことが多いでしょうし。
@lo48576 ありがとうございます。かなり理解できた気がします。
この話の後でこれ言うのかなり良くないと思うのですが、タイミングを逃したので言うと、今年の後期にこの順番でCを教える予定なので気になったのです。