عمومی

VB.Net چیست + ۵ تفاوت مهم C# و VB

VB.net چیست ؟ این سوالیست که در این مقاله به آن خواهیم پرداخت و زمانی که مفهوم VB را بطو کامل درک کردیم. مقایسه ای بین VB و C# خواهیم داشت.

فهرست این مقاله ( با کلیک روی هر عنوان به آن قسمت منتقل می شوید) پنهان

VB.net چیست

VB.net که مخفف شده عبارت Visual Basic.‌NET می باشد، زبانی شی گرا به حساب آمده و توسط شرکت مایکروسافت تولید شده است. این زبان در واقع تکامل یافته زبان VB6 است که برای توسعه وب و خدمات آن تولید و طراحی شده است.

اگر آشنایی اولیه با زبان Visual Basic داشته باشید، کار با VB.net بسیار ساده است. زیرا این زبان مبتی بر زبان بیسیک طراحی شده است. یادگیری این زبان به کاربر این امکان را می دهد تا در کوتاه ترین زمان ممکن سایت یا برنامه تجاری درست نماید.

حالا که میدانید VB.net چیست و از کجا آمده است، به سراغ تفاوت میان VB و C# خواهیم رفت.

تفاوت میان C# و VB چیست

بسیاری از افراد به اشتباه تصور می کنند زبان سی شارپ خیلی بهتر از زبان VB.NET است. حتی بعضی از برنامه نویسان که به تازگی با چارچوب .NET  آشنا شده اند اذعان می دارند که C#.NET بهتر از VB.NET می باشد. متاسفانه بسیاری از مدیران شرکت های نرم افزاری نیز تصور می نمایند که C#.NET نسبت به VB.NET مزیت قابل توجهی دارد و حتی قابل مقایسه نیست.

تفاوت C# و VB.NET چیست

پس از آنکه دانستیم VB چیست و به این مطلب اشاره شد که اکثر مردم فکر میکنند C#.net بهتر از VB.net عمل میکند، وقت آن است که بگوییم تفاوت سی شارپ و vb چیست و این دو زبان را در چارچوب دات نت مقایسه کنیم.

دو زبان C# و VB هردو با چارچوب .NET سازگار هستند. در واقع این دو زبان از نظر قابلیت‌ها و توانایی‌ها هیچ تفاوت عمده‌ای ندارند ، جز اینکه زبان سی‌شارپ به دلیل ارث بردن پاره ای خصوصیات از زبان C ، به برنامه نویس اجازه می‌دهد که مستقیما حافظه را مدیریت کند. در مقاله c# چیست مفصل درباره این زبان برنامه نویسی صحبت شده است.

با این وجود هنوز هم بسیاری از برنامه‌نویسان و کارشناسان به اشتباه تصور می نمایند که #C از VB.NET قوی‌تر است. ما صراحتا در اینجا میگوییم که چنین نیست.

دلیل این ادعا بسیار ساده است :

تمام برنامه هایی که برای .NET Platform نوشته می شوند پیش از اینکه به کد باینری یا زبان ماشین (Native Code) تبدیل شوند، ابتدا به یک زبان میانی (Microsoft Intermediate Language) تبدیل می شوند. بنابراین هر دو زبان C# و VB چیزی نیستند جز یک پوشش ظاهری برای زبان MSIL یا Microsoft Intermediate Language که هنگام کامپایل شدن Source Code برنامه ای که با یک زبان دات نتی نوشته شده است تولید می شود.

زبانهای .NET Platform به طور یکسان از این زبان میانی پشتیبانی می کنند. در واقع این زبانها از استاندارد MSIL پیروی می کنند. پس از آنجا که هردو زبان مذکور در نهایت به کدهای MSIL تبدیل می شوند، اهمیت این موضوع که ابتدا به چه زبانی نوشته شده اند کمرنگ می گردد. بنابراین هر دو زبان به یک ترتیب از توانایی ها و قابلیت های کلیدی چارچوب .NET پشتیبانی می کنند.

تفاوت C# و VB چیست

بطور مثال مدیریت حافظه در VB.NET دقیقا به همان ترتیب سی شارپ انجام می گردد. در گذشته چنین نبود و یکی از دلایل گزینش زبان C به جای ویژال بیسیک ، برتری محسوس C نسبت به ویژوال بیسیک در زمینه مدیریت حافظه بود. این تفاوت دیگر از بین رفته است.

مدیریت حافظه مستقیما توسط چارچوب NET. انجام می‌شود و نوع زبان برنامه‌نویسی در این خصوص تاثیری ندارد. حتی برتری ویژوال بیسیک در زمینه Rapid Application Development و معماری Windows forms نیز در NET Platform. از بین رفته است.

ایجاد برنامه های کاربردی در سی شارپ دقیقا به همان سادگی ویژوال بیسیک دات‌نت است اما اگر از شما بپرسند تفاوت C# و VB.net چیست باید گفت تفاوت‌های اصلی میان دو زبان بیشتر در Syntax زبانی آنها باز می گردد. شرکت مایکروسافت تمام کلیدواژه‌ها و syntax دو زبان را بررسی نموده و به این نتیجه رسیده که این دو زبان تفاوت اندکی از نظر قابلیت ها دارند و هیچ کدام از نظر کارآمدی برنامه کاربردی ایجاد شده و مدیریت حافظه به دیگری برتری ندارند.

از آنجا که برای پیاده سازی یک قطعه کد در زبان سی شارپ به حجم برنامه‌نویسی کمتری نیاز است، می توان اذعان داشت که زبان C# زبان خلاصه تری است.

بررسی دو زبان برنامه نویسی C# و VB تحت چارچوب دات نت

اگر بخواهیم بگوییم تفاوت دیگر C# و VB چیست باید گفت:

امکان تعریف Documant های مربوط به Source در هر دو متفاوت است. در زبان سی شارپ می‌توانید Document هایی از نوع XML ایجاد کنید که با Source code برنامه شما اجین شده است. به این ترتیب به موازات پیشرفت پروژه برنامه نویسی براحتی قادر خواهید بود Documentation آن را نیز آماده نمایید.

چنین قابلیتی در VB.NET وجود ندارد اما در نسخه ای از پلاتفرم دات‌نت موسوم به Whidbey این قابلیت به VB.NET افزوده شده است.

یک تفاوت دیگر بین دو زبان آن است که در سی‌شارپ می‌توانید عملگر‌های سفارشی بسازید.

بطور مثال علامت > را بگونه ای تعریف کنید که عبارت Eddy > Michael معنا پیدا کند و عملگرهای ریاضی بزرگتر و کوچکتر تنها محدود به اعداد نباشد. البته این قابلیت نیز در نسخه بعدی VB.NET افزوده شده است.

طبق بررسی های انجام شده توسط شرکت مایکروسافت، این دو زبان حدود ۵ درصد با یکدیگر اختلاف دارند. حتی پیشرفته ترین مفاهیم برنامه نویسی OOP نیز در VB.NET وجود دارند .

کسانی که چنین اظهار نظرهایی می کنند یا هنوز فکر می کنند که همان تفاوت میان C و VB کماکان در مورد VB.NET و #C نیز وجود دارد یا اینکه شناخت صحیحی از پلاتفرم دات نت ندارند.

ممکن است این سوال مطرح شود که اگر سی شارپ و VB.NET از نظر قدرت و توانایی با هم فرقی ندارند پس چرا مایکروسافت این دو زبان را ایجاد نمود؟

دلیلش اینست که مایکروسافت نمی توانست برنامه نویسان هریک از این دو گروه را وادار به پذیرش syntax زبان دیگری کند. پس بهتر است  آنهایی که به syntax زبان سی عادت دارند با همان روش ادامه بدهند و آنهایی که به ویژوال بیسیک علاقه دارند به همان طریق ادامه دهند.

البتهVB.NET یک زبان OOP پیشرفته است و این موضوع کار برنامه نویسان ویژوال بیسیک را سخت می کند. ولی برنامه نویسان C کار چندان مشکلی ندارند و می توانند از دانش خود در زمینه برنامه نویسی شیء گرا همچنان استفاده نمایند.

نمودار آماری C# و VB.NET

نتیجه گیری

هردو زبان (و نیز سایر زبان های سازگار با چارچوب دات نت)  VB.NET و C#.NET از نظر قابلیت و توانایی فرق چندانی ندارند و تنها از نظر Syntax و گرامر زبان برنامه نویسی با یکدیگر متفاوت می باشند. بعنوان یک مثال در زبان های بشری نیز می توان مثلا زبان فرانسوی را با زبان چینی مقایسه نمود ، ممکن است جمله ای در زبان چینی با کلمات کمتری بیان شود و بر خلاف آن در زبان فرانسوی با تعداد بیشتری کلمه بیان شود، ولی هردو بیانگر یک مفهوم هستند.

اگر تجربه ای از استفاده این دو زبان دارید خوشحال میشویم آنرا با ما در بخش دیدگاه ها در میان بگذارید.

سوالات متداول

VB.net چیست

VB.net که مخفف شده عبارت Visual Basic.‌NET می باشد، زبانی شی گرا به حساب آمده و توسط شرکت مایکروسافت تولید شده است. این زبان در واقع تکامل یافته زبان VB6 است که برای توسعه وب و خدمات آن تولید و طراحی شده است.

تفاوت میان C# و VB چیست

طبق بررسی های انجام شده توسط شرکت مایکروسافت، این دو زبان حدود ۵ درصد با یکدیگر اختلاف دارند. حتی پیشرفته ترین مفاهیم برنامه نویسی OOP نیز در VB.NET وجود دارند .

  1.  زبان سی‌شارپ به دلیل ارث بردن پاره ای خصوصیات از زبان C ، به برنامه نویس اجازه می‌دهد که مستقیما حافظه را مدیریت کند.
  2. تفاوت‌های اصلی میان دو زبان بیشتر در Syntax زبانی آنها باز می گردد
  3. از آنجا که برای پیاده سازی یک قطعه کد در زبان سی شارپ به حجم برنامه‌نویسی کمتری نیاز است، می توان اذعان داشت که زبان C# زبان خلاصه تری است.
  4. امکان تعریف Documant های مربوط به Source در هر دو متفاوت است. در زبان سی شارپ می‌توانید Document هایی از نوع XML ایجاد کنید که با Source code برنامه شما اجین شده است.
  5. یک تفاوت دیگر بین دو زبان آن است که در سی‌شارپ می‌توانید عملگر‌های سفارشی بسازید.

اگر سی شارپ و VB.NET از نظر قدرت و توانایی با هم فرقی ندارند پس چرا مایکروسافت این دو زبان را ایجاد نمود؟

دلیلش اینست که مایکروسافت نمی توانست برنامه نویسان هریک از این دو گروه را وادار به پذیرش syntax زبان دیگری کند. پس بهتر است  آنهایی که به syntax زبان سی عادت دارند با همان روش ادامه بدهند و آنهایی که به ویژوال بیسیک علاقه دارند به همان طریق ادامه دهند.

البتهVB.NET یک زبان OOP پیشرفته است و این موضوع کار برنامه نویسان ویژوال بیسیک را سخت می کند. ولی برنامه نویسان C کار چندان مشکلی ندارند و می توانند از دانش خود در زمینه برنامه نویسی شیء گرا همچنان استفاده نمایند.

 

با کارت بانکی باشگاه ایران هاست پولتان به حسابتان باز می گردد.

همین حالا رایگان عضو شوید

مدیر بلاگ

مشخصات مدیر

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نوشته های مشابه

دکمه بازگشت به بالا