Comparison of Visual Basic and Visual Basic .NET
विजुअल बेसिक. नेट को माइक्रोसॉफ्ट द्वारा 2002 में मूल विजुअल बेसिक कंप्यूटर प्रोग्रामिंग भाषा के उत्तराधिकारी के रूप में जारी किया गया था। इसे. NET फ्रेमवर्क 1 पर लागू किया गया था। मुख्य नई विशेषता प्रबंधित कोड थी। केवल विजुअल बेसिक से परिचित प्रोग्रामरों को शायद नए संस्करण के साथ काम करने या इसके लिए मौजूदा प्रोग्रामों को अनुकूलित करने में कठिनाइयों का सामना करना पड़ा होगा। स्पष्ट प्रमुख अंतर नए मंच में अपने पूर्ववर्ती के साथ बहुत कम समानता थी। जबकि प्रोग्रामरों को उम्मीद थी कि वे अपने विज़ुअल बेसिक स्रोत को. NET लक्ष्य के लिए पुनः संकलित करने में सक्षम होंगे, स्थिति की वास्तविकता यह थी कि विज़ुअल बेसिक. NET एक बहुत ही अलग प्रतिमान था। स्पष्ट वाक्यविन्यास अंतर एक तरफ, विजुअल बेसिक. नेट सी #के समान ही कार्यक्षमता प्रदान करता है (क्योंकि वे दोनों एमएसआईएल को संकलित करते हैं, जिसमें सबसे स्पष्ट अंतर विजुअल बेसिक. नेट की केस असंवेदनशीलता है, जो विजुअल बेसिक की मूल केस-असंवेदनशीलता को बनाए रखता है), जो सी #प्रोग्रामरों के लिए एक समस्या है जो विजुअल बेसिक. नेट डेवलपर्स के साथ अंतर-संचालन करने की कोशिश कर रहे हैं। बुनियादी वाक्यविन्यास बहुत समान रहता हैः शर्तों, लूप, प्रक्रियाओं, उप-दिनचर्या को उसी तरीके से घोषित और लिखा जाता है (विजुअल बेसिक देखें)। पूर्व विजुअल बेसिक पुनरावृत्तियों से विजुअल बेसिक. नेट तक गतिशीलता वास्तव में मौजूदा कोड के हिस्से हैंः दोनों दुनियाओं में अनुभव वाले प्रोग्रामरों को पुराने तर्क के साथ नए मंच को प्रभावी ढंग से लक्षित करने की आवश्यकता होती है। विजुअल बेसिक. नेट डेवलपर को विजुअल बेसिक में उपयोग किए जाने के बजाय बुनियादी. नेट प्रकारों का उपयोग करना सीखना होगा। एक प्रोग्रामर जिसने केवल विजुअल बेसिक के साथ काम किया है, उसे विजुअल बेसिक. नेट में स्थानांतरित करने के लिए एक तीव्र सीखने की अवस्था का सामना करना पड़ सकता है। एक प्रोग्रामर जो किसी अन्य भाषा में पारंगत है या जिसे. NET रनटाइम का अनुभव हुआ है, उसे इसका सामना करने में सक्षम होना चाहिए। विजुअल बेसिक. नेट को विजुअल बेसिक 6 की निरंतरता के बजाय क्लासिक विजुअल बेसिक से प्रेरित एक नई भाषा के रूप में सोचना बेहतर होगा, जिसमें प्रोग्रामरों को स्थानांतरित करने के लिए अतिरिक्त कठिनाई होगी जो VB.NET. NET फ्रेमवर्क के साथ इंटरफेस करता है जबकि VB6 घटक ऑब्जेक्ट मॉडल (COM) पर आधारित था। अधिक विस्तृत तुलना कुछ तत्काल परिवर्तन हैं जिन पर डेवलपर्स को ध्यान देना चाहिएः अधिक सी-जैसे वाक्यविन्यास विजुअल बेसिक. एन. ई. टी. + =,-=, * =,/=,\=, ^ =, और & = यौगिक प्रचालक के लिए अनुमति देता है ताकि लंबी पंक्तियाँ जैसेः चर = चर + 1 को अब इस प्रकार लिखा जा सकेः चर + = 1 हालाँकि, वृद्धि और कमी प्रचालक समर्थित नहीं हैं। शॉर्ट-सर्किट तर्क विजुअल बेसिक के पूर्व पुनरावृत्तियों में, एक स्थिति में सभी बयानों का मूल्यांकन किया गया होगा, भले ही स्थिति का परिणाम किसी स्थिति का मूल्यांकन करने से पहले निर्धारित किया जा सके। उदाहरण के लिएः यदि फ़ू () और बार () तो यहाँ कोड निष्पादित किया जाता है यदि फ़ू () और बार () दोनों सही लौटते हैं, हालाँकि, यदि फ़ू () गलत लौटाता है, तो बार () का मूल्यांकन अभी भी किया जाता है। विजुअल बेसिक. नेट में, कई अन्य भाषाओं की तरह शॉर्ट-सर्किट मूल्यांकन प्रदान करने के लिए नए एंडअल्सो और ऑरइल्स ऑपरेटर जोड़े गए हैं। विजुअल बेसिक. नेट में एक्सप्लिसिट पॉइंटर जैसे प्रकार अब वार * चर प्रकार नहीं हैं। सामान्य रनटाइम यह तय करता है कि कौन से प्रकार संदर्भ प्रकार हैं और कौन से प्रकार मूल्य प्रकार हैं, इसलिए यह अब प्रोग्रामर का क्षेत्र नहीं है। गुणः लेट्स एंड सेट क्लास गुणों को अब लेट्स एंड सेट स्टेटमेंट्स की आवश्यकता नहीं है डीबग प्रिंटिंग डीबगप्रिंट को डीबग राइट और डीबग राइट लाइन प्रक्रियाओं से बदल दिया गया है एक प्रक्रिया कॉल में विजुअल बेसिक. नेट में कोष्ठक होने चाहिए। विजुअल बेसिक. नेट के लिए मापदंडों के लिए बायवल या बायरेफ विनिर्देश की आवश्यकता होती है। विजुअल बेसिक में विनिर्देशन को छोड़ दिया जा सकता है, जो डिफ़ॉल्ट रूप से बायरेफ़ को दर्शाता है। अधिकांश विकास वातावरण, जैसे कि विजुअल स्टूडियो. नेट, स्वचालित रूप से एक बायवल डाल देगा, इसलिए प्रभावी रूप से डिफ़ॉल्ट बायवल है, बायरेफ नहीं। विजुअल बेसिक कोड को VB.NET में बदलने के लिए उपकरण हैं, जैसे कि विजुअल बेसिक अपग्रेड विज़ार्ड जिसे विजुअल स्टूडियो. NET 2002 और 2003 में शामिल किया गया था। विजुअल बेसिक एप्लिकेशन के शब्दार्थ को संरक्षित करते हुए, यदि आवश्यक हो तो रूपांतरण उपकरण स्वचालित रूप से एक बायरेफ़ डाल देते हैं। शून्य-आधारित सरणी विजुअल बेसिक 5 और 6 ने पारंपरिक रूप से शून्य-आधारित सरणी (डिफ़ॉल्ट निचली सीमा) को नियोजित किया है, जब तक कि "विकल्प आधार 1" घोषित नहीं किया जाता है। यह विजुअल बेसिक कार्यक्रमों में कई आउट-बाय-वन त्रुटियों का स्रोत था, विशेष रूप से जब कार्यक्रम पुस्तकालय सीमाओं के पार अंतरसंचालनीयता से निपटते हैं। हालाँकि. NET सामान्य भाषा रनटाइम किसी भी आधार मूल्य के साथ सरणी का समर्थन कर सकता है, विजुअल बेसिक. NET और C #केवल शून्य-आधारित सरणी और सूचियाँ प्रदान करते हैं, और. NET सामान्य भाषा विनिर्देश के लिए. NET भाषाओं के बीच अंतरसंचालनीयता के लिए शून्य-आधारित सरणी की आवश्यकता होती है। जैग्ड ऐरे विजुअल बेसिक. नेट ने एक जैग्ड ऐरे की अवधारणा पेश की, जिसके द्वारा विजुअल बेसिक प्रोग्रामरों पर लगाए गए ऐरे की समान लंबाई के विपरीत पंक्तियों की असमान लंबाई हो सकती है। . NET प्लेटफॉर्म पर संकलित करने वाली भाषाओं में, प्रकार सख्त हैं। जबकि रनटाइम अनाम वस्तु के लिए अनुमति देता है जिसमें पूर्व-परिभाषित, नामित प्रकार नहीं है, एक चर का प्रकार अपने जीवन-काल के दौरान नहीं बदल सकता है, इसलिए संस्करण डेटा-प्रकार को छोड़ने की आवश्यकता है। हालांकि, "ऑब्जेक्ट" प्रकार का व्यवहार कुछ हद तक व्यवहार में समान है। वास्तविक ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग विजुअल बेसिक एक ऑब्जेक्ट-आधारित भाषा थी। इसने वर्गों का समर्थन किया, लेकिन अन्य अवधारणाओं का नहीं जो इसे एक वस्तु-उन्मुख भाषा बनाती। विजुअल बेसिक. नेट निम्नलिखित विशेषताओं के साथ एक वास्तविक ऑब्जेक्ट-ओरिएंटेड भाषा हैः इनहेरिटेंस फंक्शन ओवरलोडिंग हालांकि कोई भी भाषा लक्ष्यीकरण. नेट वर्गों के लिए कई इनहेरिटेंस की अनुमति नहीं देता है-इंटरफेस की कई इनहेरिटेंस समर्थित है। सी. ओ. एम. से एन. ई. टी. में परिवर्तन जबकि आई. डी. ई. तथ्य को छिपाने का एक उचित काम करता है, एक्टिवएक्स वस्तुओं पर निर्भरता को विजुअल बेसिक. एन. ई. टी. में हटा दिया जाता है (हालांकि. एन. ई. टी. में सी. ओ. एम. के साथ इंटरफेस करने के लिए तंत्र हैं) समान कार्यक्षमता प्रदान करने वाले. एन. ई. टी. घटकों के पक्ष में। यह बदलाव विजुअल बेसिक डेवलपर के लिए अच्छा है क्योंकि विजुअल बेसिक में प्रदर्शन के अधिकांश मुद्दे कॉम इंटरफेस की लागत के आसपास उत्पन्न हुए थे। फॉर्म डिजाइनर के माध्यम से प्राथमिक ज्यामिति प्रबंधन एक विजुअल बेसिक डेवलपर के जीवन के वास्तविक प्रतिबंधों में से एक हमेशा आकार परिवर्तन कोड लिखना रहा है। जबकि विनफॉर्म्स प्रतिमान क्यूटी और जीटीके + जैसे टूलकिट के सामने ज्यामिति प्रबंधन विभाग में वांछित होने के लिए बहुत कुछ छोड़ देता है, कम से कम डेवलपर ऑनरेसाइज़ हैंडलर में कोड के रीम लिखने के बजाय फॉर्म पर विजेट को लंगर डाल सकता है। विजुअल बेसिक. नेट में, विकल्प स्पष्ट डिफ़ॉल्ट रूप से चालू है। संदर्भ बाहरी लिंक VB.NET. NET बेसिक प्रोग्रामिंग भाषा में VB 6 और VB.NET जग्ड सरणी के बीच शीर्ष 5 परिवर्तन व्यक्तिगत प्रोग्रामिंग भाषाओं की तुलना बेसिक प्रोग्रामिंग भाषा परिवार