Có nghiên cứu thực nghiệm nào về ảnh hưởng của các ngôn ngữ khác nhau đến chất lượng phần mềm không?


19

Những người đề xuất các ngôn ngữ lập trình chức năng khẳng định rằng lập trình chức năng giúp cho việc lập luận về mã dễ dàng hơn. Những người ủng hộ các ngôn ngữ gõ tĩnh nói rằng trình biên dịch của họ bắt đủ lỗi để bù cho sự phức tạp bổ sung của các hệ thống loại. Nhưng tất cả mọi thứ tôi đọc về các chủ đề này đều dựa trên lập luận hợp lý, không dựa trên dữ liệu thực nghiệm.

Có nghiên cứu thực nghiệm nào về những tác động của các loại ngôn ngữ lập trình khác nhau đối với tỷ lệ lỗi hoặc các số liệu chất lượng khác không?

(Các câu trả lời cho câu hỏi này dường như chỉ ra rằng không có nghiên cứu nào như vậy, ít nhất là không dành cho cuộc tranh luận động và tĩnh)


6
Như bạn có thể tưởng tượng, có một số lượng lớn các yếu tố gây nhiễu liên quan. Có những "nghiên cứu thực nghiệm" ngoài kia, nhưng chúng ít hơn những giai thoại được ghi chép rõ ràng và nên được đưa ra về trọng lượng như những gì bảo đảm.
CA McCann


@Steven: Câu hỏi này dường như được mở rộng hơn (có lẽ quá rộng).
Robert Harvey

Nếu bạn tìm thấy một nghiên cứu như vậy, bạn sẽ làm gì với nó?
JeffO

@Robert có những nghiên cứu COCOMO dọc theo những dòng này, nhưng chúng vô nghĩa - trừ khi bạn đã nghiên cứu nhóm của riêng bạn và điều đó gần như không thể thực hiện một cách khách quan
Steven A. Lowe

Câu trả lời:


3

Có một số nghiên cứu trong học viện về chủ đề này. Dưới đây là một số ví dụ tôi biết, mặc dù bạn nên thận trọng khi đưa ra kết luận:

  • Một thử nghiệm về hệ thống loại tĩnh và động: nghi ngờ về tác động tích cực của hệ thống loại tĩnh đối với thời gian phát triển, Stefan Hanenberg. Trong Proc OOPSLA, 2010. Liên kết ACM

  • Một nghiên cứu thực nghiệm về gõ tĩnh ở Ruby, M. Daly, V. Sazawal, J. Foster. Trong Proc PLATEAU, 2010 PDF

  • Một thử nghiệm được kiểm soát để đánh giá lợi ích của việc kiểm tra loại đối số thủ tục, Lutz Prechelt và Walter F. Tichy. IEEE TSE, 1998. Liên kết IEEE

Tôi chắc chắn có những giấy tờ khác. Nói chung, tuy nhiên, lĩnh vực này cực kỳ gây tranh cãi vì những lý do rõ ràng --- thật khó để đánh giá khách quan !!


1

Một nghiên cứu nổi tiếng là Lutz Prechelt. Một so sánh thực nghiệm của bảy ngôn ngữ lập trình. Máy tính IEEE [33 (10): 23-29], tháng 10 năm 2000

Prechelt thảo luận về độ tin cậy của chương trình, đồng thời kiểm tra thời gian thực hiện và mức tiêu thụ bộ nhớ.


0

Mặc dù nó không liên quan đến chất lượng mã như vậy, nhưng nghiên cứu này xem xét cách người mới học sử dụng các ngôn ngữ khác nhau. Cụ thể, họ so sánh giá vé của người mới khi học Perl vs Quorum, một ngôn ngữ giảng dạy mà các tác giả muốn so sánh. Điều thực sự thú vị về bài báo này là họ thực sự đưa ra một ngôn ngữ điều khiển trong đó cú pháp được tạo ngẫu nhiên, như một loại ngôn ngữ "giả dược". Cách tiếp cận này có thể thực sự thú vị nếu được áp dụng cho các ngôn ngữ và chất lượng mã và giúp kiểm soát một số yếu tố gây nhiễu khó hiểu khi so sánh các ngôn ngữ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.