नियंत्रित प्रयोगों में से, केवल तीन ही एक प्रभाव दिखाते हैं जो किसी भी व्यावहारिक महत्व के लिए पर्याप्त है। C, C ++, Java, Perl, Python, Rexx, और Tcl की तुलना में Prechelt अध्ययन; जावा और डार्ट की तुलना करते हुए एंड्रीकैट अध्ययन; और वीएचडीएल और वेरिलोग के साथ कोलेलि का प्रयोग। दुर्भाग्य से, वे सभी मुद्दे हैं जो वास्तव में एक मजबूत निष्कर्ष निकालना मुश्किल बनाते हैं।
Prechelt अध्ययन में, आबादी गतिशील और टाइप की गई भाषाओं के बीच अलग थी, और कार्यों के लिए स्थितियां भी अलग थीं। एक अनुवर्ती अध्ययन था जिसने लिस्पर्स को समस्या के अपने समाधान के साथ आने के लिए आमंत्रित करके इस मुद्दे को चित्रित किया, जिसमें डेरियस बेकन जैसे लोगों की तुलना यादृच्छिक अंडरगार्ड से करना शामिल था। फॉलो-अप के लिए अनुवर्ती शाब्दिक रूप से पीटर नोरविग से कोड की तुलना यादृच्छिक कॉलेज के छात्रों से कोड से की जाती है।
एंड्रीकैट अध्ययन में, उन्होंने विशेष रूप से एक कार्य को चुना जहां उन्हें लगा कि स्थिर टाइपिंग से फर्क पड़ेगा, और उन्होंने अपने विषयों को एक आबादी से आकर्षित किया जहां सभी ने सांख्यिकीय रूप से टाइप की गई भाषा का उपयोग करके कक्षाएं ली थीं। वे इस पर टिप्पणी नहीं करते हैं कि छात्रों को गतिशील रूप से टाइप की गई भाषा में अनुभव था या नहीं, लेकिन यह मान लेना सुरक्षित है कि अधिकांश या सभी को गतिशील रूप से टाइप की गई भाषा में कम अनुभव था।
Cooley का प्रयोग उन कुछ लोगों में से एक था जिन्होंने एक गैर-छात्र आबादी से लोगों को आकर्षित किया, जो महान है। लेकिन, अन्य सभी प्रयोगों के साथ, कार्य एक तुच्छ खिलौना कार्य था। हालांकि यह हर्जाना लगता है कि VHDL (स्थिर भाषा) में से कोई भी प्रतिभागी समय पर कार्य पूरा नहीं कर पाए हैं, यह एक स्कूल परियोजना के बाहर कहीं भी 1.5 घंटे में एक हार्डवेयर डिजाइन खत्म करना चाहते हैं। आप यह तर्क दे सकते हैं कि एक बड़े कार्य को कई छोटे कार्यों में विभाजित किया जा सकता है, लेकिन एक प्रशंसनीय प्रतिवाद यह है कि वीएचडीएल का उपयोग करके निश्चित लागतें हैं जिन्हें कई कार्यों में परिशोधन किया जा सकता है।
बाकी प्रयोगों के लिए, मेरे पास मुख्य मुख्य मार्ग यह है कि अध्ययन में वर्णित परिस्थितियों के विशिष्ट सेट के तहत, कोई भी प्रभाव, यदि यह बिल्कुल मौजूद है, तो छोटा है।
केस स्टडीज पर आगे बढ़ते हुए, दो बग ढूंढने वाले केस स्टडी दिलचस्प रीडिंग के लिए बनाते हैं, लेकिन वे वास्तव में टाइप्स के खिलाफ या केस नहीं बनाते हैं। एक से पता चलता है कि पायथन कार्यक्रमों को हस्केल में स्थानांतरित करने से अज्ञात गंभीरता के गैर-शून्य नंबर मिलेंगे जो कि इकाई परीक्षण के माध्यम से नहीं मिल सकते हैं जो लाइन-कवरेज उन्मुख है। Erlang कागजात की जोड़ी से पता चलता है कि आप कुछ बग पा सकते हैं जो किसी भी प्रकार के परीक्षण के माध्यम से खोजना मुश्किल होगा, जिनमें से कुछ गंभीर हैं, स्थैतिक विश्लेषण का उपयोग कर रहे हैं।
एक उपयोगकर्ता के रूप में, मुझे यह सुविधाजनक लगता है जब मेरे संकलक ने मुझे अलग-अलग स्थैतिक विश्लेषण उपकरण चलाने से पहले एक त्रुटि दी, लेकिन यह मामूली है, शायद ऊपर सूचीबद्ध नियंत्रित अध्ययनों के प्रभाव आकार से भी छोटा।
मैंने पाया 0 केस केस स्टडी (जो कि विभिन्न भाषाओं की तुलना पायथन से की गई और अंततः Ocaml पर बसी) में से एक और दिलचस्प चीज़ थी, जो कि मुझे भा गई, लेकिन यह व्यक्तिपरक बात है कि हर कोई अलग तरह से व्याख्या करेगा, जिसे आप देख सकते हैं ।
यह मेरे पास मौजूद धारणा के साथ फिट बैठता है (दुनिया के मेरे छोटे से कोने में, ACL2, इसाबेल / HOL, और PVS सबसे अधिक उपयोग किए जाने वाले उत्तेजक हैं, और यह समझ में आता है कि लोग उद्योग में समस्याओं को हल करते समय अधिक स्वचालन पसंद करेंगे), लेकिन यह है कि व्यक्तिपरक भी।
और फिर ऐसे अध्ययन हैं जो मौजूदा परियोजनाओं से डेटा प्राप्त करते हैं। दुर्भाग्य से, मैं किसी को भी नहीं मिला जिसने कार्य-निर्धारण निर्धारित किया (उदाहरण के लिए, एक उपयुक्त इंस्ट्रूमेंटल वैरिएबल खोजें), इसलिए वे सहसंबंधों को मापते हैं। कुछ सहसंबंध अप्रत्याशित हैं, लेकिन यह निर्धारित करने के लिए पर्याप्त जानकारी नहीं है कि क्यों।
एकमात्र डेटा माइनिंग स्टडी जो आगे के अन्वेषण के बिना संभावित रूप से दिलचस्प डेटा प्रस्तुत करता है, स्मॉलशायर की पायथन बग की समीक्षा है, लेकिन कार्यप्रणाली पर पर्याप्त जानकारी नहीं है कि उसके अध्ययन का वास्तव में क्या मतलब है, और यह स्पष्ट नहीं है कि वह क्यों देख रहा है data3 पेश किए बिना अन्य भाषाओं के लिए डेटा।
अध्ययन से कुछ उल्लेखनीय चूक अनुभवी प्रोग्रामर का उपयोग करके व्यापक अध्ययन हैं, अकेले ऐसे अध्ययन करें जो "अच्छे" या "बुरे" प्रोग्रामर की बड़ी आबादी हैं, एक महत्वपूर्ण परियोजना के लिए कुछ भी देख रहे हैं (जिन स्थानों पर मैंने काम किया है, एक तीन महीने की परियोजना होगी) छोटे माने जाते हैं, लेकिन यह एक नियंत्रित अध्ययन में उपयोग की जाने वाली किसी भी परियोजना की तुलना में बड़े परिमाण के कई आदेश हैं), "आधुनिक" सांख्यिकीय रूप से टाइप की गई भाषाओं का उपयोग करते हुए, क्रमिक / वैकल्पिक टाइपिंग का उपयोग करके, आधुनिक मुख्यधारा आईडीई (जैसे वीएस और एक्लिप्स) का उपयोग करते हुए, बड़े रेडिकल आईडीई का उपयोग करते हुए। (लाइकटेबल की तरह), पुराने स्कूल के संपादकों (जैसे एमएसीएस और वीआईएम) का उपयोग करते हुए, एक गैर-तुच्छ कोडबेस पर रखरखाव करना, यथार्थवादी वातावरण से मिलता-जुलता कुछ भी करना, एक कोडबेस पर रखरखाव करना, जिससे आप पहले से परिचित हैं, आदि।
यदि आप इन अध्ययनों पर इंटरनेट कमेंटरी को देखते हैं, तो उनमें से अधिकांश को एक दृष्टिकोण या किसी अन्य को सही ठहराने के लिए पारित किया जाता है। लिस्प पर अनुवर्ती के साथ-साथ डायनेमिक बनाम स्टेटिक पर प्रीचेल्ट अध्ययन गतिशील भाषा के अधिवक्ताओं के बारहमासी पसंदीदा हैं, और गितुब खनन अध्ययन हाल ही में कार्यात्मक प्रोग्रामर के बीच ट्रेंडी बन गया है।