जाहिर है, आपका सवाल शॉर्ट-सर्कुलेटिंग सामान्य रूप से अच्छा या बुरा होने के बारे में नहीं है, लेकिन इस बारे में कि VB.NET ऑपरेटरों को इसके बिना और इसके बिना क्यों प्रदान करता है। इसे ध्यान में रखते हुए, का उत्तर
शॉर्ट-सर्किट मूल्यांकन कब बुरा है?
बस है: जब यह पश्चगामी संगतता का उल्लंघन करता है ।
ठीक है, अब आप कह सकते हैं कि VB.NET पुराने VB6 या VBA के लिए बहुत पीछे की ओर नहीं है, हालांकि कम से कम भाषा के कुछ हिस्से हैं। पुराने और OR शब्दार्थ (अल्प-परिवृत्त के बिना) रखने के Microsoft के निर्णय ने VB.NET में पुराने VB कार्यक्रमों को पोर्ट करते समय त्रुटियों की एक बड़ी श्रेणी उत्पन्न होने की संभावना कम कर दी।
दूसरी ओर, VB.NET भाषा डिजाइनरों ने संभवतः शॉर्ट-सर्कुलेटिंग के बारे में आपकी राय साझा की है जो एक अच्छी बात है। जब मुझे सही ढंग से याद है, तो पहले VB.NET के पूर्व-रिलीज़ संस्करणों ने लघु-संचलन के साथ AND या ऑपरेटर प्रदान किए थे, लेकिन डेवलपर की प्रतिक्रिया इतनी खराब होनी चाहिए कि MS VB.NET 1.0 के प्रकट होने से पहले इस निर्णय को वापस ले ले। इसलिए डिजाइनरों ने इसे नए कीवर्ड के रूप में लागू करने ANDALSO
और ORELSE
पीछे की संगतता और उपयोगिता के बीच एक व्यापार-बंद के रूप में लागू करने का फैसला किया ।
IMHO यह एक अच्छा निर्णय था। मुझे पिछले दशक में कई पुराने कार्यक्रमों को पोर्ट करना पड़ा, और AND और / या OR (दंडात्मक उद्देश्य) सहित हर तर्क अभिव्यक्ति के लिए एक भारी प्रभाव विश्लेषण करने के लिए नहीं होने से उस कार्य को बहुत आसान और अधिक आर्थिक बना दिया। दूसरी ओर, जब भी मुझे VB.NET में एक नई तार्किक अभिव्यक्ति लिखनी है, तो ऑपरेटरों के लिए मेरी डिफ़ॉल्ट पसंद शॉर्ट-सर्किट फॉर्म हैं, यही वह है जिसका उपयोग मैं C, C ++, C # आदि से कर रहा हूं, और यह अनुमति देता है मुझे और अधिक संक्षिप्त रूप में कई मुहावरे लिखने के लिए (भले ही ANDALSO को टाइप करने के लिए 4 वर्णों की आवश्यकता हो)।
यदि आप आश्वस्त नहीं हैं, तो मैं जोएल स्पोल्स्की के मार्टियन हेडसेट्स के बारे में शानदार लेख पढ़ने की सलाह देता हूं , जिसके बारे में है कि सॉफ्टवेयर डेवलपमेंट में शुरुआती डिजाइन के फैसले आसानी से रद्द नहीं किए जा सकते क्योंकि घटक या भाषा या एपीआई हिस्सेदारी में एक निश्चित आकार के उपयोगकर्ता आधार तक पहुंच गई है। ।