すがブロ

sugamasaoのhatenablogだよ

人力検索に答えてみる

質問内容

人力検索はてな - php,ruby,perl,pythonなどの言語で『Webアプリケーション』を作成している方に質問です。
自分の周囲だと俗に言うprintfデバッグ+ブラウザ上の目視確認のみしか使われておらず、ツールを使用しておりません。

これは珍しいケースなのか、あるいは巷ではWeb開発でもデバッガは当たり前すぎて話題にすらならないのか、どちらなのか、ご意見、または使用言語と実践しているデバッグ方法を教えてください。

おれの回答

  • 言語:Ruby
  • 開発方法:printデバッグ(tail -f ログファイル名)+ブラウザ目視

デバッグログを出しまくってなんとかしているんだけど、最初 Java から移行するときはこれが一番ストレスだった。何しろ、普通にやっていたサーバサイドでのステップ実行ができなくなったのだから。
ステップ実行ができないので、既存の動作を確認しようとしてもログからしか追えず、入力値がどのような変化をしているのかインスペクトできなくてさ。
また、明示的な型宣言が無い以上、この引数にはいったい何のオブジェクトが入るのか? 呼び出し前の処理を追わないと正確なものが推測できないし。
ロジックを見ればある程度は推測できても、動きを理解する上ではやはりそういうところをキチンと抑えたかったよなぁ。
かれこれ半年以上Rubyを触ってるから最近は感じなくなってきたけど、昔を振り返りながら考えると、やはり他人のソースを読むならJavaの方が楽な気がするな……*1

*1:JavaRubyを、そう単純に比べられはしないけど