Apakah ada studi empiris tentang pengaruh berbagai bahasa pada kualitas perangkat lunak?

19

Para pendukung bahasa pemrograman fungsional menyatakan bahwa pemrograman fungsional membuatnya lebih mudah untuk alasan tentang kode. Mereka yang mendukung bahasa yang diketik secara statis mengatakan bahwa kompiler mereka menangkap cukup banyak kesalahan untuk menebus kompleksitas sistem tipe tambahan. Tetapi semua yang saya baca tentang topik-topik ini didasarkan pada argumen rasional, bukan pada data empiris.

Apakah ada studi empiris tentang efek apa yang dimiliki berbagai kategori bahasa pemrograman terhadap tingkat cacat atau metrik kualitas lainnya?

(Jawaban untuk pertanyaan ini tampaknya menunjukkan bahwa tidak ada studi seperti itu, setidaknya tidak untuk debat dinamis vs statis)

jgre
sumber
6
Seperti yang mungkin Anda bayangkan, ada sejumlah faktor perancu yang terlibat. Ada "studi empiris" di luar sana, tetapi mereka sedikit lebih dari anekdot yang terdokumentasi dengan baik dan harus diberikan bobot sebanyak yang dijamin.
CA McCann
1
kemungkinan duplikat dari studi bahasa yang diketik secara Dinamis vs. Statis
Steven A. Lowe
@ Seven: Pertanyaan ini tampaknya dicakup lebih luas (mungkin terlalu luas).
Robert Harvey
Jika Anda menemukan studi seperti itu, apa yang akan Anda lakukan dengannya?
JeffO
@Robert ada studi COCOMO di sepanjang garis ini, tetapi mereka tidak ada artinya - kecuali Anda telah mempelajari tim Anda sendiri, dan itu hampir tidak mungkin dilakukan secara objektif
Steven A. Lowe

Jawaban:

3

Ada beberapa penelitian di bidang akademis tentang hal ini. Berikut adalah beberapa contoh yang saya tahu, meskipun Anda harus memperlakukan kesimpulan dengan hati-hati:

  • Eksperimen tentang sistem tipe statis dan dinamis: keraguan tentang dampak positif sistem tipe statis terhadap waktu pengembangan, Stefan Hanenberg. Di Proc OOPSLA, 2010. ACM Link

  • Studi Empiris Mengetik Statis di Ruby, M. Daly, V. Sazawal, J. Foster. Dalam Proc PLATEAU, 2010. PDF

  • Eksperimen Terkontrol untuk Menilai Manfaat dari Pemeriksaan Tipe Argumen Prosedur, Lutz Prechelt dan Walter F. Tichy. IEEE TSE, 1998. IEEE Link

Saya yakin ada makalah lain. Secara umum, bagaimanapun, area ini sangat kontroversial karena alasan yang jelas --- sangat sulit untuk membuat penilaian objektif !!

redjamjar
sumber
1

Salah satu penelitian terkenal adalah Lutz Prechelt. Perbandingan empiris dari tujuh bahasa pemrograman. Komputer IEEE [33 (10): 23-29], Oktober 2000

Prechelt membahas keandalan program, dan juga memeriksa waktu eksekusi dan konsumsi memori.

Lorin Hochstein
sumber
0

Meskipun tidak terkait dengan kualitas kode seperti itu, penelitian ini melihat bagaimana pemula belajar menggunakan bahasa yang berbeda. Secara khusus, mereka membandingkan bagaimana tingkat pemula saat belajar Perl vs Quorum, bahasa pengajaran yang ingin dibandingkan oleh penulis. Apa yang benar-benar keren dari makalah ini adalah bahwa mereka sebenarnya datang dengan bahasa kontrol di mana sintaks dihasilkan secara acak, sebagai semacam bahasa "plasebo". Pendekatan ini mungkin sangat menarik jika diterapkan pada bahasa dan kualitas kode dan membantu mengendalikan beberapa faktor perancu yang rumit ketika membandingkan bahasa.

joshin4colours
sumber