Проводятся ли эмпирические исследования влияния разных языков на качество программного обеспечения?


19

Сторонники функциональных языков программирования утверждают, что функциональное программирование облегчает анализ кода. Сторонники статически типизированных языков говорят, что их компиляторы отлавливают достаточно ошибок, чтобы компенсировать дополнительную сложность систем типов. Но все, что я читаю на эти темы, основано на рациональных аргументах, а не на эмпирических данных.

Проводятся ли какие-либо эмпирические исследования влияния различных категорий языков программирования на уровень дефектов или другие показатели качества?

(Ответы на этот вопрос, похоже, указывают на то, что таких исследований нет, по крайней мере, для динамических и статических дебатов)


6
Как вы, вероятно, можете себе представить, здесь задействовано множество смешных факторов. Существуют «эмпирические исследования», но они представляют собой немного больше, чем хорошо документированные анекдоты, и им следует придавать такой же вес, как того требует.
CA McCann


@ Steven: Этот вопрос, кажется, имеет более широкую область (возможно, слишком широко).
Роберт Харви

Если бы вы нашли такое исследование, что бы вы сделали с ним?
JeffO

@ Роберт, есть исследования COCOMO по этим направлениям, но они бессмысленны - если вы не изучали свою собственную команду, и это практически невозможно сделать объективно
Стивен А. Лоу

Ответы:


3

Есть некоторые исследования в академии на эту тему. Вот некоторые примеры, которые я знаю, хотя вы должны относиться к выводам с осторожностью:

  • Эксперимент о статических и динамических системах типов: сомнения в положительном влиянии систем статических типов на время разработки, Стефан Ханенберг. В Proc OOPSLA, 2010. ACM Link

  • Эмпирическое исследование статической типизации в Ruby, M. Daly, V. Sazawal, J. Foster. В Proc PLATEAU, 2010. PDF

  • Контролируемый эксперимент по оценке преимуществ процедуры проверки типа аргумента, Lutz Prechelt и Walter F. Tichy. IEEE TSE, 1998. IEEE Ссылка

Я уверен, что есть другие документы. Вообще говоря, однако, эта область чрезвычайно противоречива по очевидным причинам - действительно трудно дать объективную оценку !!


1

Одно известное исследование - Лутц Пречелт. Эмпирическое сравнение семи языков программирования. IEEE Computer [33 (10): 23-29], октябрь 2000 г.

Prechelt обсуждает надежность программы, а также исследует время выполнения и потребление памяти.


0

Хотя это исследование не связано с качеством кода как таковым, в этом исследовании рассматривается, как новички учатся на разных языках. В частности, они сравнивают, как живут новички в изучении Perl и Quorum, языка обучения, который хотят сравнить авторы. Что действительно здорово в этой статье, так это то, что они на самом деле придумали язык управления, где синтаксис генерируется случайным образом, как своего рода язык «плацебо». Этот подход может быть действительно интересным, если его применять к языкам и качеству кода, и он помогает контролировать некоторые из этих сложных факторов при сравнении языков.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.