जबकि काफी समान बात नहीं है, यह इस तरह का है कि HTML आपदा में क्यों बदल गया। ब्राउज़रों ने खराब मार्कअप को सहन किया और अगली बात जो आप जानते थे, ब्राउज़र ए उसी तरह से रेंडर नहीं कर सकता था जो ब्राउज़र बी ने किया था (हाँ इसके अन्य कारण भी हैं, लेकिन यह कुछ शीर्ष में से एक था, 10 साल पहले के कुछ ढीले-ढाले नियम सम्मेलन बन गए थे )।
जैसा कि एरिक लिपर्ट का कहना है, इनमें से बहुत सी चीजें आईडीई द्वारा संभाला जाता है, न कि कंपाइलर से। कि आप देखते हैं कि स्वचालित बिट्स आपके लिए क्या करने की कोशिश कर रहे हैं।
मुझे लगता है कि अब जो रणनीति प्रमुख है, वह कंपाइलर को ढीला करने के बजाय निरंतर भाषा शोधन है: यदि यह वास्तव में ऐसा कुछ है जो कंपाइलर अपने आप पता लगा सकता है, तो इसके चारों ओर एक अच्छी तरह से परिभाषित भाषा निर्माण शुरू करें।
तत्काल उदाहरण जो दिमाग में आता है, वह C # में ऑटो-प्रॉपर्टीज है (केवल भाषा ही नहीं जिसमें कुछ समान है): यह देखते हुए कि किसी भी ऐप में अधिकांश गेटर्स / सेटर वास्तव में सिर्फ एक क्षेत्र के आसपास के रैपर हैं, बस डेवलपर को उन्हें इंगित करने की अनुमति दें इरादा और संकलक को बाकी इंजेक्शन लगाने दें।
जो तब मुझे सोच में पड़ जाता है: अधिकांश सी शैली की भाषाएँ पहले से ही कुछ हद तक ऐसा करती हैं। उन चीजों के लिए जिन्हें स्वचालित रूप से समझा जा सकता है, बस सिंटैक्स को परिष्कृत करें:
if (true == x)
{
dothis();
}
else
{
dothat();
}
इसे कम किया जा सकता है:
if (true == x)
dothis();
else
dothat();
अंत में, मुझे लगता है कि यह नीचे आता है: प्रवृत्ति यह है कि आप संकलक को "अधिक" या "शिथिल" नहीं बनाते हैं। यह ऐसी भाषा है जो होशियार या ढीली है।
इसके अलावा, बहुत अधिक "मदद" खतरनाक हो सकती है, जैसे कि क्लासिक "अगर" बग:
if (true == x)
if (true == y)
dothis();
else
dothat();