سیشارپ همچون زبان برنامهنویسی جاوا زبانیست شئگرا و سطح بالا (high level). محصول شرکت Microsoftو بر پایه .NETاز آنجایی که شئگرائی و سطح بالا بودن از ابزارهای مدیریّت مؤثّر و کارآمد پیچیدگی در فضای پیچیدۀ اینترنت مدرن می باشند، در واقع میشود جاوا و سیشارپ را از جمله زبان های اصلی برای ایجاد و انجام برنامههای کاربردی تحت وب (web applications) و خدمات وب دانست.بر اساس ادّعای شرکت مایکروسافت، این زبان در سال 2000 توسط تیمی به سرکردگی آندرس هلزبرگ و نیز سکات ویلتاموث ساخته شد. سیشارپ که فقط برای دات نت است در مجموعه NET Platform SDK. ارائه گردید که در محیط های برنامه نویسی استودیوی بصری دات نت (Visual Studio .NET)، در نسخههای 2003 و 2005 آن موجود است. دستورات زبان سیشارپ مانند جاوا سطح بالا تر از Cو ++Cاست و از VBساده تر. این زبان همانند پیدایش زبان Cانقلابی را در امر برنامه نویسی موجب شد، چراکه به طور همزمان میتواند امکانات سطح پاین و سطح بالا را به بهترین شکل پشتیبانی کند. در طراحی این زبان برای جلوگیری از پیدایش Bugدر زمان اجرا بسیار تلاش شده و اجازه هر کاری (مانند ساخت اشاره گر) را نمیدهد(مگر اینکه اصرار بر انجام این کارها داشته باشید)
سکّوی دات نت:
در ماه ژوئن سال 2000 میلادی بود که شرکت مایکروسافت ابداع و ایجاد سکّوی (platform) جدید برنامه نویسی خود را موسوم به دات نت (Microsoft .NET) اعلام نمود. در جهت بهبود سکّوهای پیشین مایکروسافت،دات نت مدل تازهای را برای ایجاد نرم افزار های کاربردی ارائه میدهد که در آنجا زبان های گوناگون می توانند در کنار هم قرار گیرند و با یکدیگر به همکاری بپردازند. این درست مدل کوچکتری ست از تمامی فضای اینترنت بدانگونه که عوامل گوناگون میتوانند در سطوحی گسترده به همکاری اقدام کنند.
انعطاف پذیری سی شارپ:
سی شارپ زبانی است کاملا شی گرا و بر پایه .NET Frameworkاین زبان مانند بسیاری از زبانهای شی گرای دیگر از فایل های کتابخانه ای Net. استفاده میکند و همچنین فقط بر روی سیستم عامل Microsoft Windows XP SP2(یا بعد از آن) که .NET Frameworkبر روی آن نصب باشد اجرا میشود سی شارپ به کلی برای دات نت طراحی شده و علاوه بر تولید پروژه های Console Programsدر تولید Windows Applicationهم بسیار قوی است سی شارپ بر پایه نظریه اولیه سی طراحی شده و همچنین بسیاری از صفات خود را از C++ و Javaو Delphiبه ارث برده است ولی به گفته مایکروسافت بر پایه Cبرای رقابت با Javaو به سادگی VBطراحی شده است. در کل سی شارپ یک زبان مدرنیزه شی گرا میباشد که در محیط Visual Studioبسیار قدرت یافته است .
مثالی از سی شارپ
تمام کدهای سی شارپ بر پایه کلاس ها تعریف میشوند یک برنامه ساده سی شارپ این چنین است :
public class MyClass { public MyClass() { // implementation}}} }
برنامه ساده ای که متنی را در خرجی چاپ میکند چنین در سی شارپ نوشته میشود
hello.cs: public class Program { public void Main() { System.Console.WirteLine("Hello , World);}}"
منبع اطلاعات در سی شارپ:
سی شارپ میتواند به خوبی با Databaseها ارتباط برقرار کرده و آنها را ویرایش و یا از آنها اطلاعات بگیرد این ویژگی که در Visual Studio .NETبه خوبی پشتیبانی شده کار را برای کاربر بسیار راحت کرده تا جایی که فقط با چند دستور ساده میتوان با منبع اطلاعات ارتباط برقرار کرد. در این زبان از بانک اطلاعات به صورت Connectionlessاستفاده میشود. به این شکل که کل بانک به داخل یک Datasetبر روی حافظه اصلی کپی میشود و سپس استفاه میشود.این روش به منظور کاهش ترافیک شبکه طراحی شده است.
فایلهای تولیدی در سی شارپ:
فایلهایی که بیشتر با کاربر سر و کار دارند عبارتند از : فایلهای با پسوند .Sln: این فایل سطح بالای Solutionاست که برای هر برنامه یک فایل از این نوع موجود است . هر فایل Solutionیک یا چند فایل پروژه را در خود دارد. فایلهای با پسوند .Csproj: این یک فایل پروژه C# است .هر فایل پروژه یک یا چند فایل سورس دارد . فایل های سورس در یک پروژه باید به یک زبان برنامه نویسی نوشته شود . فایلهای با پسوند Cs: این یک فایل سورس است و کد برنامه در این فایل نوشته می شود و این فایل شامل کدی است که ویژوال استودیو به صورت خود کار ایجاد می کند . فایل Assemblyinfo.cs: این یک فایل سورس دیگر است با این تفاوت که می توان از این فایل برای اضافه کردن مواردی مثل اسم نویسنده و تاریخ نوشتن برنامه و امثال آن به برنامه استفاده می شود. فایل .Ico: این آیکون برنامه است .آیکونی که در زمان اجرای برنامه در نوار وظیفه قرار می گیرد.
ابزارهای دیگر در سی شارپ:
سی شارپ نه فقط مخصوص ساخت یک برنامه DOSیا Windows Formاست بلکه میتوان با آن نرم افزارهای کاربردی تری مانند Movie Collectionها را به صورت سفارشی کمپایل کرد حتی قدرت بسیار بالای این زبان در ساخت Screen Saverها هم بسیار زبان زد است که این خود نوعی مزیت نسبت به C++ یا دیگر نرم افزارهای برنامه نویسی به شمار میرود ولی این زبان برای این کارهای ساده طراحی نشده است. از جمله کارهایی که این زبان میتواند انجام دهد طراحی نرم افزار برای SmartPhone,Pocket PC ,Windows CE, Linuxاست. در ضمن این زبان برای طراحی وب سایت به زبان ASP.Netنیز به کار برده میشود. همچینین برای کار با Registryو فایلها مناسبترین زبان است. در زمینه کار با بانکهای اطلاعاتی و APIها نیز بسیار قوی است