わたしとプログラム開発のこと(長文)
2005.05.30 |Category … 雑記
少し、某人から尋ねられたりして、自分の事メモしてみようかなーとか。こう見えても私、もともとはプログラマとか呼ばれる人種だったわけです。職業としてではなく、あくまで趣味として…ですけどね。自分の好きなように好きな事を実現できる。そういった事が好きでやってたかな。
多分、文章長いかも。興味のある方だけどーぞ!
事の始めは、実は小学生の頃。ちょうどパソコンに触りだした頃かな。これを読んでいる何人の人が判るか自信ありませんが、N88-BASICでした。1行ごとにしか編集できないラインエディタで、コンパイラではなくインタプリタでしたのでプログラム全体を自分の頭の中で把握してないと何がなにやら。私の構築の基本は、この時代に確立されたかもしれません。GOSUBが命綱でした。GOTOは悪だね!
その後、MS-DOS環境でやりたいなーと思ったわけです。というよりは、コンパイルして発表できる環境が欲しかった、かな。しかし、MS-DOS環境での開発環境なんて私持ってませんでしたし、当時中学生の私に開発言語なんて買うお金もあるわけがなくて(当時スタンダードだったMS-CやBorland-Cは、9万8000円でした)。そこで、雑誌で見つけたLSI-C 試食版を使ってみる為にC言語をかじった記憶があります。結局この時は、何を作りたいという意欲が特になくて、あんまりC言語は詳しくなかったかな。基礎は判りますけど。
しばらく後、授業で音楽発表をする事になりました。それは、適当な人数で適当に機材を使って発表する、というすごくアバウトな発表会。でも、それに1学期すべての時間を費やすという、今考えてみればものすごく恵まれた環境だったわけです。
その際、私は別の人と一緒になって、何かしでかそうと思いました。当時軽音楽サークルに所属していた私でしたが、普通に楽器を使って何かしても他人と一緒だねー、とその人と話しつつ。そこで、すべてをデジタル化…つまりはMIDI同期による複数音源のシーケンス等を使用と考えたわけです。
しかし、時代が時代。まだWindowsという足音が近づいてはいても実用的ではなった時代です。その時代に、複数の音源と、そしてコーラスに使用するサンプリングを同期させるのは容易なことではありませんでした。何しろ、通常のMIDIシーケンサで行おうとすると処理落ちするんですよ!(苦笑)
そんなわけで、サンプラーにMS-DOS環境でのwaveプレイヤーを使って。当然、MIDI信号で制御できるwaveプレイヤーなんて存在しなかったので、自作です。複数の信号を同時に送信できる制御装置もなかったので、そのプログラムも自作です。
その際に私が取った手段というのが、MASM……そう、アセンブラだったわけです。正確にはx86系アセンブラ、ですね。手探りの状態で、レジスタをいじって、この時はこの状態だからうーんうーん、というのを毎晩繰り広げていたわけです。今考えると悪夢ですね(笑)
それでもその結果、本番で正常に動作して巧くいった時は嬉しかったです。たった二人で、数十台の音源を操作してコーラスや効果音(?)まで使って。そんな事をしていたのは私たちだけだった、というのは目論見どおりでした。「ここまでするのは、後にも先にもあなた達だけやわ…」と卒業して数年後に訪れた際に言われた言葉が、何よりのご褒美です。
ちなみに、今ではWindows上のMIDIシーケンサ一台で実現できる程度の事だと言っておきますね、はい(笑)
そして大学へ。ちょうど、パソコン通信の草の根BBSが(やや)ブームな時でした。ブームからはちょっと遅れてるかもですけど。そこで主に使われていたKT-BBSというホストプログラムがソース公開されていて改造自由だったので、私もそれを改造したりして遊んでみたりしていました。その際に購入したのがTurbo-PASCALという、PASCAL言語です。
これを機にPASCALが気に入り、それからはPASCALを普段使うようになりました。何よりも書いたソースコードの読みやすさが抜群に優れているのが一番好きでしたね。この時期は、PASCALとアセンブラを組み合わせていろいろする事が多かったと思います。何をするにもアセンブラは最強でしたね、やっぱり。
結局、必要に迫られると何でも覚えられる、というのが私の開発言語に対する考えかな。勉強しよう、とか。覚えよう、とかで習得できる技術じゃないと私は思っています。
ちなみに手を出すだけなら、日本語プログラム言語のMindなんかも手を出してたりしますけど、ここでは割愛。あれ中身はC言語と一緒だからね!
時代が止まっているように見えますが、実は私はこの時期を境にプログラムから手を引いています。特にWindows環境が主になってからは、ほとんどしていません。Delphi持ってるけど何度か遊んだ程度ですね。
もう、個人でプログラム作るとか、そういう時代じゃない気がしています。暇つぶしにー、と言って作るには規模が大きくなりすぎですし、手軽さというのが失われていると私は思います。
最近は、手軽に作れるもの…CGI系かな。でも私の使ってる忍者システムさんとか、CGI使えないからあんまり意欲ないかも。何より一番作成意欲が起きないのが、既に誰かが作っているものがほとんどという現状かもしれません。
ちなみにお仕事ではJavaとか。あとWeb言語のColdFusionとか。後者は知らない人のが多いかもね。もっとも、一番よく使う言語はIOS(CiscoSystemsのルータ制御言語)ですけど(苦笑)
…っと、長文長々とスイマセン。つい書き出したら止まらなくなっちゃいました。