関数型プログラミング言語の支持者は、関数型プログラミングによりコードについての推論が容易になると主張しています。静的型付け言語を支持する人々は、コンパイラーが型システムの複雑さを補うのに十分なエラーをキャッチすると言います。しかし、これらのトピックについて私が読んだものはすべて、経験的なデータではなく、合理的な議論に基づいています。
プログラミング言語のさまざまなカテゴリが欠陥率やその他の品質指標にどのような影響を与えるかについての実証研究はありますか?
( への回答この質問 は、そのような研究がないことを示しているようです(少なくとも動的な議論と静的な議論については違います)。
この問題についての学界のいくつかの研究があります。以下は私が知っているいくつかの例ですが、結論は慎重に扱う必要があります。
静的型システムと動的型システムに関する実験:静的型システムが開発時間に与えるプラスの影響についての疑問、Stefan Hanenberg。 Proc OOPSLA、2010年。 ACMリンク
Rubyの静的型付けの実証的研究、M。Daly、V。Sazawal、J。Foster。 Proc PLATEAU、2010年。 [〜#〜] pdf [〜#〜]
手順の引数の型チェックの利点を評価するための管理された実験、Lutz PrecheltおよびWalter F. Tichy。 IEEE TSE、1998。 IEEEリンク
他の論文もあると思います。しかし、一般的に言えば、この領域は明白な理由で非常に物議を醸しています---客観的な評価をすることは本当に難しいです!!
それ自体はコードの品質とは関係ありませんが、 この研究 は、初心者がさまざまな言語を使用してどのように学習するかを調べます。特に、著者が比較したい教育用言語であるPerlとQuorumを学習するときに、初心者がどれほどうまくいくかを比較します。このペーパーの本当にすばらしいところは、構文がランダムに生成される制御言語を一種の「プラセボ」言語として実際に思い付くことです。このアプローチは、言語とコード品質に適用され、言語を比較するときにこれらのトリッキーな交絡要因のいくつかを制御するのに役立つ場合、本当に興味深いかもしれません。