アカウント名:
パスワード:
関数型言語は、ちゃんとロジックに落ちている仕様を確実にプログラムにするあたりには役に立つようには思う。けど、多くのバグ、とくに悩ましいバグは、そのロジックに落とす前の「もやもや」っとした部分。
「やりたいことをこう整理すれば、希望する結果が得られるはず」と思ってアルゴリズム組むけど、そこに穴があって、orz ってことに。
あと、ロジックの実装ミスは、綺麗なコーディングに心がける(歪な局所抜け出しとかさせずに、入れ子構造を正しく保つ)とか naming ルールを整理しておけば、けっこう、ソースコードの形でバグが見えてきたりする場合があると感じている。関数型言語は、その歪さ検出を言語仕様に入れているだけ、というのは、浅はかな理解?
大体合ってると思います
有名な話に, 「A well typed program never gets "stuck"」があるように,きちんと設計された関数型言語の一つの目的です
もっと言うと, そうした検出機能があると言うより,そう書かなければ文法として正しくない.
# と言う割にHaskellはパターン漏れはデフォルトで許容してるんだよなあ# デフォルトで-Wオプション使えってことかもしれないけど
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲはアレゲ以上のなにものでもなさげ -- アレゲ研究家
ロジックのバグとりは楽 (スコア:2)
関数型言語は、ちゃんとロジックに落ちている仕様を確実にプログラムにするあたりには役に立つようには思う。けど、多くのバグ、とくに悩ましいバグは、そのロジックに落とす前の「もやもや」っとした部分。
「やりたいことをこう整理すれば、希望する結果が得られるはず」と思ってアルゴリズム組むけど、そこに穴があって、orz ってことに。
あと、ロジックの実装ミスは、綺麗なコーディングに心がける(歪な局所抜け出しとかさせずに、入れ子構造を正しく保つ)とか naming ルールを整理しておけば、けっこう、ソースコードの形でバグが見えてきたりする場合があると感じている。関数型言語は、その歪さ検出を言語仕様に入れているだけ、というのは、浅はかな理解?
Re:ロジックのバグとりは楽 (スコア:1)
大体合ってると思います
有名な話に, 「A well typed program never gets "stuck"」があるように,
きちんと設計された関数型言語の一つの目的です
もっと言うと, そうした検出機能があると言うより,
そう書かなければ文法として正しくない.
# と言う割にHaskellはパターン漏れはデフォルトで許容してるんだよなあ
# デフォルトで-Wオプション使えってことかもしれないけど