Comparison of Visual Basic and Visual Basic .NET
ویژول بیسک. نیٹ کو مائیکروسافٹ نے 2002 میں اصل ویژول بیسک کمپیوٹر پروگرامنگ زبان کے جانشین کے طور پر جاری کیا تھا۔ اسے. NET فریم ورک 1 پر لاگو کیا گیا تھا۔ اہم نئی خصوصیت مینجڈ کوڈ تھی۔ صرف ویژول بیسک سے واقف پروگرامرز کو شاید نئے ورژن کے ساتھ کام کرنے یا اس کے لیے موجودہ پروگراموں کو اپنانے میں مشکلات کا سامنا کرنا پڑا ہوگا۔ واضح بڑے اختلافات نئے پلیٹ فارم میں اپنے پیشرو سے بہت کم مماثلت تھی۔ اگرچہ پروگرامرز کو توقع تھی کہ وہ اپنے بصری بنیادی ماخذ کو. NET ہدف پر دوبارہ مرتب کر سکیں گے، لیکن صورت حال کی حقیقت یہ تھی کہ بصری بنیادی. NET ایک بالکل مختلف نمونہ تھا۔ واضح نحو کے فرق کو ایک طرف رکھتے ہوئے، ویژول بیسک. نیٹ سی #کی طرح ہی فعالیت فراہم کرتا ہے (کیونکہ وہ دونوں ایم ایس آئی ایل کو مرتب کرتے ہیں، جس میں سب سے واضح فرق ویژول بیسک. نیٹ کی کیس بے حسی ہے، جو ویژول بیسک کی اصل کیس بے حسی کو برقرار رکھتا ہے)، جو سی #پروگرامرز کے لیے ایک مسئلہ ہے جو ویژول بیسک. نیٹ ڈویلپرز کے ساتھ باہمی تعاون کرنے کی کوشش کر رہے ہیں۔ بنیادی نحو بہت مماثل ہے: شرائط، لوپس، طریقہ کار، ذیلی معمولات کا اعلان اور اسی انداز میں لکھا جاتا ہے (بصری بنیادی دیکھیں)۔ سابقہ بصری بنیادی تکرار سے بصری بنیادی. NET تک نقل و حرکت واقعی موجودہ کوڈ کے حصے ہیں: دونوں دنیاؤں میں تجربہ رکھنے والے پروگرامرز کو پرانے منطق کے ساتھ نئے پلیٹ فارم کو مؤثر طریقے سے نشانہ بنانے کی ضرورت ہوتی ہے۔ ویژول بیسک. NET ڈویلپر کو ویژول بیسک میں استعمال ہونے کے بجائے بنیادی. NET اقسام کا استعمال سیکھنا ہوگا۔ ایک پروگرامر جس نے صرف ویژول بیسک کے ساتھ کام کیا ہے اسے ویژول بیسک. نیٹ میں منتقل ہونے کے لیے سیکھنے کے تیز منحنی خطوط کا سامنا کرنا پڑ سکتا ہے۔ ایک پروگرامر جو کسی دوسری زبان میں مہارت رکھتا ہو یا جس نے. NET رن ٹائم کا تجربہ کیا ہو اسے اس کا مقابلہ کرنے کے قابل ہونا چاہیے۔ ویژول بیسک ڈاٹ نیٹ کو ویژول بیسک 6 کے تسلسل کے بجائے کلاسک ویژول بیسک سے متاثر ایک نئی زبان کے طور پر سوچنا بہتر ہوگا، پروگرامرز کو منتقل کرنے میں اضافی مشکل کے ساتھ کہ VB.NET. NET فریم ورک کے ساتھ انٹرفیس کرتا ہے جبکہ VB6 کمپونینٹ آبجیکٹ ماڈل (COM) پر مبنی تھا۔ مزید تفصیلی موازنہ کچھ فوری تبدیلیاں ہیں جن پر ڈویلپرز کو توجہ دینی چاہیے: مزید سی جیسی نحو بصری بنیادی۔ نیٹ + =،-=، * =،/=،\=، ^ =، اور & = مرکب آپریٹرز کی اجازت دیتا ہے تاکہ: متغیر = متغیر + 1 جیسی لمبی لائنوں کو اب اس طرح لکھا جا سکے: متغیر + = 1 تاہم، اضافہ اور کمی آپریٹرز کی حمایت نہیں کی جاتی ہے۔ شارٹ سرکٹڈ منطق بصری بنیادی کے پہلے تکرار میں، کسی حالت میں تمام بیانات کا جائزہ لیا جاتا یہاں تک کہ اگر کسی حالت کا اندازہ کرنے سے پہلے حالت کے نتائج کا تعین کیا جا سکتا۔ مثال کے طور پر: اگر فو () اور بار () تو یہاں کوڈ پر عمل کیا جاتا ہے اگر فو () اور بار () دونوں ٹرو واپس کرتے ہیں، تاہم، اگر فو () فالس واپس کرتا ہے، تو بار () کا اب بھی اندازہ کیا جاتا ہے اینڈ اگر یہ نہ صرف ناکارہ تھا، بلکہ کسی دوسری زبان میں استعمال ہونے والے کسی بھی شخص کے لیے غیر متوقع نتائج کا باعث بن سکتا ہے۔ ویژول بیسک. نیٹ میں، بہت سی دوسری زبانوں کی طرح شارٹ سرکٹ کی تشخیص فراہم کرنے کے لیے نئے اینڈالسو اور اور ایلس آپریٹرز کو شامل کیا گیا ہے۔ واضح پوائنٹر جیسی اقسام اب نہیں ہیں۔ ور * متغیر اقسام کو ویژول بیسک. نیٹ میں خارج کر دیا گیا ہے۔ عام رن ٹائم فیصلہ کرتا ہے کہ کون سی اقسام حوالہ کی اقسام ہیں اور کون سی اقسام قدر کی اقسام ہیں لہذا یہ اب پروگرامر کا ڈومین نہیں ہے۔ خصوصیات: لیٹ اینڈ سیٹ کلاس کی خصوصیات کو اب لیٹ اینڈ سیٹ بیانات کی ضرورت نہیں ہے۔ ڈیبگ پرنٹنگ ڈیبگ پرنٹ کو ڈیبگ رائٹ اور ڈیبگ رائٹ لائن کے طریقہ کار سے تبدیل کیا گیا ہے۔ ایک طریقہ کار کال میں بصری بنیادی. نیٹ میں قوسین ہونی چاہئیں۔ ویژول بیسک. نیٹ کو پیرامیٹرز کے لیے بائی وال یا بائی ریف کی وضاحت کی ضرورت ہوتی ہے۔ ویژول بیسک میں تفصیلات کو خارج کیا جا سکتا ہے، جس کا مطلب ڈیفالٹ طور پر بائی ریف ہے۔ زیادہ تر ترقیاتی ماحول، جیسے کہ ویژول اسٹوڈیو ڈاٹ نیٹ، خود بخود ایک بائی وال داخل کرے گا، اس لیے عملی طور پر ڈیفالٹ بائی وال ہے، بائی ریف نہیں۔ بصری بنیادی کوڈ کو VB.NET میں تبدیل کرنے کے لیے ٹولز موجود ہیں، جیسے کہ بصری بنیادی اپ گریڈ وزرڈ جو بصری اسٹوڈیو. NET 2002 اور 2003 میں شامل کیا گیا تھا۔ کنورژن ٹولز اگر ضروری ہو تو خود بخود بائی ریف داخل کرتے ہیں، بصری بنیادی ایپلی کیشن کے الفاظ کو محفوظ رکھتے ہیں۔ صفر پر مبنی صفوں بصری بنیادی 5.0 اور 6.0 نے روایتی طور پر صفر پر مبنی صفوں (ڈیفالٹ نچلی حد) کو استعمال کیا ہے، جب تک کہ "آپشن بیس 1" کا اعلان نہ کیا جائے۔ یہ بصری بنیادی پروگراموں میں بہت سی ایک ایک غلطیوں کا ذریعہ تھا، خاص طور پر جب پروگرام لائبریری کی حدود میں انٹرآپریبلٹی سے نمٹا جائے۔ اگرچہ. NET کامن لینگویج رن ٹائم کسی بھی بیس ویلیو کے ساتھ صفوں کی حمایت کر سکتا ہے، بصری بنیادی. NET اور C #صرف صفر پر مبنی صفوں اور فہرستیں فراہم کرتے ہیں، اور. NET کامن لینگویج اسپیسیفیکیشن کو. NET زبانوں کے درمیان باہمی تعاون کے لیے صفر پر مبنی صفوں کی ضرورت ہوتی ہے۔ جگڈ ایرےز ویژول بیسک. نیٹ نے ایک جگڈ ایرے کا تصور متعارف کرایا، جس کے تحت قطاریں ویژول بیسک پروگرامرز پر عائد صفوں کی یکساں لمبائی کے برخلاف غیر مساوی لمبائی رکھ سکتی ہیں۔ متغیر ڈیٹا کی قسم ختم ہو گئی ہے. NET پلیٹ فارم پر مرتب ہونے والی زبانوں میں، اقسام سخت ہیں۔ اگرچہ رن ٹائم گمنام آبجیکٹ کی اجازت دیتا ہے جس میں پہلے سے طے شدہ، نامزد قسم نہیں ہے، متغیر کی قسم اس کی زندگی کے دوران تبدیل نہیں ہوسکتی ہے، لہذا متغیر ڈیٹا ٹائپ کو چھوڑنے کی ضرورت ہے۔ تاہم، ٹائپ "آبجیکٹ" کا عملی طور پر کچھ ایسا ہی طرز عمل ہے۔ حقیقی آبجیکٹ پر مبنی پروگرامنگ بصری بنیادی ایک آبجیکٹ پر مبنی زبان تھی۔ اس نے کلاسوں کی حمایت کی، لیکن دوسرے تصورات کی نہیں جو اسے آبجیکٹ پر مبنی زبان بنائیں۔ بصری بنیادی. NET مندرجہ ذیل خصوصیات کے ساتھ ایک حقیقی آبجیکٹ پر مبنی زبان ہے: وراثت فنکشن اوورلوڈنگ اگرچہ کوئی زبان ٹارگیٹنگ. NET کلاسوں کے لیے متعدد وراثت کی اجازت نہیں دیتا ہے-انٹرفیس کی متعدد وراثت کی حمایت کی جاتی ہے۔ COM سے NET میں تبدیلی جب کہ IDE حقیقت کو چھپانے کا معقول کام کرتا ہے، ایکٹو ایکس آبجیکٹ پر انحصار بصری بنیادی. NET میں چھوڑ دیا جاتا ہے (حالانکہ. NET میں COM کے ساتھ انٹرفیس کرنے کے لیے میکانزم موجود ہیں) اسی طرح کی فعالیت پیش کرنے والے. NET اجزاء کے حق میں۔ یہ تبدیلی ویژول بیسک ڈویلپر کے لیے اچھی ہے کیونکہ ویژول بیسک میں کارکردگی کے زیادہ تر مسائل کام انٹرفیس کی لاگت کے ارد گرد پیدا ہوئے۔ فارم ڈیزائنر کے ذریعے ابتدائی جیومیٹری کا انتظام بصری بنیادی ڈویلپر کی زندگی کی حقیقی رکاوٹوں میں سے ایک ہمیشہ ریزائز کوڈ لکھتا رہا ہے۔ اگرچہ ونفارم کا نمونہ جیومیٹری مینجمنٹ ڈیپارٹمنٹ میں کیو ٹی اور جی ٹی کے + جیسے ٹول کٹ کے پیش نظر مطلوبہ ہونے کے لیے بہت کچھ چھوڑتا ہے، کم از کم ڈویلپر آن ریزائز ہینڈلرز میں کوڈ کے ریم لکھنے کے بجائے فارموں پر ویجٹ کو اینکر کر سکتا ہے۔ آپشن ایکسپلیسیٹ بائے ڈیفالٹ بصری بنیادی. NET میں، آپشن ایکسپلیسیٹ بائے ڈیفالٹ آن ہے۔ حوالہ جات بیرونی روابط VB.NET. NET میں VB 6 اور VB.NET جیگڈ صفوں کے درمیان ٹاپ 5 تبدیلیاں بنیادی پروگرامنگ زبان انفرادی پروگرامنگ زبانوں کا موازنہ بنیادی پروگرامنگ زبان خاندان