ソフトウェアの品質に対する異なる言語の影響に関する経験的な研究はありますか?


19

関数型プログラミング言語の支持者は、関数型プログラミングによってコードについて推論するのが容易になると断言しています。静的に型付けされた言語を好む人は、コンパイラが型システムの複雑さを補うのに十分なエラーをキャッチすると言います。しかし、これらのトピックで読んだものはすべて、経験的データではなく、合理的な議論に基づいています。

プログラミング言語のさまざまなカテゴリが欠陥率またはその他の品質指標にどのような影響を与えるかについて、実証的な研究はありますか?

この質問に対する答えは、少なくとも動的と静的の議論については、そのような研究はないことを示しているようです)


6
あなたがおそらく想像できるように、関与する途方もない数の交絡因子があります。そこには「経験的研究」がありますが、それらは十分に文書化された逸話にすぎず、それが正当化するのと同じくらいの重みを与えられるべきです。
CAマッキャン


@Steven:この質問の範囲はもっと広いようです(おそらくあまりにも広い)。
ロバートハーベイ

そのような研究を見つけた場合、それをどうしますか?
ジェフ

@RobertそこCOCOMOの研究では、これらの線に沿っているが、彼らは無意味です-あなたはあなた自身のチームを研究していない限り、それは客観的に行うことはほぼ不可能だ
スティーブンA. Loweの

回答:


3

このテーマに関する学界の研究がいくつかあります。結論は慎重に扱う必要がありますが、ここに私が知っている例をいくつか示します。

  • 静的および動的型システムに関する実験:開発時間に対する静的型システムのプラスの影響についての疑問、Stefan Hanenberg。Proc OOPSLA、2010年 。ACMリンク

  • Rubyの静的型付けに関する実証的研究、M。デーリー、V。サザワル、J。フォスター。PROC PLATEAU、2010年にPDF

  • 手続き引数型チェックの利点を評価するための制御された実験、Lutz PrecheltおよびWalter F. Tichy。IEEE TSE、1998。IEEE リンク

他にも論文があるはずです。しかし、一般的に言えば、この分野は明らかな理由で非常に物議を醸しています---客観的な評価をするのは本当に難しいです!!


1

1つの有名な研究はLutz Precheltです。7つのプログラミング言語の経験的比較。IEEEコンピューター[33(10):23-29]、2000年10月

Precheltは、プログラムの信頼性について説明し、実行時間とメモリ消費量も調べます。


0

コードの品質自体とは関係ありませんが、この研究では、初心者がさまざまな言語を使用して学習する方法を検討します。特に、彼らは、著者が比較したい教育言語であるPerlとQuorumを学ぶときに初心者がどのようにうまくいくかを比較します。このホワイトペーパーの素晴らしい点は、構文がランダムに生成された一種の「プラシーボ」言語として、実際に制御言語を作成していることです。このアプローチは、言語とコード品質に適用すると非常に興味深い場合があり、言語を比較するときにこれらの厄介な交絡要因のいくつかを制御するのに役立ちます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.