プログラミング言語の入門書はプログラミングの入門書ではないのでプログラミングできるようにならない

(これはPR記事です)
「入門書を読んだけどプログラミングできるようにならない」という話はよく聞きます。

そこで「まあ経験や慣れが必要だからね」みたいな話になり、その後、経験を積んでもできるようにならない人は「センスがなかった」ということになったりします。
じゃあそのセンスっていうのは何かというと、結局のところ「できるようになった人にはセンスがあった」という生存者バイアスなだけで、運とそんなに違いないわけです。

でも、トップレベルを目指すとかではない限り、それなりの知識とトレーニングがあればほとんどの人はプログラミングできるようになるはずです。

で、まあ入門書を読んでプログラミングできるようにならないほは当然で、プログラミング言語の入門書のほとんどは、プログラミング言語の入門書であってプログラミングの入門書ではありません。

変数の説明にしても、箱だったり場所だったりで例えて「それが何であるか」の説明をがんばったりするのだけど、じゃあ実際どう使うかというのは説明してくれません。
プログラムで一番難しいのはループですが、ループの構文の説明があるだけで、ループのコードをどのように考えていく必要があるかというのは説明されてません。
クラスにしてもオブジェクト指向というなにやら壮大な言葉をもってきて、これがオブジェクト指向ですというプログラムを提示するのだけど、じゃあそのコードを実際のプログラミングでどう使うの?っていうのはわかりにくいわけです。「プログラミングはオブジェクト指向でやるから!」みたいにケムにまかれ、でも実際はオブジェクト指向でやらないのでそんなコードは出番がない。

ということで、変数の使い方をちゃんと提示していたり*1 、ループがどのように難しくなるか説明していたり、クラスの使い方を差分プログラミングとデータの分類にわけて説明したりしてる本が3/19に出るわけですね。

FAQ
Q 電子版はでますか?
A 紙版のあとに出る予定

Q 目次等は?
A もうしばらくお待ちを

*1:変数の使い方は、もうすこし整理できればと思ったけど紙面の都合でな・・・提示は している