มีการศึกษาเชิงประจักษ์เกี่ยวกับผลกระทบของภาษาต่างๆต่อคุณภาพของซอฟต์แวร์หรือไม่?


19

ผู้เสนอของภาษาโปรแกรมที่ใช้งานได้ยืนยันว่าการโปรแกรมเชิงฟังก์ชันช่วยให้ง่ายขึ้นในการให้เหตุผลเกี่ยวกับโค้ด ผู้ที่ชื่นชอบภาษาที่พิมพ์แบบคงที่กล่าวว่าคอมไพเลอร์มีข้อผิดพลาดมากพอที่จะชดเชยความซับซ้อนเพิ่มเติมของระบบพิมพ์ แต่ทุกสิ่งที่ฉันอ่านในหัวข้อเหล่านี้ขึ้นอยู่กับการโต้แย้งเหตุผลไม่ใช่ข้อมูลเชิงประจักษ์

มีการศึกษาเชิงประจักษ์เกี่ยวกับผลกระทบของภาษาโปรแกรมประเภทต่าง ๆ ที่มีต่ออัตราข้อบกพร่องหรือการวัดคุณภาพอื่น ๆ หรือไม่?

(คำตอบสำหรับคำถามนี้ดูเหมือนจะบ่งบอกว่าไม่มีการศึกษาดังกล่าวอย่างน้อยก็ไม่ใช่สำหรับการอภิปรายแบบไดนามิกและแบบคงที่)


6
อย่างที่คุณอาจจินตนาการได้ว่ามีปัจจัยที่น่าสับสนมากมายที่เกี่ยวข้อง มี "การศึกษาเชิงประจักษ์" อยู่ที่นั่น แต่น้อยกว่าเอกสารที่บันทึกไว้อย่างดีและควรให้น้ำหนักประมาณเท่าที่รับประกัน
CA McCann


@Steven: คำถามนี้ดูเหมือนจะกำหนดขอบเขตให้กว้างขึ้น (อาจกว้างเกินไป)
Robert Harvey

หากคุณพบการศึกษาเช่นนี้คุณจะทำอะไรกับมัน?
JeffO

@ Robert มีการศึกษา COCOMO ตามบรรทัดเหล่านี้ แต่ไม่มีความหมาย - ถ้าคุณไม่ได้ศึกษาทีมของคุณเองและนั่นเป็นไปไม่ได้เลยที่จะทำสิ่งที่เป็นไปไม่ได้
Steven A. Lowe

คำตอบ:


3

มีงานวิจัยบางอย่างในสถาบันการศึกษาในเรื่องนี้ นี่คือตัวอย่างบางส่วนที่ฉันรู้แม้ว่าคุณควรปฏิบัติกับข้อสรุปด้วยความระมัดระวัง:

  • การทดลองเกี่ยวกับระบบชนิดคงที่และแบบไดนามิก: สงสัยเกี่ยวกับผลกระทบเชิงบวกของระบบชนิดคงที่เกี่ยวกับเวลาในการพัฒนา Stefan Hanenberg ใน 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

หนึ่งการศึกษาที่มีชื่อเสียงคือLutz Prechelt การเปรียบเทียบเชิงประจักษ์ของภาษาโปรแกรมทั้งเจ็ด คอมพิวเตอร์ IEEE [33 (10): 23-29], ตุลาคม 2000

Prechelt กล่าวถึงความน่าเชื่อถือของโปรแกรมและตรวจสอบเวลาดำเนินการและการใช้หน่วยความจำ


0

แม้ว่าจะไม่เกี่ยวข้องกับคุณภาพของรหัสเช่นนี้การศึกษานี้ดูว่าสามเณรเรียนรู้การใช้ภาษาต่าง ๆ โดยเฉพาะอย่างยิ่งพวกเขาเปรียบเทียบว่าค่าโดยสารสามเณรเมื่อเรียนรู้ Perl vs Quorum ซึ่งเป็นภาษาการสอนที่ผู้เขียนต้องการเปรียบเทียบ สิ่งที่เจ๋งจริงๆเกี่ยวกับเอกสารนี้คือพวกเขามาพร้อมกับภาษาควบคุมที่สร้างไวยากรณ์แบบสุ่มเป็นภาษา "หลอก" วิธีการนี้อาจน่าสนใจมากหากใช้กับภาษาและคุณภาพของรหัสและช่วยควบคุมปัจจัยรบกวนที่ยุ่งยากเมื่อเปรียบเทียบภาษา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.