ポスト技術書時代のプログラム関連の学習
最近はいろいろな技術や洞察が、本にならずに広まっていると思う。 以前は新しく学ぶ時にこれじゃ大変だろうな、と心配していたが、 最近は自分は新しく学ぶ人じゃないから別にいっか、という気がしてきた。 こういう問題は当事者が解決する方がいいやね。
で、技術書では無いなら何から学ぶか、みたいな話をちょっと書いてみる。
情報ソース
大きくは
- 公式ドキュメント
- ソースコード読み
- 動画
- 技術ブログ記事
がメインになってきている気がする。
公式ドキュメント
公式ドキュメントは最近は結構量がある物が増えてきた。 しかもちゃんとわかっている人が書いている事が多いので、 これを読むのに時間を掛けるのはかなり効率が良い。
豊富にドキュメントがある時にはドキュメントを頑張って読む、というのは勉強する良い方法だな、と思っている。
ソースコード読み
最近はソースコードを読む事から学ぶ事が増えた気がする。 ソースコード読みは高い技能を必要として出来る人はかなり少ないと思っているのだが、 ソースコードを読む事でしか得られない知識でありながら高いレベルのプログラマの間で常識とされている事は随分と増えてきた気がする。
ソースコードを読む事でしかわからない事を自然言語でちゃんと書いて共有した方がいいんじゃないか、 という気もしていて、自分は割とやっている方でもあるが(結構ページ数の多い本も書いたし)、 いいからコード読めや、で終わらせておく方がいいのかもしれない、という気持ちもちょっとある。
動画
最近増えたのはカンファレンスとかの動画。 本の代わりという程では無いけれど、重要な情報の幾つかは動画から得ている。 考えてみると、Channel 9をPSPで観始めた頃くらいからこのトレンドは進んでいるので、 14年前くらいからこの比率は上がっている気がする。
以前は本で得ていたような知識は、最近はだいぶカンファレンス動画に置き換わったなぁ、と思う。
最近は特定のチャンネルとかカンファレンスをいろいろ見る、という見方よりも、 話題単体で行き当たった動画を見る、という感じで情報を得る機会が増えた気がする。
カンファレンスとかを一通り見るのは最新の話題を知りたいケースが多いと思うのだけど、 そういうのだけじゃなくてもっと新規性は別に無いけど重要な技術の話とかを単発の動画で見る事が増えていて、 それが技術書を代替しているように感じる度合いを増やしている。
結構長いカンファレンス動画とかを何本も見るのは、それなりに英語力も要求される所だよなぁ。 昔は読めて書ければなんとかやっていける感じだったが、最近の動画からしか得られない情報を考えると、リスニングの重要度も大分上がってしまった気がする。 自分は割と得意な方なのでそんなに困難は感じてないが、それでもあまり聞き取れない人とかも中には居る。
技術ブログ記事
Message Passingのよむもの探し@karino2でも書いた話だが、 最近は長いブログ記事を読む機会が増えた。 昔は書籍で学んでいたプラクティスの類は大分この手のブログからに変わってきた気がする。
昔のように人でフォローするんじゃなくて、単発ブログ記事とその周辺をたくさん読むようになった。 ちょくちょく同じ人を何度も見たりはするんだけど。 最近は様々なブログの単発記事をまとめてInstapaperで読んでいて、 全部まとめて一冊の本みたいな感覚になっている気がする。オムニバス的というか。
以前よりも個々の記事の分量が多いので、日常的に流れてくるものを日々読む、というよりは、 普段から集めておいて、 週末とかに時間をとってじっくり読む、みたいな読み方に変わってきた気がする。 この辺が書籍を置き換えたな、という感じがする所かもしれない。
副作用としては、一つの体系化した形で分類されずに、個々の話が独立に皆の中にあるようになってしまった気がする。 他人が同じ事を知っているかどうかを、XXXの本を読んだか、で判定出来なくて、 個々にいちいち確認しないと会話が出来ない。 また、同じ物を読んだ保証も無いので、本当に同じ事を話しているのかも怪しい。
ただ、現実問題として、まぁだいたいみんな同じような事を知ってるからいいか、みたいな気はする。
また、こういうのは全然日本語化されないので、英語の読解力は昔よりも要求されるようになった気がする。 必要な事を読めるだけじゃなくて、必要かどうかわからない雑談的な物もたくさん読んでいくためには、一段上の英語読解力というか、簡単な英文を楽に量を読む能力を要求される気がする。
こうしてみると、なんか全体的に英語依存度上がった気がするけれど、どうなんですかね?
BOOXとInstapaperの話
何度かしている話だが、この公式ドキュメントや長い技術ブログ記事をいろいろ読む、というのに、BOOX Note3の果たしている役割はとても多い。 Instapaperで普段から集めておいて、 どこかで時間を取ってこれを読む。 この体験が書籍を置き換えている感がある。
本で無いものを本のように読めるようにする事で、書籍化されなくなった問題を緩和している気がする。 文書を読むという楽しみは相変わらず味わえているというか。 Instapaperで自分だけのオムニバス書籍を作っている感じがする。
この辺が、書籍化されなくなってきた事が「問題だ」と感じなくなってきて、「まぁいっか」と感じるようになってきた理由かもしれない。
全体的に学ぶべき事は曖昧になり、日常の中にまぎれてきた気がする
kzysブログからIn defense of blub studiesを読んで思ったのだが、 普段使っている物を詳しく調べる、というのは、現代的な物の学び方だな、という気がする。 これは実務で使っていないものを語るのを自分が嫌う理由にもなっていると思う。 こういう、今使っているものを深堀りする、みたいなのは、 使っているものが人それぞれなので、マニュアル化してみんなにやらせる、みたいなのが難しい。
ブログを読むとか動画を見るとかも、どのブログを読むべきか、とか、 どの動画を見るべきか、とかがあまり決まって無くて、blub study的に何か自分の必要とか興味によって偶然見かけた物を積み重ねた物になっている。 書籍の場合は「まずこれ読んで次にこれ読んでそのあとこういう方面の人はこれ、こういう方面の人はこれ」という感じで、 割と簡単にカリキュラム化してやるべき事を示せたと思うが、 最近はこういうのは難しくなってきている気がする。
ただ一方で、これは本質的にもともとそういう物だったのを、誤って分かりやすくしすぎる事で切り出していたという側面もある気がしていて、現在の方がより本質に近いのかもしれない。
新規に参入してくる人がどう学ぶべきか、というのは良く分からないが、 我々古参としては、公式ドキュメントとかブログの記事とかソースコード読みとか動画とかを幅広く見ていく事で必要な事を学んで行けていて、 昔よりも学ぶ効率が落ちたという気もあまりしないので、 これはこれで機能しているのでは無いか、という気がする。