زبان #C سال ۲۰۰۰ معرفی شد. این اولین زبانی بود که تحت چارچوب کاری NET. توسعه داده شده و برخلاف بقیه زبان ها از کد های مدیریت شده استفاده کرد.
ویژگی های جالب این زبان و چارچوب کاری NET. و شباهت آن به یک زبان شیء گرای مدرن مانند Java و ویژگی هایی که از اجداد خود یعنی ++C / C بهره برده بود و همین طور قابلیت توسعه برنامه های ویندوزی، وب، و کنسول، و... باعث شد این زبان طرفداران زیادی پیدا کند. #C کار را نسبت به بقیه زبان ها ساده تر کرد. نسخه اولیه #C حتی از نظر قواعد گرامری به جاوا شباهت های فراوانی داشت و خیلی ها آن را تقلیدی مذبوحانه از روی جاوا می دانستند. اما به مرور #C نشان داد که این قابلیت را دارد به یک زبان مدرن و به روز تبدیل شود و همیشه برای برنامه نویسان خود نکات جالبی در چنته داشته باشد.
اما #C با خیل عظیمی از برنامه نویسان تحت سکوی ویندوز روبه رو بود که می خواستند به سمت این زبان کوچ کنند. یک دسته از این افراد برنامه نویسان قدیمی Visual Basic بودند، که قدرت #C آنها را به استفاده از این زبان ترغیب می کرد. اما یک سری از این افراد با گرامر #C به دلیل شباهتش با ++C / C و شبیه نبودنش به Visual Basic ترجیح می دادند در همان دنیای Visual Basic بمانند تا به سمت NET. و فناوری هایی که حول آن توسعه داده می شدند بروند. با این حال تیم VB در مایکروسافت برای این افراد زبان VB.NET را توسعه دادند تا بتوانند برنامه نویسان قدیمی را در بازار NET. نگه دارند و به آنها شانس استفاده راحت تر از NET. را بدهند. هر چند VB.NET نسبت به VB تغییرات گسترده ای داشت، اما به هر حال گزینه خوبی برای برنامه نویسان VB محسوب می شد.
اما مایکروسافت با یک چالش رو به رو بود و آن هم برنامه نویسانی که تازه کار بودند و نمی دانستند کدام زبان را برای استفاده انتخاب کنند؛ VB.NET یا #C؟
برای برنامه نویسان حرفه ای عملا نباید فرقی بین این دو زبان وجود داشته باشد و حقیقتا هم وجود ندارد. تفاوت این دو زبان مانند تفاوت زبان انگلیسی و فرانسوی است. کاربرد زبان در جاهای مختلف است که این دو زبان را از هم متمایز می کند. در این شماره قصد داریم یک جواب درست و منطقی به این سوال بدهیم. زبان #C به دلیل این که پایه و اساس NET. را تشکیل داده است از قدرت بیشتری نسبت به VB.NET برخوردار است. این به معنای آن نیست که VB.NET حرفی برای گفتن ندارد. VB.NET خیلی از خصوصیات را از پدر خود VB به همراه دارد که این ویژگی ها در #C وجود نداشتند و به مرور زمان به این زبان اضافه شد. اما با گذشت ۱۲ سال از تولد #C مایکروسافت بهای بیشتری به این زبان داده است و تیم VB.NET کماکان مشغول توسعه VB است. اما مایکروسافت خیلی از پروژه های خود را که در حال حاضر مشغول توسعه آنهاست، با زبان #C نوشته است و همیشه در کنفرانس های خود از این زبان به عنوان زبان برنامه نویسی استفاده می کند. توسعه کامپایلر #C برای بقیه سکوی های توسعه نرم افزاری حاکی است که دیگران هم در خارج از مایکروسافت به توسعه این زبان ادامه می دهند.
اما صرف نظر از همه اینها، برای توسعه برنامه ها خیلی فرق نمی کند از کدام زبان استفاده کنید؛ چرا که همه این زبان ها در نهایت به یک زبان واحد سطح میانی به نام IL کامپایل می شوند، بنابراین شما می توانید از این زبان ها کنار یکدیگر استفاده کنید. اگر شما به VB.NET آشنایی دارید نگران نباشید برای کار کردن با یک تیم که قرار است با استفاده از #C برنامه ای را توسعه دهند، به مشکل بر بخورید.