विजुअल बेसिक (क्लासिक)

मूल विज़ुअल बेसिक (जिसे क्लासिक विज़ुअल बेसिक भी कहा जाता है) एक तीसरी पीढ़ी की प्रोग्रामिंग भाषा है | तीसरी पीढ़ी की घटना-संचालित प्रोग्रामिंग | Microsoft की घटना-संचालित प्रोग्रामिंग भाषा, जो अपने घटक वस्तु मॉडल (COM) प्रोग्रामिंग मॉडल के लिए जानी जाती है, जिसे पहली बार 1991 में जारी किया गया था और 2008 के दौरान विरासती तंत्र घोषित किया गया था। सीखना और उपयोग करना अपेक्षाकृत आसान हो। विजुअल बुनियादी बेसिक से लिया गया था और तीव्र अनुप्रयोग विकास को सक्षम बनाता है। ग्राफिकल यूज़र इंटरफ़ेस का तीव्र अनुप्रयोग विकास (आरएडी) | ग्राफिकल यूजर इंटरफेस (जीयूआई) अनुप्रयोग, जेट डेटा एक्सेस ऑब्जेक्ट्स, दूरस्थ डेटा ऑब्जेक्ट, या [[ActiveX डेटा ऑब्जेक्ट]] का उपयोग कर डेटाबेस तक पहुंच, और ActiveX नियंत्रणों और वस्तुओं का निर्माण।

एक प्रोग्रामर स्वयं विज़ुअल बेसिक प्रोग्राम द्वारा प्रदान की गई घटक-आधारित सॉफ़्टवेयर इंजीनियरिंग का उपयोग करके एक एप्लिकेशन बना सकता है। समय के साथ प्रोग्रामरों के समुदाय ने तीसरे पक्ष के घटकों का विकास किया।   विजुअल बेसिक में लिखे प्रोग्राम भी विंडोज एपीआई का उपयोग कर सकते हैं, जिसके लिए बाहरी कार्यों की घोषणा की आवश्यकता होती है।

अंतिम रिलीज़ 1998 में संस्करण 6 था। 8 अप्रैल, 2008 को, Microsoft ने Visual Basic 6.0 एकीकृत विकास वातावरण का समर्थन करना बंद कर दिया। माइक्रोसॉफ्ट विज़ुअल बेसिक टीम अभी भी समर्थित विंडोज ऑपरेटिंग सिस्टम पर अपने इट जस्ट वर्क्स प्रोग्राम के माध्यम से विज़ुअल बेसिक 6.0 अनुप्रयोगों के लिए अनुकूलता बनाए रखती है। 2014 में, कुछ सॉफ्टवेयर डेवलपर्स अभी भी इसके उत्तराधिकारी, विजुअल बेसिक .NET पर विजुअल बेसिक 6.0 को प्राथमिकता देते हैं। 2016, 2017 और 2018 में स्टैक ओवरफ़्लो के वार्षिक डेवलपर सर्वेक्षण के उत्तरदाताओं द्वारा विजुअल बेसिक 6.0 को सबसे खतरनाक प्रोग्रामिंग भाषा के रूप में चुना गया था। Visual Basic की एक बोली, Visual Basic for Applications (VBA) का उपयोग Microsoft Office सहित कई Microsoft और स्वतंत्र सॉफ़्टवेयर विक्रेता अनुप्रयोगों में मैक्रो या स्क्रिप्टिंग भाषा के रूप में किया जाता है।

भाषा सुविधाएँ
बेसिक प्रोग्रामिंग लैंग्वेज की तरह, विजुअल बेसिक को एक आसान सीखने की अवस्था के लिए डिज़ाइन किया गया था। प्रोग्रामर सरल और जटिल दोनों ग्राफिकल यूजर इंटरफेस एप्लिकेशन बना सकते हैं। वीबी में प्रोग्रामिंग जीयूआई विजेट्स या जीयूआई विजेट्स को प्रपत्र (प्रोग्रामिंग) पर व्यवस्थित करने, उन घटकों के लिए विशेषताओं और कार्यों को निर्दिष्ट करने और अधिक कार्यक्षमता के लिए स्रोत कोड की अतिरिक्त पंक्तियां लिखने का एक संयोजन है। चूंकि VB घटकों के लिए डिफ़ॉल्ट विशेषताओं और क्रियाओं को परिभाषित करता है, एक प्रोग्रामर बिना अधिक कोड लिखे एक साधारण प्रोग्राम विकसित कर सकता है। पहले के संस्करणों के साथ बनाए गए कार्यक्रमों में प्रदर्शन की समस्याएँ थीं, लेकिन तेज़ कंप्यूटर और देशी कोड संकलन ने इसे कम समस्या बना दिया है। हालांकि VB प्रोग्राम्स को नेटिव कोड एक्ज़ीक्यूटेबल्स #टाइमलाइन ऑफ़ विज़ुअल बेसिक (VB1 से VB6) में संकलित किया जा सकता है, फिर भी उन्हें लगभग 1 एमबी रनटाइम लाइब्रेरी की उपस्थिति की आवश्यकता होती है। कोर रनटाइम पुस्तकालयों को विंडोज 2000 और बाद में डिफ़ॉल्ट रूप से शामिल किया गया है, लेकिन विस्तारित रनटाइम घटकों को अभी भी स्थापित करना होगा। Microsoft Windows (95/98/NT) के पुराने संस्करणों के लिए आवश्यक है कि रनटाइम लाइब्रेरी को निष्पादन योग्य के साथ वितरित किया जाए। खींचें और छोड़ें तकनीकों का उपयोग करके फॉर्म बनाए जाते हैं। प्रपत्र (विंडो) पर नियंत्रण (जैसे, टेक्स्ट बॉक्स, बटन, आदि) रखने के लिए एक उपकरण का उपयोग किया जाता है। नियंत्रणों में गुण (कंप्यूटिंग) और उनसे जुड़े ईवेंट हैंडलर होते हैं। नियंत्रण बनाए जाने पर डिफ़ॉल्ट मान प्रदान किए जाते हैं, लेकिन प्रोग्रामर द्वारा इसे बदला जा सकता है। एक गतिशील अनुप्रयोग प्रदान करते हुए उपयोगकर्ता के कार्यों या पर्यावरण में परिवर्तन के आधार पर रन टाइम के दौरान कई विशेषता मानों को संशोधित किया जा सकता है। उदाहरण के लिए, कोड को फॉर्म रीसाइज आयोजन प्रबंधकर्ता में डाला जा सकता है ताकि नियंत्रण को फिर से स्थापित किया जा सके ताकि यह फॉर्म पर केंद्रित रहे, फॉर्म भरने के लिए विस्तारित हो, आदि। टेक्स्ट बॉक्स में कीप्रेस के लिए इवेंट हैंडलर में कोड डालने से, प्रोग्राम स्वचालित रूप से दर्ज किए जा रहे पाठ का अनुवाद कर सकता है, या कुछ वर्णों को सम्मिलित होने से भी रोक सकता है।

विज़ुअल बेसिक एक्ज़ीक्यूटेबल्स (EXE फ़ाइलें), ActiveX, या DLL फ़ाइलें बना सकता है, लेकिन मुख्य रूप से इसका उपयोग विंडोज़ अनुप्रयोगों को विकसित करने और डेटाबेस सिस्टम के साथ इंटरफेस करने के लिए किया जाता है। पॉप-अप क्षमताओं को प्रदान करने के लिए कम कार्यक्षमता वाले डायलॉग बॉक्स का उपयोग किया जा सकता है। नियंत्रण अनुप्रयोग की बुनियादी कार्यक्षमता प्रदान करते हैं, जबकि प्रोग्रामर उपयुक्त ईवेंट हैंडलर्स के भीतर अतिरिक्त तर्क सम्मिलित कर सकते हैं। उदाहरण के लिए, ड्रॉप-डाउन संयोजन बॉक्स स्वचालित रूप से एक सूची प्रदर्शित करता है। जब उपयोगकर्ता किसी तत्व का चयन करता है, तो एक ईवेंट हैंडलर कहा जाता है जो उस सूची आइटम के लिए कार्रवाई करने के लिए प्रोग्रामर द्वारा बनाए गए कोड को निष्पादित करता है। वैकल्पिक रूप से, एक विज़ुअल बेसिक घटक में कोई उपयोगकर्ता इंटरफ़ेस नहीं हो सकता है, और इसके बजाय कंपोनेंट ऑब्जेक्ट मॉडल (COM) के माध्यम से अन्य प्रोग्रामों को ActiveX ऑब्जेक्ट प्रदान करता है। यह सर्वर साइड प्रोसेसिंग या ऐड-इन मॉड्यूल के लिए अनुमति देता है।

रनटाइम संदर्भ गणना का उपयोग करके अप्रयुक्त मेमोरी को पुनर्प्राप्त करता है, जो चर के दायरे से बाहर जाने या कुछ भी नहीं पर सेट होने पर निर्भर करता है, जो अन्य भाषाओं में संभव स्मृति रिसाव की समस्या से बचता है। उपयोगिता वस्तुओं का एक बड़ा पुस्तकालय है, और भाषा वस्तु-उन्मुख प्रोग्रामिंग के लिए बुनियादी सहायता प्रदान करती है। कई अन्य प्रोग्रामिंग भाषाओं के विपरीत, विज़ुअल बेसिक आमतौर पर केस-संवेदी नहीं है - हालांकि यह कीवर्ड (कंप्यूटर प्रोग्रामिंग) को एक मानक केस कॉन्फ़िगरेशन में बदल देता है और चर नामों के मामले को प्रतीक तालिका में प्रविष्टि के मामले के अनुरूप होने के लिए मजबूर करता है। स्ट्रिंग तुलना डिफ़ॉल्ट रूप से केस संवेदी होती है। विजुअल बेसिक कंपाइलर को अन्य विजुअल स्टूडियो भाषाओं (C, C++) के साथ साझा किया जाता है। फिर भी, डिफ़ॉल्ट रूप से आईडीई में प्रतिबंध कुछ लक्ष्यों (विंडोज मॉडल डीएलएल) और थ्रेडिंग मॉडल के निर्माण की अनुमति नहीं देते हैं, लेकिन वर्षों से, डेवलपर्स ने इन प्रतिबंधों को दरकिनार कर दिया है।

विशेषताएं
विजुअल बेसिक बेसिक की विशेषताओं पर आधारित है।


 * अकेले लाइन नंबर द्वारा पहचाने जाने के बजाय, कोड को नामांकित सबरूटीन्स या विधियों में समूहीकृत किया जा सकता है: Sub...End Sub. विजुअल बेसिक संस्करण 6 या बाद के संस्करण के माध्यम से उपयोगकर्ता द्वारा जोड़े गए लाइन नंबरों का समर्थन करता है।
 * कोड स्टेटमेंट में लाइन एंडिंग (कैरिज रिटर्न/लाइन फीड) के अलावा कोई टर्मिनेटिंग कैरेक्टर नहीं होता है। कम से कम वीबी 3.0 के संस्करणों ने अनुमति दी है कि बयान स्ट्रिंग के संयोजन के साथ अंतर्निहित रूप से बहु-पंक्ति हो सकते हैं या स्पष्ट रूप से लाइनों के अंत में अंडरस्कोर वर्ण (_) का उपयोग कर सकते हैं।
 * कोड टिप्पणियाँ एक एपोस्ट्रोफी (') वर्ण के साथ की जाती हैं, जैसे: ' This is a comment.
 * लूपिंग स्टेटमेंट ब्लॉक कीवर्ड के साथ शुरू और खत्म होते हैं: Do...Loop, While...End जबकि, For...Next ।
 * एकाधिक चर असाइनमेंट संभव नहीं है। A = B = C का अर्थ यह नहीं है कि A, B और C के मान समान हैं। क्या B = C का बूलियन परिणाम है? ए में संग्रहीत है। इसलिए ए में संग्रहीत परिणाम या तो गलत या सही होगा।
 * बूलियन डेटाटाइप स्थिर  संख्यात्मक मान -1 है। ऐसा इसलिए है क्योंकि बूलियन डेटा प्रकार को दो के पूरक हस्ताक्षरित पूर्णांक के रूप में संग्रहीत किया जाता है। इस निर्माण में -1 बाइनरी में सभी -1 का मूल्यांकन करता है (बूलियन मान  ), और 0 सभी-0 के रूप में (बूलियन मान  ). यह (बिटवाइज़) प्रदर्शन करते समय स्पष्ट होता है   दो के पूरक मान 0 पर संक्रिया, जो दूसरे शब्दों में दो का पूरक मान -1 लौटाता है  . एक पूर्णांक के अलग-अलग बिट्स पर तार्किक संचालन करते समय यह अंतर्निहित कार्यक्षमता विशेष रूप से उपयोगी हो जाती है ,  ,   और  . यह परिभाषा   1970 के दशक की शुरुआत से Microsoft BASIC कार्यान्वयन के बाद से भी BASIC के अनुरूप है और उस समय के CPU निर्देशों की विशेषताओं से भी संबंधित है।
 * लॉजिकल और बिटवाइज़ ऑपरेटर्स एकीकृत हैं। यह कुछ सी-व्युत्पन्न भाषाओं (जैसे पर्ल) के विपरीत है, जिनके अलग-अलग तार्किक और बिटवाइज़ ऑपरेटर हैं। यह फिर से बेसिक की एक पारंपरिक विशेषता है।
 * चर सरणी डेटा प्रकार आधार। पास्कल (प्रोग्रामिंग भाषा) और फोरट्रान के समान एक तरह से ऊपरी और निचली सीमा को निर्दिष्ट करके सरणियों को घोषित किया जाता है। डिफॉल्ट लोअर बाउंड सेट करने के लिए ऑप्शन बेस स्टेटमेंट का उपयोग करना भी संभव है। विज़ुअल बेसिक कोड को पढ़ते समय ऑप्शन बेस स्टेटमेंट के उपयोग से भ्रम पैदा हो सकता है और सरणी की निचली सीमा को हमेशा स्पष्ट रूप से निर्दिष्ट करके इससे बचा जा सकता है। यह निचली सीमा 0 या 1 तक सीमित नहीं है, क्योंकि इसे घोषणा द्वारा भी निर्धारित किया जा सकता है। इस तरह, निचली और ऊपरी दोनों सीमाएँ प्रोग्राम करने योग्य हैं। अधिक सबस्क्रिप्ट-सीमित भाषाओं में, सरणी की निचली सीमा परिवर्तनशील नहीं होती है। यह असामान्य विशेषता Visual Basic .NET में मौजूद है लेकिन VBScript में नहीं है।
 * ANSI द्वारा 1970 के दशक के अंत में ANSI मिनिमल बेसिक के मानक के साथ पेश किया गया था।


 * माइक्रोसॉफ्ट विंडोज और कंपोनेंट ऑब्जेक्ट मॉडल के साथ अपेक्षाकृत मजबूत एकीकरण। तार और सरणियों के लिए मूल प्रकार समर्पित COM प्रकार, BSTR और SAFEARRAY हैं।
 * वास्तविक संख्याओं को पूर्णांकों में परिवर्तित करते समय डिफ़ॉल्ट व्यवहार के रूप में बैंकर की गोलाई  समारोह।    2 देता है,   4 देता है।
 * पूर्णांकों को स्वचालित रूप से वास्तविक में बढ़ावा दिया जाता है जिसमें सामान्य डिवीजन ऑपरेटर शामिल होता है ताकि एक पूर्णांक का दूसरे द्वारा विभाजन सहज रूप से सही परिणाम उत्पन्न करे। वीबी एक विशिष्ट पूर्णांक विभाजन ऑपरेटर प्रदान करता है  जो काटता है।
 * डिफ़ॉल्ट रूप से, यदि कोई चर घोषित नहीं किया गया है या यदि कोई प्रकार की घोषणा वर्ण निर्दिष्ट नहीं है, तो चर प्रकार का है . हालाँकि इसे Deftype स्टेटमेंट्स जैसे कि के साथ बदला जा सकता है ,  ,  ,  ,  . 12 हैं   विजुअल बेसिक 6.0 द्वारा प्रस्तुत कुल कथन। चर नाम पर एक विशेष प्रत्यय वर्ण का उपयोग करके एक विशिष्ट घोषणा के लिए डिफ़ॉल्ट प्रकार को ओवरराइड किया जा सकता है (  डबल के लिए,   सिंगल के लिए,   लंबे समय तक के लिए,   पूर्णांक के लिए,   स्ट्रिंग के लिए, और   मुद्रा के लिए) या मुख्य वाक्यांश का उपयोग करना  . वीबी को एक मोड में भी सेट किया जा सकता है कि कमांड के साथ केवल स्पष्ट रूप से घोषित चर का उपयोग किया जा सकता है.

इतिहास
विजुअल बेसिक 1.0 को 1991 में पेश किया गया था। यूजर इंटरफेस बनाने के लिए ड्रैग एंड ड्रॉप डिजाइन एलन कूपर और उनकी कंपनी ट्राइपॉड द्वारा विकसित एक प्रोटोटाइप फॉर्म जनरेटर से लिया गया है।  माइक्रोसॉफ्ट ने कूपर और उसके सहयोगियों के साथ कोड नाम रूबी (बाद की रूबी (प्रोग्रामिंग भाषा) से कोई संबंध नहीं) के तहत विंडोज 3.0 के लिए प्रोग्राम करने योग्य फॉर्म सिस्टम में तिपाई को विकसित करने के लिए अनुबंध किया। तिपाई में प्रोग्रामिंग भाषा बिल्कुल शामिल नहीं थी। Microsoft ने Visual Basic बनाने के लिए रूबी को मूल भाषा के साथ संयोजित करने का निर्णय लिया। रूबी इंटरफ़ेस जनरेटर ने विजुअल बेसिक का दृश्य भाग प्रदान किया, और इसे माइक्रोसॉफ्ट के परित्यक्त ओमेगा डेटाबेस सिस्टम के लिए डिज़ाइन किए गए ईबी एंबेडेड बेसिक इंजन के साथ जोड़ा गया। रूबी ने डायनेमिक-लिंक लाइब्रेरी को लोड करने की क्षमता भी प्रदान की जिसमें अतिरिक्त नियंत्रण (तब गिज़्मोस कहा जाता था), जो बाद में विजुअल बेसिक एक्सटेंशन इंटरफ़ेस बन गया।

1990s

 * प्रोजेक्ट 'बेसिक थंडर' 1990 में शुरू किया गया था। प्राथमिक आंतरिक प्रकार्य, ThunderRTMain के नाम से Visual Basic के अंतिम रिलीज़ तक थंडर बना रहा।
 * विजुअल बेसिक 1.0 (मई 1991) अटलांटा, जॉर्जिया में कॉमडेक्स/विंडोज वर्ल्ड ट्रेड शो में विंडोज के लिए जारी किया गया था।
 * डॉस के लिए विजुअल बेसिक 1.0 सितंबर 1992 में जारी किया गया था। यह भाषा विंडोज के लिए विजुअल बेसिक के साथ काफी संगत नहीं थी, क्योंकि यह माइक्रोसॉफ्ट के डॉस-आधारित बेसिक कंपाइलर्स, क्विकबेसिक और बेसिक प्रोफेशनल डेवलपमेंट सिस्टम का अगला संस्करण था। ग्राफिकल यूजर इंटरफेस की उपस्थिति को अनुकरण करने के लिए विस्तारित ASCII वर्णों का उपयोग करते हुए इंटरफ़ेस ने टेक्स्ट-आधारित यूजर इंटरफेस का उपयोग किया।
 * विज़ुअल बेसिक 2.0 नवंबर 1992 में जारी किया गया था। प्रोग्रामिंग वातावरण का उपयोग करना आसान था, और इसकी गति में सुधार हुआ था। विशेष रूप से, प्रपत्र तात्कालिक वस्तुएं बन गए, इस प्रकार वर्ग मॉड्यूल की आधारभूत अवधारणाएं रखी गईं, जिन्हें बाद में VB4 में पेश किया गया था।
 * Visual Basic 3.0 को 1993 की गर्मियों में रिलीज़ किया गया था और यह मानक और व्यावसायिक संस्करणों में आया था। VB3 में जेट डेटाबेस इंजन का संस्करण 1.1 शामिल था जो जेट (या एक्सेस) 1.x डेटाबेस को पढ़ और लिख सकता था।
 * विज़ुअल बेसिक 4.0 (अगस्त 1995) पहला संस्करण था जो 32-बिट के साथ-साथ 16-बिट विंडोज प्रोग्राम बना सकता था। इसके तीन संस्करण हैं; मानक, पेशेवर और उद्यम। इसने विज़ुअल बेसिक में गैर-जीयूआई कक्षाओं को लिखने की क्षमता भी पेश की। VB4 के साथ भाषा को GUI लाइब्रेरी से अलग किया गया था, और VBA के रूप में उपलब्ध कराया गया था, जिस रूप में इसे Office 95 सुइट के साथ एम्बेड किया गया था। ऑफिस मैक्रोज़ और स्क्रिप्ट्स के माइग्रेशन को आसान बनाने के लिए, WordBasic, Excel Basic और Access Basic की सुविधाओं को भाषा में शामिल किया गया था। VB4 के विभिन्न रिलीज के बीच असंगतता के कारण स्थापना और संचालन की समस्याएं हुईं। जबकि Visual Basic के पिछले संस्करणों में VBX नियंत्रणों का उपयोग किया गया था, इसके बजाय Visual Basic ने अब OLE नियंत्रणों (.OCX में समाप्त होने वाले फ़ाइल नामों के साथ) का उपयोग किया। इन्हें बाद में ActiveX नियंत्रणों का नाम दिया गया।
 * संस्करण 5.0 (फरवरी 1997) के साथ, माइक्रोसॉफ्ट ने विशेष रूप से विंडोज के 32-बिट संस्करणों के लिए विज़ुअल बेसिक जारी किया। प्रोग्रामर जो 16-बिट प्रोग्राम लिखना पसंद करते थे, वे विजुअल बेसिक 4.0 में लिखे प्रोग्राम को विजुअल बेसिक 5.0 में आयात करने में सक्षम थे, और विजुअल बेसिक 5.0 प्रोग्राम को आसानी से विजुअल बेसिक 4.0 में बदला जा सकता है। विजुअल बेसिक 5.0 ने कस्टम उपयोगकर्ता नियंत्रण बनाने की क्षमता के साथ-साथ देशी विंडोज़ निष्पादन योग्य कोड को संकलित करने की क्षमता, गणना-गहन कोड निष्पादन को तेज करने की क्षमता भी पेश की। ActiveXs के निर्माण के लिए एक निःशुल्क, डाउनलोड करने योग्य नियंत्रण निर्माण संस्करण भी जारी किया गया था। इसे विज़ुअल बेसिक के एक परिचयात्मक रूप के रूप में भी इस्तेमाल किया गया था: एक नियमित .exe प्रोजेक्ट को IDE में बनाया और चलाया जा सकता था, लेकिन संकलित नहीं किया गया था।
 * विज़ुअल बेसिक 6.0 (मध्य-1998) में कई क्षेत्रों में सुधार हुआ जिसमें वेब-आधारित एप्लिकेशन बनाने की क्षमता शामिल है।

2000s

 * Microsoft Visual Basic 6.0 के लिए मुख्यधारा का समर्थन 31 मार्च 2005 को समाप्त हो गया और विस्तारित समर्थन मार्च 2008 में समाप्त हो गया। हालांकि, विज़ुअल बेसिक 6 विकास पर्यावरण के प्राथमिक घटक विंडोज़ के सभी 32-बिट संस्करणों में विंडोज़ 11 तक और विंडोज़ सहित चलते हैं।

व्युत्पन्न भाषाएँ
Microsoft ने स्क्रिप्टिंग भाषा में उपयोग के लिए Visual Basic के डेरिवेटिव विकसित किए हैं। विजुअल बेसिक स्वयं बेसिक से काफी हद तक प्राप्त हुआ है, और बाद में इसे .NET Framework|.NET प्लेटफॉर्म संस्करण के साथ बदल दिया गया है।

कुछ व्युत्पन्न भाषाएँ हैं:
 * अनुप्रयोगों के लिए विज़ुअल बेसिक (VBA) कई Microsoft अनुप्रयोगों (Microsoft Office) में शामिल है, और ठोस काम करता है, ऑटोकैड, WordPerfect Office, ArcGIS, Sage 300 ERP, और Business Objects Desktop Intelligence जैसे कई तृतीय-पक्ष उत्पादों में भी शामिल है। विभिन्न अनुप्रयोगों में VBA को लागू करने के तरीके में छोटी-छोटी विसंगतियां हैं, लेकिन यह काफी हद तक Visual Basic 6.0 जैसी ही भाषा है और समान रनटाइम लाइब्रेरी का उपयोग करती है। विज़ुअल बेसिक विकास 6.0 के साथ समाप्त हो गया, लेकिन 2010 में Microsoft ने विस्तारित सुविधाएँ प्रदान करने और 64-बिट समर्थन जोड़ने के लिए VBA 7 पेश किया।
 * Visual Basic .NET Microsoft द्वारा Visual Basic 6.0 का नामित उत्तराधिकारी है, और Microsoft के .NET प्लेटफ़ॉर्म का हिस्सा है। Visual Basic .NET .NET Framework या उसके उत्तराधिकारी, .NET का उपयोग करके संकलित और चलाता है। यह विजुअल बेसिक 6.0 के साथ पश्चगामी संगतता नहीं है। एक स्वचालित रूपांतरण उपकरण मौजूद है, लेकिन अधिकांश परियोजनाओं के लिए पूरी तरह से स्वचालित रूपांतरण असंभव है।
 * VBScript सक्रिय सर्वर पेजों के लिए डिफ़ॉल्ट भाषा है। इसका उपयोग माइक्रोसॉफ्ट विंडोज स्क्रिप्टिंग और क्लाइंट-साइड वेब पृष्ठ स्क्रिप्टिंग में किया जा सकता है। यह सिंटेक्स (प्रोग्रामिंग लैंग्वेज) में VB जैसा दिखता है, लेकिन एक अलग भाषा है - VB रनटाइम के बजाय vbscript.dll द्वारा निष्पादित। ASP और VBScript को ASP.NET के साथ भ्रमित नहीं होना चाहिए, जो संकलित वेब पेजों के लिए .NET फ्रेमवर्क का उपयोग करता है।
 * ओपनऑफिस बेसिक एक विज़ुअल बेसिक संगत दुभाषिया है जो स्टारऑफिस ऑफिस सुइट में उत्पन्न हुआ है।
 * झींगे लिनक्स ऑपरेटिंग सिस्टम के लिए विजुअल बेसिक से प्रेरित मुफ्त सॉफ्टवेयर प्रोग्रामिंग भाषा है। यह विज़ुअल बेसिक का क्लोन नहीं है, लेकिन इसमें विज़ुअल बेसिक प्रोग्राम को गाम्बस में बदलने की क्षमता है।
 * WinWrap बेसिक एक तृतीय-पक्ष VBA संस्करण है जिसका उपयोग विभिन्न सॉफ़्टवेयर के साथ किया जाता है, और प्रोग्रामर के लिए उनके प्रोग्राम में मैक्रो सुविधा बनाने के लिए उपयोग करने के लिए उपलब्ध है।
 * लोटसस्क्रिप्ट लोटस स्मार्टसुइट और लोटस नोट्स में उपलब्ध एक वीबीए संस्करण है।
 * Corel WordPerfect Office के बाद के संस्करण मैक्रो/स्क्रिप्टिंग भाषाओं में से एक के रूप में VBA तक पहुँच को लागू करते हैं, अन्य प्रमुख CorelScript और PerfectScript हैं।
 * माइक्रोसॉफ्ट वर्ड के पुराने संस्करण वर्डबेसिक नामक विज़ुअल बेसिक के एक संस्करण का उपयोग करते हैं।

प्रदर्शन और अन्य मुद्दे
विज़ुअल बेसिक के पुराने संस्करण (संस्करण 5 से पहले) ने कोड को केवल Microsoft P-Code|P-Code में संकलित किया। पी-कोड की व्याख्या लैंग्वेज रनटाइम द्वारा की जाती है। पी-कोड के लाभों में पोर्टेबिलिटी और छोटे बाइनरी फ़ाइल आकार शामिल हैं, लेकिन यह आमतौर पर निष्पादन को धीमा कर देता है, क्योंकि रनटाइम होने से व्याख्या की एक अतिरिक्त परत जुड़ जाती है। Visual Basic अनुप्रयोगों के लिए Microsoft Visual Basic रनटाइम MSVBVMxx.DLL की आवश्यकता होती है, जहाँ xx संबंधित संस्करण संख्या है, या तो 50 या 60। MSVBVM60.dll Windows 98 से Windows 10 तक सभी संस्करणों में Windows के साथ मानक के रूप में आता है (Windows 7 के कुछ संस्करण नहीं होते हैं) इसे शामिल करें)। हालांकि एक विंडोज 95 मशीन को प्रोग्राम द्वारा आवश्यक डीएलएल के इंस्टॉलर के साथ शामिल करने की आवश्यकता होगी। विजुअल बेसिक 5 और 6 मूल या पी-कोड के लिए कोड संकलित कर सकते हैं लेकिन किसी भी मामले में रनटाइम अभी भी अंतर्निहित कार्यों और रूपों के प्रबंधन के लिए आवश्यक है।

VB.NET से पहले विज़ुअल बेसिक संस्करणों में की गई आलोचनाओं में शामिल हैं:
 * विभिन्न रनटाइम डायनेमिक-लिंक लाइब्रेरी से जुड़ी वर्जनिंग समस्याएं, जिन्हें DLL नरक के रूप में जाना जाता है
 * वस्तु-उन्मुख प्रोग्रामिंग के लिए खराब समर्थन
 * ActiveX या DLL का उपयोग करके केवल मल्टी-थ्रेड (कंप्यूटर साइंस) एप्लिकेशन बना सकते हैं
 * मजबूत और कमजोर टाइपिंग की तुलना में अधिक प्रदर्शन और स्टोरेज ओवरहेड वाले भिन्न प्रकार | जोरदार टाइप प्रोग्रामिंग लैंग्वेज
 * जटिल और नाजुक घटक वस्तु मॉडल (COM) रजिस्ट्री प्रविष्टियों पर निर्भरता

विरासत विकास और समर्थन
1.0 से 6.0 तक विजुअल बेसिक विकास पर्यावरण के सभी संस्करणों को 2008 तक माइक्रोसॉफ्ट द्वारा सेवानिवृत्त कर दिया गया था, और इसलिए अब समर्थित नहीं हैं। विज़ुअल बेसिक 6 कोर रनटाइम वातावरण को छोड़कर संबद्ध रनटाइम वातावरण भी असमर्थित हैं, जिसे Microsoft आधिकारिक तौर पर विंडोज 8 के जीवनकाल के लिए समर्थन करता है, विंडोज 10 और विंडोज़ 11। Visual Studio 6.0 के साथ शिप किए गए तृतीय पक्ष घटक इस समर्थन कथन में शामिल नहीं हैं। Microsoft और अन्य विक्रेताओं द्वारा असमर्थित होने के बावजूद कुछ लीगेसी Visual Basic घटक अभी भी नए प्लेटफ़ॉर्म पर कार्य कर सकते हैं. विज़ुअल बेसिक 6.0 के लिए दस्तावेज़ीकरण, इसके एप्लिकेशन प्रोग्रामिंग इंटरफ़ेस और टूल्स को Visual Studio.NET 2002 से पहले अंतिम MSDN रिलीज़ में सबसे अच्छा कवर किया गया है। भाषा विकसित हुई, और पुराने कोड के लिए समर्थन समाप्त हो गया। हालांकि विज़ुअल बेसिक 6 के लिए विक्रेता समर्थन समाप्त हो गया है, और उत्पाद को विंडोज के नवीनतम संस्करणों पर कभी भी समर्थित नहीं किया गया है, पर्यावरण के प्रमुख भाग अभी भी नए प्लेटफॉर्म पर काम करते हैं। विंडोज विस्टा, विंडोज 7, विंडोज 8, विंडोज 10 और विंडोज 11 के 32-बिट और 64-बिट संस्करणों पर काम कर रहे विकास पर्यावरण का एक सबसेट प्राप्त करना संभव है।

उदाहरण कोड
निम्न कोड स्निपेट एक संदेश बॉक्स प्रदर्शित करता है जिसमें हैलो, वर्ल्ड! जैसे ही विंडो लोड होती है: <वाक्यविन्यास प्रकाश लैंग = वीबी हाइलाइट = 3> निजी उप फॉर्म_लोड एक साधारण संदेश बॉक्स निष्पादित करें जो हैलो, वर्ल्ड कहता है! MsgBox हैलो, दुनिया! अंत उप  यह स्निपेट एक काउंटर बनाता है जो हर सेकंड 1 ऊपर जाता है (इसके काम करने के लिए एक लेबल और एक टाइमर नियंत्रण को फॉर्म में जोड़ा जाना चाहिए) जब तक कि फॉर्म बंद न हो जाए या एक पूर्णांक अतिप्रवाह न हो जाए: <वाक्यविन्यास लैंग = वीबी> विकल्प स्पष्ट मंद गणना पूर्णांक के रूप में निजी उप फॉर्म_लोड गिनती = 0 Timer1.Interval = 1000 ' मिलीसेकंड की इकाइयाँ अंत उप निजी सब टाइमर1_टाइमर गिनती = गिनती + 1 Label1.Caption = गिनती अंत उप 

यह भी देखें
IIf - विज़ुअल बेसिक के कई संस्करणों में एक फ़ंक्शन मोटे तौर पर ?: सी और संबंधित भाषाओं के सशर्त ऑपरेटर के बराबर है।
 * प्रोग्रामिंग भाषाओं की तुलना
 * नियंत्रण सरणी

बाहरी संबंध

 * Visual Basic 6.0 Resource Center
 * Secure your Visual Basic 6.0 investment with Microsoft .NET: Migrating from Visual Basic 6.0 to Visual Basic 2008
 * Visual Basic 6 Renewed to Run on Windows 8
 * Instructions for installing Visual Basic 6 on a Windows 10 computer