アカウント名:
パスワード:
関数型言語は、ちゃんとロジックに落ちている仕様を確実にプログラムにするあたりには役に立つようには思う。けど、多くのバグ、とくに悩ましいバグは、そのロジックに落とす前の「もやもや」っとした部分。
「やりたいことをこう整理すれば、希望する結果が得られるはず」と思ってアルゴリズム組むけど、そこに穴があって、orz ってことに。
あと、ロジックの実装ミスは、綺麗なコーディングに心がける(歪な局所抜け出しとかさせずに、入れ子構造を正しく保つ)とか naming ルールを整理しておけば、けっこう、ソースコードの形でバグが見えてきたりする場合があると感じている。関数型言語は、その歪さ検出を言語仕様に入れているだけ、というのは、浅はかな理解?
> 関数型言語は、その歪さ検出を言語仕様に入れているだけ、というのは、浅はかな理解?
そこを人間が注意して防ぐか、ある程度を仕様や機械(処理系)に任せるか、の違いとして捉えるとメリットが見えてくるんじゃないかと思う。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
物事のやり方は一つではない -- Perlな人
ロジックのバグとりは楽 (スコア:2)
関数型言語は、ちゃんとロジックに落ちている仕様を確実にプログラムにするあたりには役に立つようには思う。けど、多くのバグ、とくに悩ましいバグは、そのロジックに落とす前の「もやもや」っとした部分。
「やりたいことをこう整理すれば、希望する結果が得られるはず」と思ってアルゴリズム組むけど、そこに穴があって、orz ってことに。
あと、ロジックの実装ミスは、綺麗なコーディングに心がける(歪な局所抜け出しとかさせずに、入れ子構造を正しく保つ)とか naming ルールを整理しておけば、けっこう、ソースコードの形でバグが見えてきたりする場合があると感じている。関数型言語は、その歪さ検出を言語仕様に入れているだけ、というのは、浅はかな理解?
Re:ロジックのバグとりは楽 (スコア:0)
> 関数型言語は、その歪さ検出を言語仕様に入れているだけ、というのは、浅はかな理解?
そこを人間が注意して防ぐか、ある程度を仕様や機械(処理系)に任せるか、
の違いとして捉えるとメリットが見えてくるんじゃないかと思う。