نماد سایتنماد سایت بلاگ ایران هاست

vb چیست؛ vb.net چه تفاوتی با #c دارد؟

VB.Net چیستVB.Net چیست

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

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

VB.net چیست؟

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

حالا که میدانید VB چیست و از کجا آمده است در ادامه این مقاله از ایران هاست ( ارائه دهنده‌ی سرور vps ) به سراغ تفاوت میان VB و C# خواهیم رفت.

آیا #C نسبت به VB.NET برتری دارد؟

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

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

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

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

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

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

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

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

در مقاله c# چیست مفصل درباره این زبان برنامه نویسی صحبت شده است.

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

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

اگر بخواهیم بگوییم تفاوت دیگر #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 کار چندان مشکلی ندارند و می توانند از دانش خود در زمینه برنامه نویسی شیء گرا همچنان استفاده نمایند.

نتیجه گیری

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

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

خروج از نسخه موبایل