همزمان با انتشار فریم ورک .Net دو زبان برنامه نویسی Visual Basic.Net و C# تولید شدند. خیلی از برنامه نویسان در انتخاب یکی از این زبان های برنامه نویسی دچار تردید شدند. آیا بین برنامه هایی که با زبان Visual Basic.Net و C# ساخته می شد، تفاوت وجود داشت؟

چرا این دو زبان برنامه نویسی ساخته شدند؟

مدیر عامل شرکت مایکروسافت – بیل گیتس – تولید کننده مترجم زبان برنامه نویسی Basic بوده است. شرکت مایکروسافت قبل از ارائه ویژوال بیسیک، نسخه های مختلفی از زبان برنامه نویسی بیسیک را ارائه نمود. اما ویژوال بیسیک اولین تلاش شرکت مایکروساف برای ایجاد برنامه های تحت ویندوز بود.

با تکامل یافتن ویژوال بیسیک، قدرت آن هم روز به روز بیشتر شد. امروزه به یکی از روشهای بسیار معمول برای تولید برنامه های تجاری تحت ویندوز تبدیل شده است. هر چند که اغلب برنامه نویسان زبان C++ به زبان ویژوال بیسیک به عنوان یک زبان برنامه نویسی اسباب بازی نگاه می کردند. زبان برنامه نویسی ویژوال بیسیک دارای کمبودهایی در زمینه اشاره گرها و ارث بری ها بود تا اینکه بالاخره شرکت مایکروسافت با انتشار زبان برنامه نویسی Visual Basic.Net این مشکلات را برطرف کرد.

زبان C# به دلیل کاملا متفاوتی تولید شد. هر چند که زبان Visual Basic.Net برای برطرف کردن مشکلاتی مثل ارث بری و multithreading ایجاد شد، اما زبان C++ این قابلیت ها را داشت و برنامه نویسان زبان C++ می توانستند برنامه هایی در سطح راه انداز سخت افزار (Device Driver) مورد استفاده قرار دهند. اما Visual Basic.Net این قابلیت ها را نداشت.

مایکروسافت ادعا می کند که زبان C# نسخه مدرن شده زبان C++ است درصورتیکه Visual Basic.Net نسخه مدرن شده Visual Basic است. زبان C# سعی می کند تا برخی از ناسازگاری های زبان C++ را مرتفع کند و برنامه نویسان تجاری بتوانند با سرعت بیشتری برنامه های خود را ایجاد کنند. در حقیقت زبان C# به برنامه نویسان C/C++ این امکان را می دهد که برنامه ها را با سرعت بیشتری توسعه دهند.

در اصل می توان زبان C# را یک زبان ایمن و و قابل اعتماد با ساختار مشابه C++ دانست و زبان Visual Basic.Net را یک زبان ایمن و قابل اعتماد با ساختار مشابه زبان ویژاوال بیسیک دانست.

VB.Net یا C# مساله این است.

از نظر فنی این که شما کدام زبان برنامه نویسی را انتخاب می کنید چندان مهم نیست. هر چند که تفاوت هایی بین این دو زبان وجود دارد اما طبق بررسی های انجام شده فقط 5% از قابلیت های این دو زبان برنامه نویسی با هم تفاوت دارند.

اکنون ممکن است این سوال به ذهن شما خطور کند که چرا مایکروسافت دو زبان برنامه نویسی مشابه را عرضه کرده است؟

مایکروسافت چون نمی خواست که برنامه نویسان ویژوال بیسیک درگیر یادگیری ساختار زبان C++ شوند زبان ویژوال بیسیک را ارائه داد و برای اینکه برنامه نویسان C/C++ درگیر یادیگری ساختار زبان ویژوال بیسیک نشوند زبان C# را عرضه کرد. بنابراین پیشنهاد می شود، افرادی که با ساختار VB آشنایی دارند به سمت VB.Net بروند و کسانی که با زبان هایی مانند C, C++, Java, Jscript آشنا هستند با زبان C# راحتتر خواهند بود.

یک اشتباه رایج این است که برخی فکر می کنند زبان برنامه نویسی C# قوی تر از VB.Net است. درصورتیکه چنین چیزی صحیح نیست و بجز موارد خیلی کم، این دو زبان قابلیت مشابه دارند.