最近は何をするにもMatlabなのです。信号処理プログラムを作るのがすごく簡単だし、統計処理もできちゃう。プログラムを作るのに要する時間を考えれば、実行速度がちょっとくらい遅くたって我慢できるし、我慢できなかったらコンパイラを通してしまえばいいのです。そんなMatlabの欠点は、ライセンスが高いこと。学生のうちは学割が効きますが、それでもやはり高いのです。
シェルコマンドの実行をするのにはMatlabは(出来ないことはないですが)ちょっと向いていないので、Pythonも使っています。NumPyという数値解析ライブラリとFFTWラッパーをつけてしまえばMatlabと同じような信号処理なこともできてしまうことに気づきました。統計関連が弱いですが、GUIも作れるし、なんといっても構文が魅力です。そんなときにメーリングリストに流れていた以下のメッセージが目にとまりました。
pythonのelseはif以外にも色々なところで使うことができます。 for シーケンス: 文1 if 条件1: break else: 文2 となっていると、シーケンスを回しきった場合にelse節に処理が移ります。 つまり、シーケンスを全て回したのに条件1を満たせなかった場合、文2が実行されます。 if、forの他にelseが使える構文としては、while、try があるみたいです。
そんなの知りませんでした。分かりやすいのか分かりにくいのか・・・便利そうではありますが。
そういえばMatlabばかり使っているので、JavaやCでプログラムが書けなくなりつつあります。学士はMIDIメッセージの解析とVRMLの自動生成をやったし、修士号はビット演算をガシガシやったし、硬派なコンピュータ理工学を進んでいたはずだったんだけど・・・?