2004-06 << 2004-07 >> 2004-08

2004-07-27 (火)

  • 天気:晴れ

今日はプログラミングの最後の面接.…さすがに150行のプログラムは駄目でした.面接はいいから,プログラムだけ再提出と言われました.講義室に戻って言われたとおりの機能をつけて,すぐに提出しておく.

生協で,昼食を食べた後,ノートパソコンを修理に出しました.いつ戻ってくるかなぁ.そのあと,Meshiのところに行って寝る.エアコンはいいなぁ.文明の利器です.起きたら,携帯に着信が3件もあった.2件はTGCHからで,もう1件は調べたら,長野県赤十字血液センターだった.なんだろう?

MeshiのMacで今まで書いてた某プログラムをコンパイルしてみる.コンパイルは通ったけど,どうも動作がおかしい.見直してみたら,一箇所だけエンディアンの変換が抜けていた.そこを直したら,もうばっちし(たぶん).ファイルやらネットワークやらの部分はWindowsと互換性を持たせてリトルエンディアンで扱っているので,どうも複雑になりがちです.特定の構造体への操作をすべてリトルエンディアンにする構文とか,もしくは,プリプロセッサを拡張して構造体のメンバのエンディアンを一括して変換できるようなマクロをかけるようにするとかできないものか.しかも,実行する環境のない状態でプログラムを書いてるのでデバッグはひたすらエディタでソースをスクロールして眺めるという原始的な方法.

VC++の最適化されたコードをたまに見てるけど,関数の内部の最適化は結構やってくれるようです.究極の最適化は,どんなプログラムを書いても,同じ動作をするプログラムならば,まったく同じコードが出力されるべきだと思うのだけど,それは,いつになったら実現するんだろうか.たとえば,円周率を1000桁計算して表示するプログラムは,もし,円周率を計算するルーチンが1000バイト以上になったら,printf("3.1415926…");と書いただけのプログラムに置き換えられるようでなくちゃダメだし,ソート関数もコンパイル中に扱うデータ量が多いと判断されたら,たとえバブルソートの関数でもクイックソート等に置き換えてくれるようでなくてはいけない.どんな滅茶苦茶なプログラムを書こうと,動くものであれば,達人的なプログラマが書いたプログラムと同じコードが得られるというのは,果たしてどうなんだろう….最適化がそこまで行くよりも,プログラムを「書く」という作業がいらなくなる方が早そう.

しばらく文字を打つのはノートばかりで,デスクトップは調べごと専用だったので,慣れるのが大変です.VAIOのFnキーにいろいろ機能を割り当ててたので,無いとかなり不便.わざわざマウスに手を持っていってアイコンをダブルクリックする作業が面倒くさくて仕方ないです.そもそも,コンピュータで扱うデータも処理もすべて1次元なんだから,マウスは簡単に使えるけど,効率よくコンピュータを使えるとは思えないデバイスではないかな.

2004-06 << 2004-07 >> 2004-08