2009-09-01 9 views
7

मैं वीईबी के विभिन्न रूपों से काफी परिचित हूं जो .NET (VB6, VBA, VBScript ...) से पहले मौजूद थे, लेकिन अभी तक स्वीट न्यू स्वाद में वीबी.NET है।वीबी.नेट और वीबी के पिछले संस्करणों के बीच अंतर क्या हैं?

इसलिए यदि कोई व्यक्ति VB.NET द्वारा लाए गए भाषा में प्रमुख अंतरों का त्वरित सारांश प्रदान करेगा तो मैं इसकी बहुत सराहना करता हूं।

+0

क्या आप इस तरह के एक विस्तृत सवाल पूछते हैं? और, इसका उत्तर भी दें? – shahkalpesh

+8

अपने प्रश्नों के उत्तर देने में कुछ भी गलत नहीं है। यह वास्तव में प्रोत्साहित किया जाता है। आप बस *** सुनिश्चित करना चाहते हैं *** जब आप ऐसा करते हैं तो आपके पास बहुत अच्छा जवाब होता है, और आप समुदाय को इनपुट प्रदान करने का अवसर छोड़ देते हैं। यह आपके _answer_ (सवाल नहीं) समुदाय विकी बनाने के लिए SO पर भी अच्छा शिष्टाचार है। –

+4

@ सक्थिविगेश: मुझे लगता है कि इस तरह के अस्पष्ट प्रश्न लिखकर आप इसके लिए बहुत सारी फ्लेक्स पकड़े गए हैं और फिर तुरंत इसे बहुत अपर्याप्त उत्तर पोस्ट कर रहे हैं *। भविष्य में, आप इससे बचना चाहेंगे, जब तक जोएल नोट करता है, आपको पता है * आपके पास एक अच्छा जवाब है। इसके बजाय, एक अच्छा सवाल लिखने में अधिक समय व्यतीत करें ... – Shog9

उत्तर

10

मान लें कि जब आप vb कहते हैं तो आपका मतलब vb 6. बहुत बड़ा है। मूल दृश्य मूल .NET रनटाइम पर्यावरण का उपयोग नहीं करता है, और हालांकि उनके समान नाम हैं, वे बहुत अधिक अलग-अलग भाषाएं हैं। विजुअल बेसिक पूरी तरह ऑब्जेक्ट उन्मुख नहीं है, लेकिन वीबी नेटवर्क्स है। त्रुटि प्रबंधन दोनों के बीच काफी अलग है। वीबी.Net ने ब्लॉक ब्लॉक को आजमाया है जहां पारंपरिक वीबी त्रुटि गोटो स्टेटमेंट्स पर उपयोग करता है। ये केवल कुछ मतभेद हैं। यह सूची लम्बी होते चली जाती है।

यहां "Visual Fred" नाम का वर्णन करने वाला एक लिंक है।

+2

चलिए उपनाम "विजुअल फ्रेड" को न भूलें। – Kawa

+0

ओएमजी मैं पूरी तरह से उस नाम के बारे में भूल गया। – kemiller2002

+1

वीबी.Net अभी भी पिछली संगतता कारणों के लिए त्रुटि गोटो स्टेटमेंट्स का समर्थन करता है। – Kibbee

3

बहुत कुछ हैं - मुझे लगता है कि सूची में बहुत सारे हैं। आप लगभग पूरी तरह से अलग भाषा VB.Net पर विचार कर सकते हैं जो वीबी को कुछ समान वाक्यविन्यास साझा करता है। सबसे बड़ा परिवर्तन .NET कक्षाओं से परिचित हो रहा है।

5

वीबी.Net सिर्फ नेट बेसिक के साथ काम करने के उद्देश्य से विजुअल बेसिक का संस्करण है। यह भाषा में अन्य परिवर्तन और जोड़ भी बनाता है, लेकिन वीबी के साथ VB.Net को विपरीत करना संभव नहीं है, क्योंकि वे एक ही बात हैं।

आप क्या कर सकते हैं वीबीए, वीबी 6, या वीबीस्क्रिप्ट, या विजुअल बेसिक के कुछ अन्य संस्करण के साथ VB.Net के विपरीत है। लेकिन वीबी.Net अभी भी आईएस वीबी का एक संभावित संस्करण है। वास्तव में, यदि आप उत्पाद के भाषा भाग को स्वयं देखते हैं, तो वे अब इस वर्ष के अंत में वीबी 10 के साथ नवीनतम संस्करण वीबी 9 को कॉल कर रहे हैं।

इसी तरह, आप "पेस्पी" और कोला को विपरीत नहीं कर सकते हैं, क्योंकि पेप्सी कोला है, लेकिन आप पेप्सी और कोक के विपरीत हो सकते हैं।

उस ने कहा, वीबी की वीबी.Net बोली भाषा में महत्वपूर्ण परिवर्तन और सुधार लाती है, जिसमें ऑब्जेक्ट उन्मुख और कार्यात्मक प्रतिमानों के लिए सही समर्थन शामिल है, जहां उस बिंदु पर idiomatic VB.Net कोड अक्सर बहुत अलग होता है वीबी 6-युग कोड।

+3

दोनों का उपयोग करने के बाद, मुझे असहमत होना चाहिए। – Kawa

+2

नहीं, यह नहीं है। हालांकि दोनों मूल के बोलियां हैं, लेकिन विभिन्न कंपाइलर्स और कुछ हद तक समान वाक्यविन्यास के साथ। – svinto

+3

वीबी.Net वीबी का एक स्वाद है। यह निश्चित रूप से एकमात्र स्वाद नहीं है, लेकिन यह मानना ​​है कि यह वीबी नहीं है क्योंकि यह वीबी के एक अन्य विशिष्ट संस्करण के समान नहीं है जिसका उपयोग आपने किया हो सकता है केवल अज्ञान है। –

1

वीबी.Net एक नया संस्करण है जो डॉट नेट फ्रेमवर्क/प्रबंधित कोड का उपयोग करता है।

वीबी पुराना संस्करण है।

1

वीबी पी-कोड या मूल कोड के लिए संकलित करता है, वीबीनेट एमएसआईएल को संकलित करता है। इसके अलावा वाक्यविन्यास थोड़ा अलग है। चूंकि वीबी नेटवर्क्स वीबी उपयोगकर्ताओं और कार्यक्रमों के लिए अपग्रेड पथ है, वहां सहायक ऑब्जेक्ट्स और फ़ंक्शंस का एक गुच्छा है जो VB से VB.net को कोड को आसान बनाता है, इन ऑब्जेक्ट्स और फ़ंक्शंस का सामान्य रूप से अन्य में लिखे प्रोग्रामों में उपयोग नहीं किया जाता है। शुद्ध भाषाएं

+2

वीबी 5 और वीबी 6 देशी मशीन कोड में संकलित किया जा सकता है। पी-कोड का उपयोग वीबी के पुराने संस्करणों में किया गया था (लेकिन अभी भी वैकल्पिक वीबी 5 और वीबी 6 था)। –

8

ओह डरावनी।

क्षमा करें, लेकिन सभी मौजूदा उत्तर किसी भी तरह से गलत हैं या किसी अन्य तरीके से गलत हैं। जोएल की वास्तव में गुच्छा का सबसे अच्छा है, लेकिन इसके गरीब शब्दों गलतफहमी को प्रोत्साहित करती है (क्षमा करें, जोएल - लेकिन सिर्फ अपनी टिप्पणी को देखो!):

वीबी साथ VB.Net विषम, संभव नहीं है, क्योंकि वे एक ही बात कर रहे हैं ।

यह बिल्कुल कहने जैसा है कि "फल के साथ विपरीत सेब संभव नहीं है क्योंकि वे एक ही चीज़ हैं," और इस तरह के बहुत उपयोगी नहीं हैं; "। VB6" विशेष रूप से

तो कई लोगों को (अभी भी) पर्याय के साथ "वीबी" का उपयोग के बाद से, एक सा स्पष्ट करने के लिए बातें: दोनों VB6 और VB.NET दृश्य मूल भाषा परिवार की बोलियों (चलो हैं इसे कॉल करें)। उनका समानता सर्वश्रेष्ठ पर सतही है; कोई वास्तव में दोनों का उपयोग करता है (और न केवल कुछ स्रोत कोडों पर देखा जाता है) ने देखा होगा कि एक सरसरी सिंटैक्टिक समानता के अलावा, वे पूरी तरह से अलग जानवर हैं। का उपयोग करके वे मूल रूप से अलग-अलग अनुभव हैं।

एकमात्र पहलू जिसमें वे वास्तव में एक दूसरे के समान होते हैं (सिंटैक्स समानता के अलावा) यह है कि वे दोनों तेजी से अनुप्रयोग विकास (आरएडी) के लिए बहुत उपयुक्त हैं ... कम से कम जब तक आप पाइथन या गतिशील भाषाओं जैसे गतिशील भाषाओं की कोशिश नहीं करते हैं, रूबी जैसे जीयूआई फुर्तीली ढांचे के साथ संयोजन में रुबी। लेकिन आरएडी वातावरण के रूप में भी एक बड़ा अंतर है।

वीबी 6 मूल रूप से विकसित किया गया था आरएडी, और कुछ नहीं। और इसके समय में, वीबी 6 एक बड़े मार्जिन द्वारा आरएडी करने के लिए चिह्नित सबसे अच्छी बात थी। दूसरी तरफ, VB.NET, आरएडी विकास के लिए सिंगल आउट नहीं था - सी # से अधिक। दोनों सामान्य उद्देश्य के ढांचे द्वारा समर्थित उच्च-अंत भाषाएं हैं, जावा की तरह, लेकिन जावा के कुछ दोषों में सुधार करने की आकांक्षा के साथ, जैसे बॉयलरप्लेट कोड (प्रतिनिधियों का परिचय, घटनाओं, गुणों, ऑपरेटर अधिभार, नाम के लिए autoboxing लेकिन कुछ ऐसी विशेषताएं)।

और वीबीएनईटी एक बड़ी डिग्री के पीछे संगत है, यह बहुत भ्रामक है। सबसे पहले, कोई साधु व्यक्ति यह नहीं कहेंगे कि सी और सी ++ एक ही भाषाएं हैं क्योंकि बहुत से सी प्रोग्राम सी ++ कंपाइलर्स पर ठीक संकलित करते हैं। वीबी और वीबी.नेट के बीच अंतर कुछ मीट्रिक से भी बड़े हैं क्योंकि नहीं पूर्ण वीबी 6 कोड वैध वीबी.नेट है। वैध .NET कोड का उत्पादन करने के लिए इसे स्वचालित "अपग्रेड सहायक" की आवश्यकता है, और अनुभव से पता चला है कि यह अपग्रेड सहायक मध्यम आकार की परियोजनाओं के लिए भी अनुपयुक्त है, मुख्य रूप से क्योंकि इसका शाब्दिक अनुवाद .NET दुनिया के कई दिशानिर्देशों और धारणाओं को तोड़ देता है।

किबबी की तरह कह रहा है कि वीबी 6 और वीबी.नेट के कंपाइलर्स "मूल रूप से वही" गलत हैं। इसी प्रकार, दावा करते हुए कि "नेट रनटाइम भाषा में कोई बदलाव नहीं है" बिंदु पूरी तरह से याद करता है। बेशक यह भाषा में एक बदलाव है। वीबी.नेट पूरी तरह से .NET ढांचे के आसपास बनाया गया था, यह सिर्फ कोई अन्य पुस्तकालय नहीं है।

उनका दावा है कि

तो VB.Net एक नई भाषा, और नहीं एक पुरानी भाषा का सिर्फ एक नया संस्करण होना चाहिए था, वे "पर त्रुटि गोटो" जो वे नहीं था से छुटकारा मिल गया है | 'टी।

- जो भी भ्रामक है। "त्रुटि गोटो पर" पूरी तरह पिछड़ा संगतता के लिए शामिल किया गया था (अपग्रेड सहायक पुराने-शैली त्रुटि हैंडलिंग को अपवाद-आधारित त्रुटि हैंडलिंग में परिवर्तित नहीं कर सकता)।

मुझे इस लंबी पोस्टिंग का मुख्य बिंदु समेटने दें ताकि यह खो न जाए: जावा और जावास्क्रिप्ट की तरह, वीबी 6 और वीबी.नेट के समान नाम हैं (और इसी कारण से भी: विपणन) लेकिन यह पूरी तरह से भ्रामक है। कुछ वाक्य रचनात्मक समानताएं हैं।इसके अलावा, सतही रूप से और हुड के नीचे, वे पूरी तरह अलग भाषाओं हैं।

+0

मैं कहूंगा कि "वे पूरी तरह से समान भाषाएं हैं" जहां "समान" "अलग" के बराबर है - जैसे सेब और नाशपाती! – andora

संबंधित मुद्दे