プログラミングの魔導書 最遅レビュー

株式会社ロングゲート

どこで買うんですか?

http://longgate.co.jp/products.html

今日8月6日予約締め切りです。

こんなレビュー読む暇があったらちゃんと書籍版(!)を注文をした後にタブを閉じて、恐らくその分の時間でTAS動画を見た方が良いです・・・。

レビュー

今回のレビューのお話は、@hiroki_fさん経由です。( http://d.hatena.ne.jp/hiroki_f/20100725 )

まずそもそもなんですが、ぼくはそのなんていうか、C++は全然知らないのでハイ・・・。御免なさい!!!

それから、この「プログラミングの魔導書」というのはC++の事しか書かれない本だと思っていたのですが、そういうわけでもないようです。したがって、ぼくがレビューをしても問題無いのかもしれません。

いきなりですが、Vol1はC++C++って感じなのでやっぱりC++の本です。

目次は上記リンクにあるので書きませんが、それぞれの人にとって気になるタイトルがあると思います。

しかし、すっぽすっぽ先生へのインタビューは皆気にならざるを得ないわけです。
すっぽすっぽ先生自身の語るC++というのは、ぼくは「C++の設計と進化」(D&Eで良く知られているようです)で述べていた部分しか知りません。Final Commitee Draftが出された今、つまりリアルなC++0xにどの様な思いを持っているのか、が気になります。ぼくは。

皆さんの関心事が、インタビュー記事中にあるかどうかは買ってから確認してください。

マルチメソッドの話は本当に好きだよなぁって感じとはぼくは思いましたけど。
あとナイスでーす言語ではマルチメソッドがあるぽんなんじゃないかなぁと思いました。http://nice.sourceforge.net/visitor.html
何のことでしょうね。

boost::serializationの紹介 前編

は大変面白いお話です。
JavaのSerializableあたりと比べるとどうなってるのかなーというのが気になるお話です!
まぁ、ぼくはこの記事を読んで初めてserialize使ったダメの子なんですが・・・。
わりとシリアライズって出来ないとムカつく系の話で、ところがほげ言語をシリアライズするっていうのは全く一筋縄で行く話じゃないので難しいとこです。しかもC++とか沼すぎるんじゃないですか?

勿論制約もあって、何でもかんでも簡単に直列化出来るわけでもないですけど、環境を切り離した時の意味を考える事にも自然に繋がって、いやそういうのは良くてぼくだとちょっと容易な実装が想像出来ないようなケースとか簡単に作れる気がするので、どゆ風に実装して解決してるのか見たい気持ちがふつふつと。あと後編も楽しみです。

Chronoライブラリで考える型システム

の型システムはなんていうかいわゆるTheoreticalなType Systemでなくて、

uint32_t このぐらいのおっぱいが好き = 72;

として、時には

このぐらいのおっぱいが好き = 74;

をしたりして幸せな気持ちになったりしている所に、反逆者によって

このぐらいのおっぱいが好き = 100;

とされた日には、おひすが戦場です。

普通はこういう事が起こってしまう前に、uint32_tのsubtypeとしてuint32_t_subなるものを作って、

typedef uint32_t_sub<70,76> chippai;

として大切なものを守らなければなりません。
いや、そういう話じゃない!!
Chronoは無理なく、自然に適切な型をtemplateを便利に使って定義出来ている大変良い例になっている事を教えてくれます。記事を読んでください。

オーブンレンジクッキング

を読んだら、四の五の言わずに実装を見なければならない!!!!どうやったのかなーというか、
少し選択肢があるはずで、どれに落ち着いてるんだろうっていう。
それかぼくが想像しないおもろい実装になってるのかもしれないwktkという気持ちにしかならないですし、じゃあレビューとかじゃなくてコードを読もうって感じですがレビューなのでここから日本語があやしくなります。
某AlexandrescuさんがMust Goと言ってからこんなにRangeが出て来てすごいなーと思ってたのですが、そういうわけでもなかったのですね。

http://longgate.co.jp/grimoire_pics/oven2.jpg

にちらと遅延評価がーと書いているのが見えるですが、どうも普通に使えるっぽくてアレ・・・これはおかしいぞ・・・みたいな。
C++iteratorの思想とかそもそも良く分かってないけどSTLに迎合して使ってるぼくとかは普通にこっちで良いです。
良い記事過ぎますよコレは。

他には"C++の歴史"のinstantiationのお話かなーという。色々名前がついてたのは知らなかったです。

残りの記事については、多分レビューじゃなくて感想を書きまくってしまうだけになるに違いないので、発売されるまで書けません。

最後に

多分なんというか今号は、C++を仕事で使ってるアリエナイ人とか、C++で白米がぺろぺろぺろぺろという人達からしてみると当たり前の話なんじゃないかなーと思うんですが、C++は仕事で使わないし、白米には明太子って人からすると当たり前じゃないので良い事です。

恐らくブログなどで既に書かれた話もあるかと思うのですが、そういった記事を発見するのは実はその付近(今回だとC++の周り)に居る、もしくは、かなりやる気が無いと結構難しいです。
ですから、こうやって纏まって出てくれると、どう考えても読んでしまうので嬉しいなっていうのはあると思います。

気楽さ、という点で行くと勿論ばーっとネット上に書いておいここが間違ってるやんけー!というのは確かに気楽だと思うのですが、キチンと書かないといけないという微妙なプレッシャーがある事も大事だと思います。多分。
ぼくは普段そういうちゃんと書こうみたいな事をちゃんと考える事はないので、縛りがあるのは逆に大事だということぐらいは何となく分かります。


いやまぁそういうありきたりな話は良いです。


そうじゃなくて、書籍を作ってる人が本当にプログラミングをしている人で、一方的にですけどtwitterで知ってるっていうのは親近感のようなものが勝手に発生して良いなと思ったのでした。
親近感とか何の役に立つんですか?っていう事ですけど、おいこの俺の記事を載せろ!!とか少し言いやすくて良いんじゃないかなぁという。
当然言われたから載せるわけでもないでしょうけど、皆書きたいお話は色々とあると思うので。

気になる点はやはり、"創刊に向けて"にも書かれていた通りなのですが、内容に関する質問などをどう扱うかという事ですね。実際に発売されると、何かしらの流れが発生すると思うのですが、どうなるのか楽しみです。

最後にはVolume2の予告もありますが、次号も楽しみです。