「コーディングを支える技術」を読んで | プログラマーとしての日記
- 歴史上、プログラム言語に取り入れられてきたさまざまな基本概念について、解説した本。
この本で解説される基本概念というのはかなり抽象的なもので、
分岐、関数、型などを含みます。
しかし、そのようなかなり抽象的なものについての説明なのに、
解説は低レベルな実装よりのものになっています。
その言語機能のない言語であえて実装をしてみることによって、
言語機能の便利さを解説するという解説が多いです。
なぜこういう書き方をしているのかというと、
どうもこう書くのがわかりやすいから、というのが理由のようです。
いや、それわかりやすいかなあ。
今どきクラスがわからなくて、
クラスという言語機能をクラスを使わずに実装してみたらわかった、という人が、
どれだけいるのでしょうか。
クラスならまだしも、分岐までそうやって低レベルのほうから説明しようとして、、
アセンブリ言語まで持ち出すはめになっていますし。
確かに技術者には、そういう実装よりの説明がないとわからないという人はいるわけですが、
さすがに少数派ではあるのではないでしょうか。
そもそもそういう実装よりの話から理解できたと思った人が、、
それが抽象的なことを理解したことになるのか?という疑問もありますし。
もちろん理解できている人もいるでしょうが、できているつもりになっているだけの人も多い気がする。
ということで。
この本のコンセプトそのものには、どうも首をひねりたくなるのですが。
とはいえ、この本に価値がないといっているわけではありません。
抽象的なことを使いこなし、本当に上級者になる前には、
結局は実装よりな部分も深めて理解しておく必要はあります。
そういう部分は実際にいろいろな点について、深く考察しないとわかりませんし。
歴史的なことをよく調べる必要もあります。
歴史的な部分っていうのはググっても調べにくいんですよね。
そういう部分について簡潔にまとめた本は貴重です。
上級者は手元に置いておいて、たまに流し読みをして復習に、という使い方をするなら、
非常に役に立つ本だといえると思います。
逆に、ベテランが若い人に、こういう本を読んで本質を理解するべきとか言って渡すのは、
典型的に間違った教育方法なので辞めたほうがいいと思います。
ベテランは若い人にそういう学び方をしてほしくなるものですが。たぶんそれは間違い。
コーディングを支える技術 ~成り立ちから学ぶプログラミング作法 (WEB+DB PRESS p.../技術評論社

- ¥2,668
- Amazon.co.jp

