わさっきhb

大学(教育研究)とか ,親馬鹿とか,和歌山とか,とか,とか.

2006年12月11日〜15日

  • 博士論文は,学生としての最後の取りまとめでありますが,それだけでなく,研究室で後輩が見ていくわけですし,20年,30年後に,学生に博士論文の取りまとめを指導するときの,土台になります.これから改訂していく際,今日の先生方の意見をもとに修正するのも確かに必要ですが,それよりもむしろ,自分にとって納得のいく内容に仕上げるよう,心がけてください.
  • 実験するときは,最初に目的だけでなく,どの範囲に入ればOKだという「有効性の基準」を決めておいて,実験してから,その基準を満たしているか判断すべきです.実験をして,グラフを見て,それで有効だと判断しているようですが,それはよくない流れです.
  • Cの文字列処理は,Perlと比較すると,手間かかりますね.例えば,"abc"と"123"をくっつけて"abc123"という文字列にするような,文字列の足し算は,Cでは簡単ではないし.あと,文字列の中の'X'という文字を'4'という文字に置き換えるのは,そんなに難しくないけど,'X'を"10"に置き換えるとなると,途端に手間がかかるんですよ*1
  • 配列と構造体の使い分けですが,配列は,添え字という整数値でその要素をアクセスするのに対して,構造体ではメンバという名前を使ってアクセスします.メンバを書き間違えたら,コンパイル時点でエラーになり*2,原因が容易に分かります.添え字を,例えば10とすべきところを100としてしまったら,コンパイルは通るけど,実行時におかしな挙動をするか,セグメンテーションエラーで異常終了してしまうかもしれませんね.

*1:Perlのコードはすぐに思い浮かばないけど,Rubyなら,文字列の足し算は "abc" + "123" でできます.文字列中の文字の置き換えは,変数strに格納されているとして,str.sub!(/X/,"10") または str["X"] = "10" と書きます.

*2:とはいえ,他のメンバを書いてしまったら,コンパイルは通るけれど,実行時に苦しみます.