間違いというわけではないが英訳の際に「元の日本語が不明瞭」と感じたところを修正している。 長くなったので2章以降はこちら
diff:4.3
- 残りの部分は、Fより上の「速い読み方」と下の「遅い読み方」とに分かれます。「見つける」と「組み立てる」のグラデーションで考えると、速い読み方は見つけるほうに重点があります。この見つける読み方を学ぶうえで既存の速読術が参考になるので、2つの速読術を紹介します。
+ 残りの部分は、Fより上の「速い読み方」と、Fより下の「遅い読み方」とに分かれます。読書には「情報を見つける」と「理解を組み立てる」の2つの目的があります。速い読み方は、情報を見つけるほうに重点を置いています。どうやって情報を見つけるかを学ぶために、既存の速読術が参考になります。なので、以下では2つの速読術を紹介します。
diff:4.3 before
[* レベル1(25分)]
本全体に目を通して、目次、各章の見出し、小見出しをチェックする
もう一度本全体に目を通しながらマーク1を探してそこだけを読む
[* レベル2(+30分)]
もう一度本全体に目を通しながらマーク2を探してそこだけを読む
[* レベル3(+45~90分)]
もう一度本全体に目を通し、見出し、小見出しをチェックしながら、マーク3を探してそこだけを読む。
diff:4.3 after
[* レベル1(25分)]
まず、目次、各章の見出し、小見出しをチェックする。
次に、本全体からマーク1のついた段落を探し、それだけを読む。
[* レベル2(+30分)]
さらに、本全体からマーク2のついた段落を探し、それだけを読む。
[* レベル3(+45~90分)]
改めて、見出し、小見出しをチェックしながら、マーク3のついた段落を探し、それだけを読む。
そもそも「全体に目を通しながらXする」が不明瞭な表現であって、実際に何が行われているかを考えた時には「全体に目を通しながらXする」ではなく「書籍の全体を対象にXを行う」だと判断した。
「見出し、小見出しをチェックする」と「マーク3のついた段落を探す」は同時並列で行うことが可能なのだが、どう説明するのがわかりやすいだろうか?
0.3 この本の流れ diff:0.3
- 第1章「新しいことを学ぶには」では、正解のないことをどうすれば学べるのかについて考えます。丸暗記ではなく、状況に合わせた応用ができるようになるために、サイクルを回して学んでいく方法を詳しく解説します。
+ 第1章は「新しいことを学ぶには」です。答えを覚えるだけでは、状況に合わせた応用をできるようにはなりません。応用力を身につけるために、情報収集、抽象化、実践、の3フェーズのサイクルを回していく必要があります。この章では、各フェーズについて詳しく掘り下げます。
この解説だったらタイトルは「応用力を身につけるには」が良いのでは?
diff:0.3
- 本を買いすぎて、山積みになってしまう人も多いのではないでしょうか?
+ たくさん本を買いすぎて、読まないままになっていませんか?
「山積みになっている」だと、物理的にかさばることが問題だと言っているように見える。 重要なのはそこではない(電子書籍で買っても問題は同じ) 書籍を買ったけども、読むことに対する心理的ハードルが高いことによって読み始めることをせず「買ったけど読んでいない本」が溜まってしまうことが問題。読んでない本が保存されていても価値を生まない。
diff:0.3
- しかし、私はhowよりもwhatのほうが大事な問いだと考えています。第7章「何を学ぶかを決めるには」では、この問いについて考えていきます。
+ しかし、私はどう学ぶかを工夫するよりも、何を学ぶかを決めることのほうが大事と考えています。第7章「何を学ぶかを決めるには」では、何を学ぶかを決めるための意思決定戦略について解説します。
「この問いについて考える」は曖昧なので具体的にした。 日本語文中だとhowやwhatはキーワード的見かけなので実害が少ないが、英文中だと開いた方が読みやすい。
diff:0.1.1
- 私は、自ら新しい知識を生み出すことが、価値の高い知的生産のために重要だと考えています。
+ 価値の高い知的生産のためには、自ら新しい知識を生み出すことが重要です。
diff:0.2.1
- また読むだけではなく、まねて入力するテクニック「写経」もよく使われています。
+ 日本では「写経」と呼ばれるテクニックもよく使われます。
+ (脚注:「写経」は当初は東アジアにおける仏教徒の訓練の一種で、経典を手で書き写すことを指す。当初は一言一句変えずに書くことが重視されたが、今日プログラミング教育の文脈では、単に短いコードを読んで、それをコンピュータに入力し、実行して挙動を見ることを指します。)
- 本書でもいくつもの知的生産にまつわる課題とその解決策を紹介します。これはプログラミングのサンプルコードのようなものです。
+ プログラミングの教科書は、課題と、それを解決するプログラムを紹介します。本書は、知的生産にまつわる課題とその解決策を紹介します。同じ構造です。
diff:0.2.2
- この本では、知的生産術を比較することで、みなさんが自分の中に知的生産術のモデルを作ることを手助けしたいと思っています。
+ この本では、複数の知的生産術を比較することで、みなさんが知的生産術の共通パターンを発見することを手助けしたいと思っています。
節タイトルは「抽象化してモデルを作る」だけど、このタイミングで多義的で混乱を招きやすい「モデル」という言葉を出すより、パターン発見の方が良いのではないか。 Abstract and make modelsをCompare and find patternsにした [/intellitech-en/0.2.2 Compare and find patterns](https://scrapbox.io/intellitech-en/0.2.2 Compare and find patterns)
0.2.3 :
- さて、ここまでであなたはパターンを見いだし、「PythonでBye, world!と出力したい場合には、こう書けばよいのではないか?」と思い付く能力を手に入れました。
+ PythonでBye, world!と出力したい場合にはどうすれば良いでしょうか?あなたはパターンを見出したことによって、以下のコードを思いつく能力を手に入れました。
「例える」が英語だと「compare」に対応づけられたのだけども、これはしっくりこないなぁ
情報収集は箱を集めるイメージです。ここでは情報を箱にたとえています。情報収集は、たくさんの箱を集めて並べていく作業です。 情報収集は、たくさんの箱を集めて並べていく作業です。ここでは箱のメタファーで情報を表現しています。
- たとえば本に書かれている文章は、文字にする段階で著者の具体的な経験からいろいろな情報がそぎ落とされ、抽象的な情報になっています。
- 例えば、書籍に書かれたコンセプトについて考えてみましょう。本を書く前に著者は色々な具体的な経験をしてます。しかし書籍にする過程で、全てを書くことはできず、具体的な情報の大部分がそぎ落とされます。
- 数学では箱を正確に積み上げられるが、そのほかの分野では崩れてしまう
updated: 第4刷に向けての修正差分#5d6b7623aff09e0000258c32
- タプルとリストはよく似ています。
- リストとタプルはよく似ています。 出現順に合わせた
第3版までに修正済み
何が違うのかを調べてみたり
複雑な文の分解と、基準の明確化
1.3
1.2.1
生徒としての学びと大学からの学びの違い このタイトルを英語に訳しにくい 図や本文には「受動的な学びと能動的な学び」って言葉を使っているが... 仮に"student learning and university learning"になっているが、日本語では「生徒」と「学生」が区別されるのに対して、英語では大学生もstudentだから適当ではない。
before university / from university という案もある。 その場合は日本語の方は「大学までの学びと大学からの学び」になるか。
仮にあなたが社会人で、今「学んだほうがよいんだけどな」と思っていることがあるとしましょう。 +仮にあなたが社会人で、今何か学んだほうがよいと思っていることがあるとしましょう。
プログラミング言語の学習も同じことで、どこまで進んだら「マスターできた」という実感が得られるのか不明確です。
「大学に入り直す」という表現を使ってきたけども、1回も大学に入っていない人もいるので「大学に入る」が良いように思った。
「社会的証明」という言葉を説明していない
「目標=ゴール」だが、周囲全体を見て不必要に表現が揺れないようにした方が良いかもしれない 日本語のタイトルは「目標が達成可能である」だが、英語だと「Goal is achievable」になっている。 使い分けるなら使い分けを明記する必要があるが、特に使い分けの必要は感じない。
最初からではなくてもよくない
文が複雑。
-紙の本の時代は、全体像を把握し「このあたりにあるはずだ」と考えられる能力がとても重要でした。 +紙の本の時代は、全体像を把握することがとても重要でした。検索コストが高く、求める情報がどの辺りにあるか絞り込むことが必要だったからです。
図の追加 ここまで訳して、情報収集の3つの方法について絵がないのが寂しいと感じたので描いた 括り出した: 情報収拾の3つの方法の図
「ゴールの代わりに〜大まかな構造を頭に入れようとした」だと、ゴールを頭に入れようとしていたみたいなので。
より具体的にした
+大雑把に情報収集できないなら、片っ端からやるしかありません。 +大雑把に全体像の把握しようとして目次を読んでも、何もわからないことがあります。この現象は、新しいものを学ぶ時にはしばしば起こります。これは、理解を組み立てるための材料が足りていないことによって起こります。 +目次に書かれている言葉は、しばしば、すでに抽象化がされています。もしあなたがその抽象化された概念を支えることのできる知識を持っていなければ、目次を読んでもそれを理解することができません。 +私たちはしばしば、何から学べば効率が良いかを考えてしまいます。しかし、何から学べば効率が良いかを判断する材料すら持っていない時に、それを考えようとすることは時間の浪費です。まずは材料を手に入れることが必要です。
「あなたが効率的な学びをできない最悪の場合でも、25時間写経を続けるれば教科書を1冊写したという実績が得られる」という見積りができることで、漠然と「読んでもさっぱりわからないけど頑張って学ばなきゃいけない」と思っている状態よりも、やる気を維持しやすくなります。 Wordy
凄腕のプログラマーは、プログラムにトラブルが起きたときに、実際のソースコードを見る前に「こういう処理のあたりに問題があるのではないか」と予想して、正しく当てることがあります。これはなぜできるのでしょうか?
モデルは、現実世界のしくみを説明するための簡素化された表現です。 これ、直前の段落から直接繋がっているけど、次のモジュールの節と同じようにもう一段階分割した方が良いように思う
思考の節約のためにモデルを使う
モデルは、現実世界のしくみを説明するための簡素化された表現です。現実世界で起きている現象は複雑なので、人間の限られた認知能力でも扱えるように、重要でない部分を削ぎ落としてシンプルにするわけです。たとえば高校物理では空気抵抗や摩擦はないものとします。現実世界には存在する空気抵抗や摩擦を無視して問題をシンプルにし、高校生が扱えるようにしているわけです。
モデルは現実の一部を抜き出したものなので、現実と完全一致はしません。このことを指して「すべてのモデルは間違っている」注31と言います。
モデルを使うと低コストで実験ができる
モデルの価値は、現実との一致度ではありません。モデルの操作が、現実を直接操作することに比べてどれくらい低コストになるかです注32。
特に数式を使って表現されたモデルのことを「数理モデル」と言います。数式やプログラムの形でモデルを作ると、実験がやりやすくなります。物理的な実験装置などが必要ないからです。
凄腕のプログラマーは、プログラムにトラブルが起きたときに、実際のソースコードを見る前に「こういう処理のあたりに問題があるのではないか」と予想して、正しく当てることがあります。これはなぜできるのでしょうか?彼の脳内にはそのプログラムのモデルがあり、そのモデルのいろいろな場所を壊したときにどんな現象が起きるかを脳内で実験できるのです。そして壊した結果として起きる現象が、実際に観測された事実に似ているものを選び出しているのです。
切り分ける過程で文章の順番が入れ替わった
現実には、完全に同じもの、とてもよく似ていて大部分同じだけど少しだけ違うもの、ほとんど似ていないけども少しだけ共通部分のあるもの、完全に違うもの、とグラデーションになっています。
英訳するとかなりまどろっこしい。
ここでいう「新しい気づき」とはpattern discoveryのこと
図を描いた
共通部分を見つけるのはとっつきやすいのですが、「あれも似ている、これも似ている」と単に情報を集めただけにもなりやすいです。ある程度慣れてきたら、違いに注目したり、一見矛盾しているように見えるものについて考えると、考えが進みやすいです。
「よい」が曖昧
-プログラミングの学習は、とても検証がやりやすい分野です。...ものづくりという点で似ている、木工で椅子を作ることと比べてみましょう。...もう一つ、絵を描くことと比べてみましょう。
Let's compare with the understanding in other domain. Woodworking is an act similar to programming in that it is to make things.
ここではアインシュタインの考えとこの本の間がの対応を説明しているので、アインシュタインの用語ではなくこの本の用語で説明したほうがいい。
+「作って検証」(★ページ)では、プログラムを作ることによってあなたの理解を検証する話をしました。理解は公理Aに対応します。あなたは自分の理解に基づいて、具体的なプログラムを作ります。これが具体的な主張Sに対応します。次に、あなたはこのプログラムが期待した通りに動くかどうかを観察します。プログラムの具体的な挙動は直接経験Eに対応していて、それと照らし合わせることによって検証するわけです。