先週から今週にかけては、外に出ていることが多く、引きこもりでもなんでもない生活。
そしてやっと今日になって、しばらく引きこもりになれる、と思ったら外は雪混じりの雨。ストーブはあるが節約しながら使うのでそんなに暖かくない。体を動かすこともなければほぼ自分の机の周りで生活ができる。この一瞬だけを見たら廃人だなぁ、と思ってしまったり。
さて、前回に続き、これも自分で仕事をやるのだったら作りたくて仕方のなかったことのご紹介を。
現在、Mac版のストリームラジオ録音ツールというものを作るべく、Macの開発言語の一つ(デファクトなのかな?)である、Objective-Cを駆使してプログラムを書き始めている。なぜかと言われると非常に困るが、単に、「自分が欲しかった」からなのだが。
Objective-Cという名の通り、言語としてはC言語の延長上にあるもの、とかなんとか・・・、詳細はWikipediaにでも載っている通りではあるのだが、何しろ今までC言語は数回くらいしか使ったことがなく(本職はVBAなので)、しかも、C言語の入門書も通して読んだこともなければなんか難しくて途中で挫折したこともあるので、果たして作れるものだろうか、と不安になりながら作り始めた。
そもそも、プログラムを作るためには「設計」という工程を踏まないといけない、というのはこの手の業界での基本ではある。ただ、「設計」にもいろいろとあり、大企業で使っている業務ソフトなどのように、顧客とのコミュニケーションに使うような細かい設計書を用意したり、「設計書はオレのアタマの中!」的な設計もある。
ただ、何れにせよ「設計」をするにはその前に完成予想図が必要。イメージのラフ画みたいなの。芸術的な建築家(例えば俺の大好きなオスカー・ニーマイヤーとか)は設計図を書く前にイメージ画が存在するはずなのだ。いきなり図面なんぞひくはずがない。
ということで、一番最初にしたことは、作成するその「ツールで何をするのか」ということ。
頭の中にある、アレやりたいコレやりたいを全て吐き出す。自分で作るので限界なし。とにかくやりたいことてんこ盛り。いわゆるブレーンストーミングである。
#実はまだ終わっていなくて、途中で一旦止めてある。
#アイデアはそのあとも産まれるので書き出してあったりなかったり。
そして、そのブレーンストーミングの結果出てきた言の葉たちを一つ一つプログラムに落とし込む作業を行っていく。まとめてプログラムを作るのではなく、一つ一つ。
例えば・・・。
ストリームラジオの録音をする、というのが範囲が大きすぎるので、これは分解する。NHKのラジオを録音したい、とか、J−WAVEを録音したいとか、細かく分解。
では、NHKのラジオを録音する、となると、これは一つのプログラムに落とし込むことができる単位になる(これはプログラムを書く人の目線なので、非プログラマには分かりにくいかもしれないが)。で、とりあえず録音をするためのプログラムを書く。テストする。録音できたらこれでプログラミングの完了。
技術的にいうと、アジャイルプログラミングの技法を使う、ということになるのだが、なにせ単独作業なので、これがアジャイル?とか自分自身では思ってもいなくて、むしろ、「これぞ日曜プログラム」とか「DIYプログラミング」とか言いたい感じではあるが。
ちょっと話が技法の話にずれていったが、そんな細かい単位での開発に、敢えて(というよりは必要に迫られて)未知のプログラム言語を使ってみたのだが、思っていたほど問題は発生しなかった。というのも、プログラムを作るための例だけであればググればいくらでも出てくるので、それを参考にして(パクるところもそれなりにあるが)とにかく書いてみる。そしてエラーが出たらまたググる。それの繰り返し。トライアンドエラー。
自分の中では、プログラムのスキルを上げようとか思ってはおらず、むしろその前段階の企画設計のスキルが大事だと思っているので、とりあえずプログラムは書ければよし。むしろ思っていた企画からの設計フェーズがきちんとプログラムフェーズ以降に引き継がれ、問題が起こらないようになっていればよし、と考えていた。
ゆっくりですがプログラムの公開もしていきますよ。お楽しみに。
・・・とか言ってるうちにさらに新しい企画を思いついてしまった。来週にでも書こうかな。
・・・とか言ってるうちにさらに新しい企画を思いついてしまった。来週にでも書こうかな。
0 件のコメント:
コメントを投稿