Comparison of Visual Basic and Visual Basic .NET
ভিজ্যুয়াল বেসিক. নেট 2002 সালে মাইক্রোসফ্ট দ্বারা মূল ভিজ্যুয়াল বেসিক কম্পিউটার প্রোগ্রামিং ভাষার উত্তরসূরি হিসাবে প্রকাশিত হয়েছিল। এটি. NET ফ্রেমওয়ার্ক 1-এ বাস্তবায়িত হয়েছিল। প্রধান নতুন বৈশিষ্ট্যটি ছিল কোড পরিচালনা করা। শুধুমাত্র ভিজ্যুয়াল বেসিকের সাথে পরিচিত প্রোগ্রামাররা সম্ভবত নতুন সংস্করণের সাথে কাজ করতে বা এর জন্য বিদ্যমান প্রোগ্রামগুলি মানিয়ে নিতে অসুবিধার সম্মুখীন হতেন। স্পষ্ট প্রধান পার্থক্য নতুন প্ল্যাটফর্মটি তার পূর্বসূরীর সাথে সামান্য সাদৃশ্য বহন করে। যদিও প্রোগ্রামাররা তাদের ভিজ্যুয়াল বেসিক উৎসকে একটি. NET লক্ষ্যে পুনরায় কম্পাইল করতে সক্ষম হবেন বলে আশা করেছিলেন, পরিস্থিতির বাস্তবতা ছিল যে ভিজ্যুয়াল বেসিক. NET একটি সম্পূর্ণ ভিন্ন দৃষ্টান্ত ছিল। স্পষ্ট বাক্যবিন্যাসের পার্থক্যগুলি বাদ দিয়ে, ভিজ্যুয়াল বেসিক. নেট সি #-এর মতো একই কার্যকারিতা সরবরাহ করে (যেহেতু তারা উভয়ই এমএসআইএল-এ সংকলন করে, সবচেয়ে স্পষ্ট পার্থক্য হল ভিজ্যুয়াল বেসিক. নেট-এর কেস অসংবেদনশীলতা, ভিজ্যুয়াল বেসিকের মূল কেস-সংবেদনশীলতা বজায় রাখা), যা সি #প্রোগ্রামারদের জন্য অন্য যে কোনও কিছুর চেয়ে ভিজ্যুয়াল বেসিক. নেট ডেভেলপারদের সাথে আন্তঃক্রিয়া করার চেষ্টা করার জন্য একটি সমস্যা। মৌলিক বাক্যবিন্যাস খুব অনুরূপ থাকেঃ শর্ত, লুপ, পদ্ধতি, উপ-রুটিন একই পদ্ধতিতে ঘোষণা করা হয় এবং লেখা হয় (ভিজ্যুয়াল বেসিক দেখুন)। পূর্ববর্তী ভিজ্যুয়াল বেসিক পুনরাবৃত্তি থেকে ভিজ্যুয়াল বেসিক. নেট-এ গতিশীলতা প্রকৃতপক্ষে বিদ্যমান কোডের অংশঃ উভয় বিশ্বের অভিজ্ঞতাসম্পন্ন প্রোগ্রামারদের পুরানো যুক্তি দিয়ে নতুন প্ল্যাটফর্মকে কার্যকরভাবে লক্ষ্য করতে হবে। ভিজ্যুয়াল বেসিক. নেট ডেভেলপারকে ভিজ্যুয়াল বেসিকের পরিবর্তে মৌলিক. নেট প্রকারের ব্যবহার শিখতে হবে। একজন প্রোগ্রামার যিনি শুধুমাত্র ভিজ্যুয়াল বেসিকের সাথে কাজ করেছেন তিনি ভিজ্যুয়াল বেসিক. নেট-এ স্থানান্তরিত হওয়ার জন্য একটি খাড়া শেখার বক্ররেখার সম্মুখীন হতে পারেন। একজন প্রোগ্রামার যিনি অন্য ভাষায় পারদর্শী বা যার. NET রানটাইমের এক্সপোজার হয়েছে তাকে মোকাবেলা করতে সক্ষম হওয়া উচিত। ভিজ্যুয়াল বেসিক. নেট-কে ভিজ্যুয়াল বেসিক 6.0-এর ধারাবাহিকতা হিসাবে না ভেবে ক্লাসিক ভিজ্যুয়াল বেসিক দ্বারা অনুপ্রাণিত একটি নতুন ভাষা হিসাবে ভাবা ভাল হবে, প্রোগ্রামারদের স্থানান্তরিত করার জন্য অতিরিক্ত অসুবিধা সহ যে VB.NET. NET ফ্রেমওয়ার্কের সাথে ইন্টারফেস করে যেখানে VB6 কম্পোনেন্ট অবজেক্ট মডেল (COM)-এর উপর ভিত্তি করে ছিল। আরও বিস্তারিত তুলনা কিছু তাৎক্ষণিক পরিবর্তন রয়েছে যা ডেভেলপারদের লক্ষ্য করা উচিতঃ আরও সি-এর মতো সিনট্যাক্স ভিজ্যুয়াল বেসিক। নেট + =,-=, * =,/=,\=, ^ =, এবং & = যৌগিক অপারেটরদের অনুমতি দেয় যাতেঃ পরিবর্তনশীল = পরিবর্তনশীল + 1 এর মতো দীর্ঘ লাইনগুলি এখন এইভাবে লেখা যেতে পারেঃ পরিবর্তনশীল + = 1 তবে, বৃদ্ধি এবং হ্রাস অপারেটরগুলি সমর্থিত নয়। শর্ট-সার্কিট যুক্তিবিজ্ঞান ভিজ্যুয়াল বেসিকের পূর্ববর্তী পুনরাবৃত্তিতে, একটি অবস্থার সমস্ত বিবৃতি মূল্যায়ন করা হত, এমনকি যদি কোনও অবস্থার মূল্যায়ন করার আগে অবস্থার ফলাফল নির্ধারণ করা যেত। উদাহরণস্বরূপঃ যদি ফো () এবং বার () হয় তবে এখানে 'কোড' কার্যকর করা হয় যদি ফো () এবং বার () উভয়ই সত্য বলে ফিরে আসে, তবে, যদি ফো () মিথ্যা বলে, তবে বার () এখনও মূল্যায়ন করা হয় শেষ যদি এটি কেবল অকার্যকরই না হয়, তবে অন্য ভাষায় ব্যবহৃত যে কোনও ব্যক্তির জন্য অপ্রত্যাশিত ফলাফলের দিকে নিয়ে যেতে পারে। ভিজুয়াল বেসিক. নেট-এ, অন্যান্য অনেক ভাষার মতো শর্ট-সার্কিট মূল্যায়ন প্রদানের জন্য নতুন অ্যান্ডএলসো এবং ওরএলস অপারেটর যুক্ত করা হয়েছে। এক্সপ্লিসিট পয়েন্টারের মতো প্রকারগুলি আর নেই ওয়ার * পরিবর্তনশীল প্রকারগুলি ভিজ্যুয়াল বেসিক. নেট-এ অবচিত করা হয়। সাধারণ রানটাইম সিদ্ধান্ত নেয় যে কোন ধরনের রেফারেন্স প্রকার এবং কোন ধরনের মান প্রকার তাই এটি আর প্রোগ্রামারের ডোমেন নয়। বৈশিষ্ট্যঃ লেট এবং সেট ক্লাস বৈশিষ্ট্যগুলির জন্য আর লেট এবং সেট স্টেটমেন্টের প্রয়োজন নেই ডিবাগ প্রিন্টিং ডিবাগপ্রিন্টকে ডিবাগ রাইট এবং ডিবাগ রাইট লাইন পদ্ধতি দ্বারা প্রতিস্থাপিত করা হয়েছে একটি পদ্ধতি কলের অবশ্যই ভিজ্যুয়াল বেসিক. নেট-এ বন্ধনী থাকতে হবে। ভিজ্যুয়াল বেসিক. নেট-এর পরামিতিগুলির জন্য একটি বাইভাল বা বাইরেফ নির্দিষ্টকরণ প্রয়োজন। ভিজ্যুয়াল বেসিক-এ নির্দিষ্টকরণটি বাদ দেওয়া যেতে পারে, যা ডিফল্টরূপে বাইরেফকে বোঝায়। বেশিরভাগ উন্নয়ন পরিবেশ, যেমন ভিজ্যুয়াল স্টুডিও. নেট, স্বয়ংক্রিয়ভাবে একটি বাইভাল সন্নিবেশ করবে, তাই কার্যত ডিফল্ট হল বাইভাল, বাইরেফ নয়। ভিজ্যুয়াল বেসিক কোডকে VB.NET-এ রূপান্তর করার সরঞ্জাম রয়েছে, যেমন ভিজ্যুয়াল বেসিক আপগ্রেড উইজার্ড যা ভিজ্যুয়াল স্টুডিও. নেট 2002 এবং 2003-এ অন্তর্ভুক্ত ছিল। রূপান্তর সরঞ্জামগুলি প্রয়োজন হলে স্বয়ংক্রিয়ভাবে একটি বাইরেফ সন্নিবেশ করে, যা ভিজ্যুয়াল বেসিক অ্যাপ্লিকেশনের শব্দার্থবিজ্ঞান সংরক্ষণ করে। শূন্য-ভিত্তিক অ্যারে ভিজ্যুয়াল বেসিক 5 এবং 6 ঐতিহ্যগতভাবে শূন্য-ভিত্তিক অ্যারে (ডিফল্ট নিম্ন সীমা) নিযুক্ত করেছে, যদি না "অপশন বেস 1" ঘোষণা করা হয়। এটি ভিজ্যুয়াল বেসিক প্রোগ্রামগুলিতে অনেকগুলি একের পর এক ত্রুটির উৎস ছিল, বিশেষত যখন প্রোগ্রাম লাইব্রেরির সীমানা জুড়ে আন্তঃব্যবহারযোগ্যতা নিয়ে কাজ করা হয়। যদিও. NET কমন ল্যাঙ্গুয়েজ রানটাইম যে কোনও বেস মান সহ অ্যারেগুলিকে সমর্থন করতে পারে, ভিজ্যুয়াল বেসিক. NET এবং C #শুধুমাত্র শূন্য-ভিত্তিক অ্যারে এবং তালিকা সরবরাহ করে এবং. NET কমন ল্যাঙ্গুয়েজ স্পেসিফিকেশনের জন্য. NET ভাষাগুলির মধ্যে আন্তঃব্যবহারযোগ্যতার জন্য শূন্য-ভিত্তিক অ্যারে প্রয়োজন। জ্যাগ্ড অ্যারে ভিজ্যুয়াল বেসিক. নেট একটি জ্যাগ্ড অ্যারের ধারণা চালু করেছে, যার মাধ্যমে ভিজ্যুয়াল বেসিক প্রোগ্রামারদের উপর আরোপিত অ্যারের অভিন্ন দৈর্ঘ্যের বিপরীতে সারিগুলির অসম দৈর্ঘ্য থাকতে পারে। ভেরিয়েন্ট ডেটা টাইপ চলে গেছে. NET প্ল্যাটফর্মে সংকলিত ভাষাগুলিতে, প্রকারগুলি কঠোর। যদিও রানটাইম বেনামী বস্তুর জন্য অনুমতি দেয় যার একটি পূর্ব-সংজ্ঞায়িত, নামযুক্ত প্রকার নেই, একটি পরিবর্তনশীলের ধরণ তার জীবনকালের সময়কালে পরিবর্তিত নাও হতে পারে, তাই ভেরিয়েন্ট ডেটা-টাইপটি বাদ দেওয়ার প্রয়োজন। যাইহোক, "অবজেক্ট" টাইপের অনুশীলনে কিছুটা অনুরূপ আচরণ রয়েছে। প্রকৃত অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং ভিজ্যুয়াল বেসিক একটি অবজেক্ট-ভিত্তিক ভাষা ছিল। এটি শ্রেণীগুলিকে সমর্থন করেছিল, তবে অন্যান্য ধারণাগুলি নয় যা এটিকে একটি বস্তু-ভিত্তিক ভাষায় পরিণত করবে। ভিজ্যুয়াল বেসিক. নেট একটি সত্যিকারের অবজেক্ট-ওরিয়েন্টেড ভাষা যার নিম্নলিখিত বৈশিষ্ট্যগুলি রয়েছেঃ ইনহেরিট্যান্স ফাংশন ওভারলোডিং যদিও কোনও ভাষা টার্গেটিং. নেট ক্লাসের জন্য একাধিক ইনহেরিট্যান্সের অনুমতি দেয় না-ইন্টারফেসের একাধিক ইনহেরিট্যান্স সমর্থিত। সি. ও. এম থেকে এন. ই. টি-তে পরিবর্তন যদিও আই. ডি. ই সত্যটি লুকানোর একটি যুক্তিসঙ্গত কাজ করে, অ্যাক্টিভএক্স বস্তুর উপর নির্ভরতা ভিজ্যুয়াল বেসিক. নেট-এ বাদ দেওয়া হয় (যদিও. নেট-এ সি. ও. এম-এর সাথে সংযোগ স্থাপনের জন্য প্রক্রিয়া রয়েছে) একই ধরনের কার্যকারিতা প্রদানকারী. নেট উপাদানগুলির পক্ষে। এই পরিবর্তনটি ভিজ্যুয়াল বেসিক ডেভেলপারের জন্য ভাল কারণ ভিজ্যুয়াল বেসিকের বেশিরভাগ পারফরম্যান্স সমস্যা কম ইন্টারফেসের খরচকে ঘিরে উদ্ভূত হয়েছিল। ফর্ম ডিজাইনারের মাধ্যমে প্রাথমিক জ্যামিতি ব্যবস্থাপনা একজন ভিজ্যুয়াল বেসিক ডেভেলপারের জীবনের সত্যিকারের প্রতিবন্ধকতাগুলির মধ্যে একটি হল সর্বদা আকার পরিবর্তন কোড লেখা। যদিও কিউটি এবং জিটিকে +-এর মতো টুলকিটের ক্ষেত্রে জ্যামিতি ব্যবস্থাপনা বিভাগে উইনফর্মস দৃষ্টান্তটি কাঙ্ক্ষিত হওয়ার জন্য অনেক কিছু রেখে যায়, অন্তত বিকাশকারী অনরেসাইজ হ্যান্ডলারগুলিতে কোডের রিম লেখার পরিবর্তে ফর্মগুলিতে উইজেটগুলি অ্যাঙ্কর করতে পারে। অপশন এক্সপ্লিসিট ডিফল্টরূপে ভিজ্যুয়াল বেসিক. নেট-এ, অপশন এক্সপ্লিসিট ডিফল্টরূপে চালু থাকে। তথ্যসূত্র বাহ্যিক লিঙ্ক VB.NET. NET বেসিক প্রোগ্রামিং ল্যাঙ্গুয়েজ-এ VB 6 এবং VB.NET জাগড অ্যারে-র মধ্যে শীর্ষ 5টি পরিবর্তন পৃথক প্রোগ্রামিং ল্যাঙ্গুয়েজগুলির তুলনা বেসিক প্রোগ্রামিং ল্যাঙ্গুয়েজ পরিবার