アカウント名:
パスワード:
Haskellを触ってみた感じ、デバッグが難しそうなんだけど、バグ自体が少ないから構わないって言うのかな?
バグ自体が少ないと言っているのは,・プロジェクト数が少ない・実行時バグの余地が少ないと2通りあります.
前者は仕方のないことで,別に批判されるべきことじゃありませんよね.
後者については型システム(およびコンパイラ)が,性質を静的に保障してくれることが多く,これは開発のうえで非常に強力です.
デバッグの難しさについては,ちょっと真面目にすごいH [amazon.co.jp]で勉強した私はそうは思いません.まず, テストのしやすさは手続型言語よりも容易です.また, 従来再現しにくいバ
変数が無く、動かしながら確認するっていうのが難しいから、ひたすらソースコードを見てバグを突き止めざるを得ないと思った。参照透明性があるからテストは容易なのだろうけど、printf的な出し方が面倒。
Debug.Traceモジュールとか便利ですよ。http://www.haskell.org/ghc/docs/latest/html/libraries/base-4.6.0.1/Deb... [haskell.org]
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
UNIXはシンプルである。必要なのはそのシンプルさを理解する素質だけである -- Dennis Ritchie
バグを抑えやすい、かー (スコア:2)
Haskellを触ってみた感じ、デバッグが難しそうなんだけど、バグ自体が少ないから構わないって言うのかな?
Re: (スコア:4, 参考になる)
バグ自体が少ないと言っているのは,
・プロジェクト数が少ない
・実行時バグの余地が少ない
と2通りあります.
前者は仕方のないことで,
別に批判されるべきことじゃありませんよね.
後者については型システム(およびコンパイラ)が,
性質を静的に保障してくれることが多く,
これは開発のうえで非常に強力です.
デバッグの難しさについては,
ちょっと真面目にすごいH [amazon.co.jp]で勉強した私はそうは思いません.
まず, テストのしやすさは手続型言語よりも容易です.
また, 従来再現しにくいバ
Re: (スコア:2)
変数が無く、動かしながら確認するっていうのが難しいから、ひたすらソースコードを見てバグを突き止めざるを得ないと思った。
参照透明性があるからテストは容易なのだろうけど、printf的な出し方が面倒。
Re:バグを抑えやすい、かー (スコア:1)
Debug.Traceモジュールとか便利ですよ。
http://www.haskell.org/ghc/docs/latest/html/libraries/base-4.6.0.1/Deb... [haskell.org]