ओह डरावनी।
क्षमा करें, लेकिन सभी मौजूदा उत्तर किसी भी तरह से गलत हैं या किसी अन्य तरीके से गलत हैं। जोएल की वास्तव में गुच्छा का सबसे अच्छा है, लेकिन इसके गरीब शब्दों गलतफहमी को प्रोत्साहित करती है (क्षमा करें, जोएल - लेकिन सिर्फ अपनी टिप्पणी को देखो!):
वीबी साथ VB.Net विषम, संभव नहीं है, क्योंकि वे एक ही बात कर रहे हैं ।
यह बिल्कुल कहने जैसा है कि "फल के साथ विपरीत सेब संभव नहीं है क्योंकि वे एक ही चीज़ हैं," और इस तरह के बहुत उपयोगी नहीं हैं; "। VB6" विशेष रूप से
तो कई लोगों को (अभी भी) पर्याय के साथ "वीबी" का उपयोग के बाद से, एक सा स्पष्ट करने के लिए बातें: दोनों VB6 और VB.NET दृश्य मूल भाषा परिवार की बोलियों (चलो हैं इसे कॉल करें)। उनका समानता सर्वश्रेष्ठ पर सतही है; कोई वास्तव में दोनों का उपयोग करता है (और न केवल कुछ स्रोत कोडों पर देखा जाता है) ने देखा होगा कि एक सरसरी सिंटैक्टिक समानता के अलावा, वे पूरी तरह से अलग जानवर हैं। का उपयोग करके वे मूल रूप से अलग-अलग अनुभव हैं।
एकमात्र पहलू जिसमें वे वास्तव में एक दूसरे के समान होते हैं (सिंटैक्स समानता के अलावा) यह है कि वे दोनों तेजी से अनुप्रयोग विकास (आरएडी) के लिए बहुत उपयुक्त हैं ... कम से कम जब तक आप पाइथन या गतिशील भाषाओं जैसे गतिशील भाषाओं की कोशिश नहीं करते हैं, रूबी जैसे जीयूआई फुर्तीली ढांचे के साथ संयोजन में रुबी। लेकिन आरएडी वातावरण के रूप में भी एक बड़ा अंतर है।
वीबी 6 मूल रूप से विकसित किया गया था आरएडी, और कुछ नहीं। और इसके समय में, वीबी 6 एक बड़े मार्जिन द्वारा आरएडी करने के लिए चिह्नित सबसे अच्छी बात थी। दूसरी तरफ, VB.NET, आरएडी विकास के लिए सिंगल आउट नहीं था - सी # से अधिक। दोनों सामान्य उद्देश्य के ढांचे द्वारा समर्थित उच्च-अंत भाषाएं हैं, जावा की तरह, लेकिन जावा के कुछ दोषों में सुधार करने की आकांक्षा के साथ, जैसे बॉयलरप्लेट कोड (प्रतिनिधियों का परिचय, घटनाओं, गुणों, ऑपरेटर अधिभार, नाम के लिए autoboxing लेकिन कुछ ऐसी विशेषताएं)।
और वीबीएनईटी एक बड़ी डिग्री के पीछे संगत है, यह बहुत भ्रामक है। सबसे पहले, कोई साधु व्यक्ति यह नहीं कहेंगे कि सी और सी ++ एक ही भाषाएं हैं क्योंकि बहुत से सी प्रोग्राम सी ++ कंपाइलर्स पर ठीक संकलित करते हैं। वीबी और वीबी.नेट के बीच अंतर कुछ मीट्रिक से भी बड़े हैं क्योंकि नहीं पूर्ण वीबी 6 कोड वैध वीबी.नेट है। वैध .NET कोड का उत्पादन करने के लिए इसे स्वचालित "अपग्रेड सहायक" की आवश्यकता है, और अनुभव से पता चला है कि यह अपग्रेड सहायक मध्यम आकार की परियोजनाओं के लिए भी अनुपयुक्त है, मुख्य रूप से क्योंकि इसका शाब्दिक अनुवाद .NET दुनिया के कई दिशानिर्देशों और धारणाओं को तोड़ देता है।
किबबी की तरह कह रहा है कि वीबी 6 और वीबी.नेट के कंपाइलर्स "मूल रूप से वही" गलत हैं। इसी प्रकार, दावा करते हुए कि "नेट रनटाइम भाषा में कोई बदलाव नहीं है" बिंदु पूरी तरह से याद करता है। बेशक यह भाषा में एक बदलाव है। वीबी.नेट पूरी तरह से .NET ढांचे के आसपास बनाया गया था, यह सिर्फ कोई अन्य पुस्तकालय नहीं है।
उनका दावा है कि
तो VB.Net एक नई भाषा, और नहीं एक पुरानी भाषा का सिर्फ एक नया संस्करण होना चाहिए था, वे "पर त्रुटि गोटो" जो वे नहीं था से छुटकारा मिल गया है | 'टी।
- जो भी भ्रामक है। "त्रुटि गोटो पर" पूरी तरह पिछड़ा संगतता के लिए शामिल किया गया था (अपग्रेड सहायक पुराने-शैली त्रुटि हैंडलिंग को अपवाद-आधारित त्रुटि हैंडलिंग में परिवर्तित नहीं कर सकता)।
मुझे इस लंबी पोस्टिंग का मुख्य बिंदु समेटने दें ताकि यह खो न जाए: जावा और जावास्क्रिप्ट की तरह, वीबी 6 और वीबी.नेट के समान नाम हैं (और इसी कारण से भी: विपणन) लेकिन यह पूरी तरह से भ्रामक है। कुछ वाक्य रचनात्मक समानताएं हैं।इसके अलावा, सतही रूप से और हुड के नीचे, वे पूरी तरह अलग भाषाओं हैं।
क्या आप इस तरह के एक विस्तृत सवाल पूछते हैं? और, इसका उत्तर भी दें? – shahkalpesh
अपने प्रश्नों के उत्तर देने में कुछ भी गलत नहीं है। यह वास्तव में प्रोत्साहित किया जाता है। आप बस *** सुनिश्चित करना चाहते हैं *** जब आप ऐसा करते हैं तो आपके पास बहुत अच्छा जवाब होता है, और आप समुदाय को इनपुट प्रदान करने का अवसर छोड़ देते हैं। यह आपके _answer_ (सवाल नहीं) समुदाय विकी बनाने के लिए SO पर भी अच्छा शिष्टाचार है। –
@ सक्थिविगेश: मुझे लगता है कि इस तरह के अस्पष्ट प्रश्न लिखकर आप इसके लिए बहुत सारी फ्लेक्स पकड़े गए हैं और फिर तुरंत इसे बहुत अपर्याप्त उत्तर पोस्ट कर रहे हैं *। भविष्य में, आप इससे बचना चाहेंगे, जब तक जोएल नोट करता है, आपको पता है * आपके पास एक अच्छा जवाब है। इसके बजाय, एक अच्छा सवाल लिखने में अधिक समय व्यतीत करें ... – Shog9