Чи є якісь емпіричні дослідження впливу різних мов на якість програмного забезпечення?


19

Прихильники функціональних мов програмування стверджують, що функціональне програмування полегшує міркування про код. Ті, хто підтримує статично набрані мови, говорять, що їх компілятори виявляють достатню кількість помилок, щоб компенсувати додаткову складність систем типу. Але все, що я читав на ці теми, ґрунтується на раціональному аргументі, а не на емпіричних даних.

Чи є якісь емпіричні дослідження того, який вплив різні категорії мов програмування мають на коефіцієнт дефектів або інші показники якості?

(Відповіді на це запитання, схоже, вказують на відсутність таких досліджень, принаймні не для динамічних проти статичних дебатів)


6
Як ви, напевно, можете собі уявити, є безглузда кількість заплутаних факторів. Там є "емпіричні дослідження", але вони трохи більше, ніж добре задокументовані анекдоти, і їм слід надати приблизно стільки ж ваги, скільки це вимагає.
CA McCann

1
можливий дублікат вивчення мов
Стівен А. Лоуе

@Steven: Схоже, це питання розглядається ширше (можливо, занадто широко).
Роберт Харві

Якби ви знайшли таке дослідження, що б ви зробили з ним?
JeffO

@ Роберт у цьому напрямку є дослідження COCOMO, але вони безглузді - якщо тільки ви не вивчили власну команду, і це практично неможливо зробити об'єктивно
Стівен А. Лоу

Відповіді:


3

Існує певне дослідження в наукових колах з цього приводу. Ось кілька відомих мені прикладів, хоча слід ставитися до висновків обережно:

  • Експеримент щодо систем статичного та динамічного типу: сумніви щодо позитивного впливу систем статичного типу на час розробки, Стефан Ханенберг. У Proc OOPSLA, 2010. ACM Link

  • Емпіричне дослідження статичної типізації в Рубі, М. Далі, В. Сазавал, Дж. Фостер. У Proc PLATEAU, 2010. PDF

  • Контрольований експеримент для оцінки переваг перевірки типу аргументів процедури, Лутц Прешельт та Вальтер Ф. Тічі. IEEE TSE, 1998. Посилання IEEE

Я впевнений, що є й інші папери. Взагалі кажучи, ця область є надзвичайно суперечливою з очевидних причин --- дійсно важко зробити об'єктивну оцінку !!


1

Одне відоме дослідження - Люц Прешельт. Емпіричне порівняння семи мов програмування. IEEE Computer [33 (10): 23-29], жовтень 2000р

Prechelt обговорює надійність програми, а також вивчає час виконання та споживання пам'яті.


0

Хоча це не пов'язане з якістю коду як такою, у цьому дослідженні розглядається те, як новачки вчаться використовувати різні мови. Зокрема, вони порівнюють, як новачки платять, вивчаючи Perl vs Quorum, мову викладання, яку автори хочуть порівняти. Що в цьому документі дуже цікаво, це те, що вони насправді придумують мову управління, де синтаксис генерується випадковим чином, як якусь "плацебо" мову. Цей підхід може бути справді цікавим, якщо застосувати його до мов та якості коду та допомогти контролювати деякі з цих складних заплутаних факторів при порівнянні мов.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.