จากการทดลองที่ควบคุมแล้วมีเพียงสามชิ้นเท่านั้นที่แสดงผลที่มีขนาดใหญ่พอที่จะมีความสำคัญในทางปฏิบัติ การศึกษา Prechelt เปรียบเทียบ C, C ++, Java, Perl, Python, Rexx และ Tcl; การศึกษา Endrikat เปรียบเทียบ Java และ Dart; และการทดสอบของ Cooley กับ VHDL และ Verilog แต่น่าเสียดายที่พวกเขามีปัญหาที่ทำให้ยากที่จะสรุปข้อสรุปที่แข็งแกร่งจริงๆ
ในการศึกษา Prechelt ประชากรมีความแตกต่างระหว่างภาษาไดนามิกและภาษาที่พิมพ์และเงื่อนไขสำหรับภารกิจก็แตกต่างกันเช่นกัน มีการศึกษาติดตามผลที่แสดงให้เห็นปัญหาโดยการเชิญ Lispers เพื่อหาวิธีการแก้ปัญหาของพวกเขาเองซึ่งเกี่ยวข้องกับการเปรียบเทียบคนอย่าง Darius Bacon กับการสุ่มแบบสุ่ม การติดตามการติดตามอย่างแท้จริงเกี่ยวข้องกับการเปรียบเทียบรหัสจาก Peter Norvig กับรหัสจากนักศึกษาวิทยาลัยแบบสุ่ม
ในการศึกษาของ Endrikat พวกเขาเลือกงานเฉพาะที่พวกเขาคิดว่าการพิมพ์แบบคงที่จะสร้างความแตกต่างและพวกเขาดึงวิชาของพวกเขาจากประชากรที่ทุกคนได้เรียนโดยใช้ภาษาที่พิมพ์แบบคงที่ พวกเขาไม่แสดงความคิดเห็นว่านักเรียนมีประสบการณ์ในภาษาที่พิมพ์แบบไดนามิกหรือไม่ แต่ก็ถือว่าปลอดภัยที่จะคิดว่าส่วนใหญ่หรือทั้งหมดมีประสบการณ์น้อยกว่าในภาษาที่พิมพ์แบบไดนามิก
การทดลองของ Cooley เป็นหนึ่งในไม่กี่คนที่ดึงดูดผู้คนจากประชากรที่ไม่ใช่นักศึกษาซึ่งยอดเยี่ยมมาก แต่เช่นเดียวกับการทดลองอื่น ๆ ทั้งหมดงานนั้นเป็นงานของเล่นที่ไม่สำคัญ ในขณะที่มันดูน่ากลัวว่าไม่มีผู้เข้าร่วม VHDL (ภาษาคงที่) สามารถทำงานให้เสร็จตรงเวลามันเป็นเรื่องผิดปกติอย่างยิ่งที่ต้องการเสร็จสิ้นการออกแบบฮาร์ดแวร์ใน 1.5 ชั่วโมงทุกที่นอกโครงการโรงเรียน คุณอาจยืนยันว่างานขนาดใหญ่สามารถแบ่งออกเป็นงานขนาดเล็กจำนวนมาก แต่การโต้เถียงที่เป็นไปได้คือมีค่าใช้จ่ายคงที่โดยใช้ VHDL ที่สามารถตัดจำหน่ายในหลาย ๆ งาน
สำหรับการทดลองที่เหลือนั้นสิ่งสำคัญที่ฉันได้จากพวกเขาคือภายใต้สถานการณ์เฉพาะที่อธิบายไว้ในการศึกษาผลกระทบใด ๆ หากมีอยู่จริงนั้นมีน้อย
การย้ายกรณีศึกษาไปสู่กรณีศึกษาทั้งสองกรณีศึกษาข้อบกพร่องทำให้เกิดการอ่านที่น่าสนใจ แต่พวกเขาไม่ได้สร้างกรณีหรือต่อต้านประเภท หนึ่งแสดงให้เห็นว่าการถ่ายทอดโปรแกรม Python ไปที่ Haskell จะพบจำนวนข้อบกพร่องที่ไม่เป็นศูนย์ของความรุนแรงที่ไม่รู้จักซึ่งอาจไม่สามารถพบได้ผ่านการทดสอบหน่วยที่เน้นไปที่การครอบคลุมบรรทัด เอกสาร Erlang คู่หนึ่งแสดงให้เห็นว่าคุณสามารถค้นหาข้อบกพร่องบางอย่างที่ยากต่อการค้นหาผ่านการทดสอบทุกประเภทซึ่งบางข้อนั้นรุนแรงโดยใช้การวิเคราะห์แบบคงที่
ในฐานะผู้ใช้ฉันคิดว่ามันสะดวกเมื่อคอมไพเลอร์ของฉันให้ฉันข้อผิดพลาดก่อนที่ฉันจะเรียกใช้เครื่องมือวิเคราะห์แบบคงที่แยกจากกัน
ฉันพบกรณีศึกษาของ 0install (ที่เปรียบเทียบภาษาต่าง ๆ กับ Python และตั้งรกรากใน Ocaml) เป็นสิ่งที่น่าสนใจมากที่ฉันวิ่งข้าม แต่มันเป็นเรื่องส่วนตัวที่ทุกคนจะตีความแตกต่างกันซึ่งคุณสามารถมองเห็นได้ด้วยการมอง .
เหมาะกับความประทับใจที่ฉันมี (ในมุมเล็ก ๆ ของโลก, ACL2, Isabelle / HOL และ PVS เป็นเครื่องพิสูจน์ที่ใช้กันมากที่สุดและทำให้รู้สึกว่าผู้คนจะชอบระบบอัตโนมัติมากขึ้นเมื่อแก้ปัญหาในอุตสาหกรรม) แต่นั่นก็คือ อัตนัยยัง
และจากนั้นก็มีการศึกษาข้อมูลเหมืองจากโครงการที่มีอยู่ น่าเสียดายที่ฉันไม่พบใครที่ทำสิ่งใดเพื่อหาสาเหตุ (เช่นหาตัวแปรเครื่องมือที่เหมาะสม) ดังนั้นพวกเขาจึงวัดความสัมพันธ์ ความสัมพันธ์บางอย่างไม่คาดคิด แต่มีข้อมูลไม่เพียงพอที่จะระบุสาเหตุ
การศึกษาการทำเหมืองข้อมูลเพียงอย่างเดียวที่นำเสนอข้อมูลที่น่าสนใจโดยไม่มีการสำรวจเพิ่มเติมคือการทบทวนข้อบกพร่องของ Python ในสมอลไชร์ แต่ยังมีข้อมูลไม่เพียงพอเกี่ยวกับวิธีการที่จะเข้าใจว่าการศึกษาของเขาหมายถึงอะไรจริง ๆ data สำหรับภาษาอื่นโดยไม่แสดง data3
การละเว้นการศึกษาที่น่าสนใจบางอย่างเป็นการศึกษาที่ครอบคลุมโดยใช้โปรแกรมเมอร์ที่มีประสบการณ์การศึกษาเดี่ยวที่มีประชากรจำนวนมากของโปรแกรมเมอร์“ ดี” หรือ“ ไม่ดี” มองสิ่งใดก็ตามที่เข้าใกล้โครงการที่สำคัญ (ในสถานที่ที่ฉันเคยทำงานโครงการสามเดือน ได้รับการพิจารณาว่ามีขนาดเล็ก แต่นั่นเป็นคำสั่งที่มีขนาดใหญ่กว่าโครงการใด ๆ ที่ใช้ในการศึกษาแบบควบคุม) โดยใช้ภาษาที่พิมพ์แบบ "ทันสมัย" แบบคงที่โดยใช้การพิมพ์ทีละส่วน / ทางเลือกโดยใช้ IDE หลักกระแสหลัก (เช่น VS และ Eclipse) (เช่น LightTable) โดยใช้เครื่องมือแก้ไขโรงเรียนเก่า (เช่น Emacs และ vim) ทำการบำรุงรักษาบนโค้ดเบสที่ไม่สำคัญการบำรุงรักษาสิ่งที่คล้ายกับสภาพแวดล้อมจริงทำการบำรุงรักษาบนโค้ดเบสที่คุณคุ้นเคยอยู่แล้ว ฯลฯ
หากคุณดูที่ความเห็นทางอินเทอร์เน็ตเกี่ยวกับการศึกษาเหล่านี้ส่วนใหญ่จะส่งผ่านไปยังมุมมองหนึ่งหรืออีกมุมมองหนึ่ง การศึกษา Prechelt เกี่ยวกับ dynamic และ static พร้อมกับการติดตามบน Lisp เป็นรายการโปรดตลอดกาลของผู้สนับสนุนภาษาแบบไดนามิกและการศึกษาการขุด GitHub ได้กลายเป็นที่นิยมในหมู่โปรแกรมเมอร์ทำงาน