مقایسه سی‌شارپ و ویژوال بیسیک دات‌نت

عنوان صحیح این مقاله مقایسه سی شارپ و ویژوال بیسیک دات نت (به انگلیسی: Comparison of C# and Visual Basic .NET)می‌باشد. جانشینی و حذف علامت # در عنوان مقاله، بعلت محدودیت‌های فنی است.
سی شارپ و ویژوال بیسیک دو زبان ابتدایی (اصلی) اند که برای برنامه‌نویسی روی چارچوب دات نت استفاده می‌شوند.

سازگاری زبان

نحو سی شارپ شبیه جاوا است. دو زبان سی شارپ و ویژوال بیسیک دات نت ار ساختارهایی شبیه به دیگر زبان‌های سطح بالای جدید مثل جاوا و سی شارپ بهره می‌برند. هر چند جاوا و دات نت بی‌شمار است در نتیجه ما می‌توانیم آن‌ها را در مقایسه جاوا و سی شارپ مشاهده کنیم.

پشتیبانی چند زبانی زمان اجرا

یکی از اهداف اصلی دات نت پشتیبانی چند زبانی زمان اجرا است. قصد این طراحی این بود که همهٔ زبان‌های مختلف مایکروسافت باید سطح دسترسی یکسانی به تمام ویژگی‌های سیستم عامل داشته باشد، باید قادر به نمایش دادن سطح یکسانی از توان و قابلیت استفاده و آسان تر کردن باشد که به وسیلهٔ یک ماژول در یک زبان بر حسب آنکه در زبانی دیگر نوشته شده‌است فراخوانی می‌شود.
در پیاده‌سازی، همهٔ زبان‌های دات نت از موتور زمان اجرای یکسان ودرخت نحو مجرد یک شکل و زبان میانه رایج بهره می‌برد. بعلاوه همه زبان‌های دات نت به ویژگی‌های پایگاه شامل زباله روبی، پیوند دادن به زبان وراثتی، مدیریت استثناء و اشکال زدایی دسترسی دارند. این اجازه می‌دهد که خروجی یکسان باینری به وسیلهٔ هر زبان برنامه‌نویسی دات نت تولید شود.

ویژگی‌های زبان

بخش عمده‌ای از تفاوت بین سی شارپ و ویژوال بیسیک از نظر فنی نحو آن‌ها است. به این معنا که بسیاری از ویژگی‌ها در هر دو زبان هستند، اما بعضی چیزها ساده‌تر در یک زبان نسبت به دیگری انجام می‌شود. در واقع بسیاری از تفاوت‌های بین دو زبان در اطراف محیط برنامه‌نویسی متمرکز شده‌است.

مقایسه نحو

در ویژوال بیسیک دات نت یک بلوک از کد با جمله End BlockName(یا Next) به پایان می‌رسد، که این برای برنامه نویسانی با تجربه استفاده از تی اس کیو ال بیشتر آشنا است.
در سی شارپ پرانتزها، {}، برای محدود کردن بلوک‌ها استفاده می‌شود، که این برای برنامه نویسانی با تجربه استفاده از زبان‌های گسترده و پیشرفته مانند سی شارپ و جاوا بیشتر آشنا است.
بعلاوه، اگر در سی شارپ یک بلوک تنها متشکل از یک تک عبارت باشد، پرانتز حذف می‌شود.
سی شارپ به بزرگ وکوچک بودن حروف حساس است در حالی که ویژوال بیسیک دات نت این گونه نیست. بنابراین در سی شارپ امکان این که دو متغیر با نام یکسان وجود داشته باشد است، برای مثال variable1 and Variable1.
ویژوال استادیو حالت متغیرها را به محض این که در ویژوال بیسیک دات نت تایپ می‌شود درست می‌کند. در بسیاری از موارد، حساس به بزرگ وکوچک بودن حروف می‌تواند مفید باشد. برنامه نویسان سی شارپ به‌طور معمول نوع نام را با حروف درشت می‌نویسند و عضو و نام متغیر را با حروف کوچک می‌نویسند. این مسئله این امکان را به ما می‌دهد تا، برای مثال روش نامگذاری طبیعی آرگمان‌ها آسان شود:public int CalculateOrders(Customer customer). البته، این می‌تواند برای کسانی که کد سی شارپ را به یک زبان غیر حساس به بزرگ وکوچک بودن حروف تبدیل می‌کنند، مانند ویژوال بیسیک، یا کسانی که به خواندن زبان حساس به بزرگ وکوچک حروف عادت ندارند مشکل ساز باشد.

کلمات کلیدی

ویژوال بیسیک به بزرگ وکوچک بودن حروف حساس نیست که به این معنی است که هر ترکیبی از حالت‌های بزرگ و کوچک در کلید واژه‌ها قابل قبول است. با این وجود ویژوال استودیو به صورت خودکار تمام کلمات کلیدی ویژوال بیسیک را به‌طور پیش‌فرض به فرم حروف بزرگ تبدیل می‌کند. به عنوان مثال "Public", "If".
سی شارپ به بزرگ وکوچک بودن حروف حساس است و تمام کلمات کلیدی سی شارپ به صورت کوچک است.
ویژوال بیسیک و سی شارپ درکلمات کلیدی بسیاری سهیم اند، با این تفاوت که (به یاد داشته باشید که ویژوال بیسیک به بزرگ وکوچک بودن حروف حساس نیست) کلمات کلیدی ویژوال بیسیک نسخه‌هایی با حروف بزرگ از کلمات کلیدی سی شارپ می‌باشند. به عنوان مثال "Public" در مقابل "If" , "Public" در مقابل "if".