ishikorogirl’s blog

いしころガールのブログ!

Beyond Interaction[改訂第2版]を読みました

openFrameworksやVJに興味深々な私にお友達がこの本をお勧めしてくれて、私も面白くてすぐ読んじゃいました。今回はこの本の感想を書きます。

Beyond Interaction[改訂第2版] -クリエイティブ・コーディングのためのopenFrameworks実践ガイド

Beyond Interaction[改訂第2版] -クリエイティブ・コーディングのためのopenFrameworks実践ガイド

全体的な感想

全体的に感じたのはプログラミング初心者をターゲットにわりと丁寧に色々なことが書かれているなーって感じです。「openFramworksはC++なのでこの本を読む前にC++の本を〜〜」と焦る必要は別になくて、ちゃんと「変数」「条件分岐」の説明があったりします。また個人的にびっくりしたのは最初の方でオープンソースの説明があることや、とりあえずプロジェクト作れるようになったからがんばれじゃなくてちゃんとC++のクラスの説明やオブジェクト指向の説明まである程度カバーしていたことです。このバランスはとても難しいと思っていて、◯◯言語入門みたいな本だと「これは難しいのでとりあえずおまじないとして覚えておいてください」と説明をしないことがあります。初心者だって「おまじない?でもでもこれどういうことなの〜〜」となる方は多いと思いますが、本当に詳細まで説明してしまうと話が逸れてしまって、初心者もやる気を失ってしまうかもしれない。難しいですね…。Beyond Interactionはここの部分のバランスは結構良いと思いました。

また、プログラミングを始める方にとっては、やはり自分が何かをして面白いことが起きた!という達成感が大事だと私は考えます。よくある例だと「こういう風に記述するとターミナルにHello, world!という文字列が出力されます」みたいなものですね。これがいくらかわいい文字になろうが、何回出力を繰り返そうが、結局ただの文字列なので多くの人にとってはそこまで面白くはないかなとおもいます。openFrameworksはすごくて、ちょっとコード書くだけでグラフィカルなレスポンスが返ってくる、具体的にいうと図を出したりアニメーションしたり画像や動画をいじったり、キーボードやカメラの入力を使ったり……。とにかく色々なメディアの操作を上手いこと包んであげてデザイナーさんでも簡単にものづくりができるというのはすごいなー!と思いました。確かにC++と聞くと難しそうに思えますが、実際にコードをみるととてもシンプルで、JavaScriptで何かするのと同じ気持ちで書いていけそうに思いました。

章ごとの具体的な感想

もう少し詳しい感想も書いてみようと思います。

Chapter 1 openFrameworks入門

ここではopenFrameworksの説明や思想、作例やコミュニティーの話などがありました。導入方法くらいかなーと思ってたところ、オープンソースソフトウェアの説明まであってすごい丁寧だなー!と感じました。DIWO(Do It With Others)精神を大事にしてるみたいで(一人で全部できるもん!じゃなくて、ソースコードを公開しつつみんなでやっていこうみたいな感じ)、良い良いって気持ちになりました。また作例などみてワクワク感が高まってましたっ。

Chapter 2 openFrameworksプログラミング初級編

前半はわりとopenFrameworks導入からプロジェクトの作成方法、図や色の指定方法などよくある感じだねーという感想でした。ただ途中から変数、配列、条件分岐などの説明が入り、あ、これプログラミング入門にも良さそうと思って読み進めてました。最近はこんなに楽しくプログラミングに入門できるんだ!ってね。すごい!と思ってるけど、思ってるけど、今からプログラミング入門しようって人はもっと「プログラミング入門」みたいなタイトルの本を選ぶだろうな…って今ふと思いました。あ、あとここでは基本的に一つのC++ソースファイルにひたすら処理を書いていくという感じで、C++プログラマ的な観点でみるとちょっとやだな、と感じちゃうかもと思いました。でもこれについてはちゃんと次の章で書かれていました。

Chapter 3 openFrameworksプログラミング中級編

openFrameworks自体のソースコードの構造の説明がされていてすごい丁寧と思いました。予想外というか。「setup()やdraw()関数に処理を書いていけばいいんだよー」で終わり、じゃなくて、このファイルはこういう他のファイルをincludeしていて上手いこと分割されていて〜みたいな説明が入ってました。またC++のクラスの説明もあり、自分で定義したBallクラスは別のファイルにわけてみましょうとかちゃんとしてるなーって感じました。途中動的配列としていきなりC++vectorという概念が出てきてちょっと急だなと感じましたが、まあまあ。

Chapter 4 openFrameworksケーススタディ

とにかく様々なわくわくする例やソースコードが載ってました。2章と3章を理解すればあとはリファレンスなどみつつアイデアさえあれば作れるような気がするので、こういう例とか助かりますね。実際私もアイデアさえあれば何か作れそうって気持ちでいっぱいです。VJがしたいのでVJ用の何かをつくろうかなーって今思ってます。ケーススタディの中でもVJの例があってよかった。

まとめ

  • プログラミング初心者はopenFrameworksから入門すると心折れないかも!Beyond Interaction結構よかったよ!
  • Beyond Interactionいろいろと丁寧だった!
  • はやくopenFrameworksで面白い何かを作りたい!