開発速度の目安


10

プログラミング言語の実行速度を測定する多くのテストを見てきましたが、開発速度を測定するテストを見たことがありません。

動的言語で作業すると開発速度が上がると聞きましたが、その証拠はありますか?動的言語が効率的でないと言っているわけではありませんが、もしそういうものが存在するなら、科学的な研究の結果を見たいです。

さらに良いのは、メンテナンス施設に関する情報です。一部の言語は他の言語よりデバッグが簡単ですか?

編集:私は構文に近い2つの言語の違いに主に興味があります。たとえば、Cでのプログラミングは通常、Javaでのプログラミングよりも遅くなると思います。しかし、JavaでのプログラミングはC#でのプログラミングよりも高速ですか?


programmers.stackexchange.com/questions/10032を参照してください(ただし、これが重複しているとは主張していません)。
Frank Shearar、

これは本当に面白いです、ありがとう!いくつかのリンクは実際に私が探していたものとまったく同じです。
DistantEcho

:このスレッドを見ていstackoverflow.com/questions/1894453/...
ChristopheD

回答:


6

もちろん、プログラミング言語は違いをもたらします。ただし、違いは、特に同様の構文を持つ言語の制約がある場合、言語の特定の側面よりも、プログラマーが各言語に慣れ親しんでいることの方がはるかに大きいと思います。


2

私にとってこれは、どのタイプのペイントブラシですばやくペイントできるかに似ています。

商品を何にするかを考えると、ブラシが大きいほど速くペイントできます。

優れたコードをアートフォームと見なす場合、ブラシのサイズよりもブラシの方が正確です。

申し訳ありませんが、これは実際の質問に対する回答ではありません。


実際、私は2つの大きなブラシの違いにもっと興味があります。たとえば、Pythonの開発速度がLuaより優れているかどうか、またはその逆はどうすればわかるでしょうか。
DistantEcho

1
@Niphra、あなたは知りません。このような比較では、非常に多くの不可解なものがあり、それらを有効な指標にすることができません。
アダムクロスランド

良い答えですが、画家のスキルを無視した場合に限ります
スティーブンA.ロウ

1

これが適切かどうかはわかりませんが、興味深いです

Mythical Man Monthで、フレッド・ブルックスは、アセンブリ言語と高水準言語を比較した研究について言及しています。彼らは、プログラマーが両方で年間同じ量の命令を生成したことを発見しましたが、高級言語の命令は複数のアセンブリ言語の命令と同等でした。したがって、高水準言語に切り替えることにより、プログラマーは、アセンブリー命令から言語命令への平均的な倍数が何であれ、生産性の向上を達成しました。

C対Java / C#についても同様です。C#とJavaの実際の違いはわかりません。しかし、抽象化のレベルを上げるたびに、生産性が向上します。しかし、それはまた、マシンが実際に行っていることに対する制御を減らすことになると思います。あなたは言語があなたが望むことをしていることを信頼しなければなりません。たとえば、高性能ソフトウェアでは、実行時と実行時間を完全に制御できる場合を除いて、ガベージコレクションは受け入れられません。


node.jsやpythonなどの高水準言語を比較するときに、これを再度行う調査が今日あるとしたら興味深いでしょう。
SomeGuyOnAComputer

1

生産性とは?商品とは?数学的に言えば、誰にもわかりません。

KLoC?

循環的複雑度?

機能ポイント?

ビジネスレベルを見て、同様の作業をしている他のプログラマーとのパーセンタイル比較を実行してから、プログラマーごとに提供される機能を測定する必要があると思います。これらは、統計的に意味を測定して保持できるようにするための非常に洗練された微妙なポイントです。


0

これをどのようにテストするか想像してみてください。同じ言語で繰り返し(プログラマーの経験と知識のばらつきを取り除くため)、さまざまな言語で(言語を比較するためのデータを取得するため)、繰り返し開発するいくつかの現実世界のプロジェクトが必要です。実験はすぐに手に負えないほど大きくなるように思えます。

実験を「縮小」する方法、または前述のように実際に実験を実行する試みについて聞きたいです。


経験は確かに問題なので、まったく異なるプログラミング言語を知っている初心者、またはそれ以上の人と一緒に作業します。プロジェクトのサイズについては、完璧ではない場合でも、非常に小さなプロジェクトで十分な結果が得られると思います。
DistantEcho

時々、しかし、話は行きます、言語の「勝つ」は、特定のサイズ/複雑さを超えてのみ起こります。それよりも小さい/単純な問題の場合、その言語の驚異は明らかではありません。だからそれは言った。
Frank Shearar、

特定の「勝利」は、プログラマーの特定の複雑さと経験レベルを超えただけだと私は期待しています。初心者だけで測定することはほとんどポイントを逃します。言語を実際に使用するには、言語固有の経験が必要です。
kasterma
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.