高い、そして高い
売られているIT関連の書籍は高い。たいていは2,000円以上、中には6,000円もしたりする。僕が購入した書籍の中で一番高かったのは「ラピッドデベロップメント」で8,000円である。内容は、価格に見合ったものなので、これはこれで良かったと思っている。今売られている書籍の中で価格に見合わない内容のものもある。まあ、これは主観的なものなので一様に当てはまらないだろう。
書籍が高いのは、しかたがない部分もある。専門的になればなるほど売れにくいからである。本を作って売るのは、出版社から見れば先行投資である。回収できなければ意味がない。売れにくいのなら価格を上げるということになる。まあ、売らなければいいじゃんと思うかもしれないが、利益を上げなければ、会社の存続にも影響する。そのあたりは大人の事情であろう。
内容が難しくなる、もしくはやさしくなるかどうかは、執筆者の文章力・構成力と編集によることが大きい。わかりやすくしようとしても、あまりにもかみくだいた表現は逆にわかりにくくなったりする。そのあたりが、難しいところではある。どうしたらよいかというと、はっきりと読者の対象条件をはっきりさせることである。まだまだ、はっきりとしていない書籍も多い。あと、出版社もタイトルを、〇〇入門とつけておきながら、読んでみたら読者の対象条件がついていたりする。本来は、〇〇経験者のための〇〇入門とすべきであろう。まあ、出版社から見れば、入門とつけていれば購入してくれるし、あとは知ったことではないということだろうか。疑問が残る。
構成力も問題となることがある。たとえば、〇〇をインストールをしてみようという章でありながら、〇〇とは、などと記載している書籍がある。こういったこともわかりにくさを助長していると言ってよい。〇〇とはなどは、別に章を立てて解説すればよい。また、これもできるよと解説しておきながら、その章の最後で、ちゃぶ台返し的に、今はいらないなどとしていたりする。だったら今書かないで、後からでも良かったのではないのかと思うのである。
また、なんでもかんでも詰めてしまっているものもある。コードが山ほど詰まっており、解説なんて僅かなものになってしまっているので、入門書としては失格である。僕が、担当編集なら、ボツまではいかないにしても、整理させるだろう。経験者を対象としているといっても、限度があるのである。典型的な悪い例である。
とかく、スキルの高い人ほど、なんでもかんでもしゃべりがちであり、教えたがりな人が多いような気がする。別に悪くはないのだが、内容が整理整頓されていないために話が見えにくいのが欠点である。よい選手がよいコーチや監督にならないといわれるように、指導力は別なのである。編集者がそれをサポートすればよいのであるが、実際はどうなのだろうか。
ここからはVue.jsの入門書を作るとして考えてみよう。Vue.jsは比較的ハードルの低いフレームワークである。なにせ、HTMLの<script>タグ内にCDNを記述するだけで、開発することができるからだ。あとは、JavaScriptで記述の仕方を学習するだけで済む。
JavaScript経験者のためのVue.jsの入門書を作る場合は、全体を10とすると6が基礎、残りの4を応用として構成する。やってはいけないのが、基礎が3、応用が7というやり方だ。これでは入門という立場から考えた場合、ハードルが高くなる。基礎ぐらい知っているのは当然だろうではダメなのである。
基礎では、Vue.jsのインストールから、書き方、バインディング、プロパティ、メソッド、データなどの使い方やどういったときに使うのかといったことを例題を上げながらしっかりと解説していく。基礎だけでも動的なサイト開発ができるようになることが目的である。いっておくが、Vue.jsを学習する際に、課題として手垢のついたTODOリストがあるが、基礎における実践課題としては、何の役にも立たない。それはあくまでも練習課題である。
応用では、Webアプリケーション開発するための手法を解説する。ほかのJavaScriptフレームワークを組み合わせることもある。ここでは、ひとつのサイトをWebアプリケーション化することが目的である。基礎や応用とも、サイトデータをサンプルとして提供し、実装について学習できるようにすることである。
書籍としては2部作となる。JavaScriptおよびTypeScriptの入門書を含めれば3部作になるだろう。構成を明確にしておくとわかりやすくなる。一番悪いのは、書いてある内容が基礎的なことなのか応用的なことなのかはっきりしていないことである。あれも書きたいこれも書きたいということはわかるが、きっちりしてほしいというのが、読む側からの正直な気持ちである。情報多量による混乱はゴメンだ。
Web系のプログラミング学習している人をみると、学習につぐ学習で、いつアウトプットして実装するのか聞いてみたいものである。個人的に言えば、ひととおり全部学習してからというのは、ダメなやり方である。HTMLとCSSを学んだら、アウトプットとして、課題サイトではない自分の静的サイトを作ることだ。そこからJavaScriptやPHP、フレームワークと言ったものを学習していけばよい。全部覚えないとできないのではなく、全部覚えようとするからできないのである。
最後に価格は高く、ハードルは高いということを述べて終わりにする。