2007年8月5日日曜日

時は満ちた!

昨日台風でお休みしたので、今日は挽回と言うことで休日出勤。
休日は誰もいないからステレオ音量最大ではっはーんと音楽聞けるのでお気楽しゃんしゃん。
と思ってたんですが午後になって後輩登場。まー気にせず音楽聞いてましたが(ぁ 途中で自分の作業が飽きてきたので後輩の進捗具合を聞くフリをして世間話へ(ぉ
そこでまーだべくってましたらなんと教授が登場。うちの教授は休日だろうと基本的に毎日来てらっしゃるのは知っていたので登場すること自体はそんなに驚かなかったのですが、来た理由に驚き。
なんと、C言語についての質問でした。私が学部生の頃から「C言語覚えたい覚えたい」と仰ってましたが、忙しくて実践できず。今日になっていよいよ実践に入ったと言うことらしいです。
「1日で覚えるC言語」
と言う本を実践しているようで、ほんとに1日で片付けてました(笑) よーやるわ・・・。その本によるとexit()関数はstdlib.hを呼び出さずに使える実装系が多いと書いてましたが、それは仕様ではないのだから書くべきじゃないよなとか思ったり。まーコンセプトとして1日で覚えるC言語だし、余計なことは書きたくないのだろうとは思ったのですが、ぶっちゃけそんなあいまいなコト書くよりstdlib.hインクルードしとけよとか思いましたね。その方がトラブル少ないだろうがと。
実際教授はサンプルコードがコンパイル失敗して結構悩んだらしい。答えは簡単、本に書いて在るとおりに組んだらexit()関数がリンクされずエラー。stdlib.hをインクルードしなさいと。仕様には従いましょう!
その後も数回質問にやってきました。
「ファイルを読み込もうと思って、デスクトップのところまでのフォルダの名前をずらずらずら〜っと書いたんやけど、これなんでかそんなファイルないって言われるねんけどなんで?」
「あぁ、区切りの円マークが1個じゃだめなんですよ。改行とかの特別な命令を書くときに円マーク使うんで、特別な命令なのかそうじゃないのか判断つかなくてエラーになってるんです。円マークを全部2つ続けて書いてください。うまく行くはずです。」
「うまくいったうまくいった。次やねんけど。」
「あ、うまくいきましたか、それはよかったです。」
「ファイル置いてるフォルダがふかーいところにあって、横に長くなるから途中で改行したいんやけど、どうしたらいい?」
「ん〜、普通に改行できませんか? ちょっと普段やらないので自信はないんですが・・・。
それより、Cドライブ直下にファイルを置く方が楽だと思いますよ?」
「あぁそう? あぁなるほど。確かにそっちの方が楽やな。そうしようか。」
「はい、せめてディレクトリ1個とか。そうすればタイプ量も減りますし、横に長くもならないです。」
「はいはい、ありがとう」
とまぁこんな感じのやりとりをしてました。この間ずっと私が対応してしまったので、次来たときは後輩に相手させようと言うことで私はスルーしてみることに。
案の定(?)教授はまたやってこられまして、私が調べ物をしていたので後輩に質問。
「グラフを描くソフトに読み込ませるファイルを作りたいんやけど、それはX軸とY軸のデータが必要になるんやわ。でも前に学生から貰ったデータはX軸のデータはあるけどY軸のデータがない。せやからX軸のデータ列の手前か後にY軸のデータ列を追記したいんやけど、ファイルオープンの追記モードは違うやんな?」
おぉ、教授鋭い。仰るとおりっす。追記モードはUNIXでいうところのcatコマンドで、教授がなさりたいのはpasteコマンドなんですよねぇ。つかUNIXだとコマンド一発・・・と答えたかったけどここはぐっと我慢(笑)
後輩に任せてましたが後輩はしっかと答えてました。うん。感心感心。
とりあえずこの土日の間に学習同定法くらいは作りたいみたいです。まーあれが作れたらほとんどどのアルゴリズムも実装できますしね・・・。私達より開発早そうで怖い(笑)
まぁ、私は無駄にC#とかで組んでるので教授はかなりプログラムに関してはノータッチでいてくれたりします。というか、私はすげーややこしいことをしていると思っているそうです。いやそんなにややこしいことはしてないんですけれどねぇ。ちょいとマイノリティな言語使ってるだけでw
実のところ、アルゴリズム検証のプログラムを組むような場合、メモリ管理からは解放されたいという理由だけでC#を選んでるんですよね。よーはメモリ管理さえスルーできたらいい。
ということで、ここ最近Matlabへの興味が再燃。共同研究先の社員の方もそれでシミュレーションプログラムを組んでいらっしゃいますし、Octaveとかの互換ではない本家MatlabだとGUIアプリケーションまで作れたりと中々奥が深そう。
WAVEファイルも簡単に扱えそうだし、俄然興味がわいています。今のプログラム、Matlabに書き換えようかなぁ。そこまで苦労はしなさそうだし。
今度会社へ訪問するし、その時に色々と聞いてみるか、プログラミングのコツ。C#は不評だったけど、MatlabならCよりはポイント下がるでしょうけれどそれでも歓迎度は雲泥の差でしょうしw
ま、目先の仕事が片付いたら考えますか^^;