
سی شارپ (تلفظ “See Sharp”) یک زبان برنامه نویسی مدرن، شی گرا و ایمن است. سی شارپ توسعه دهندگان را قادر می سازد تا انواع مختلفی از برنامه های کاربردی امن و قوی را که در دات نت اجرا می شوند بسازند. سی شارپ ریشه در خانواده زبان های C دارد و برای برنامه نویسان C، C++، Java و JavaScript بلافاصله آشنا خواهد شد. این تور مروری بر اجزای اصلی زبان در سی شارپ 8 و پیش از آن ارائه می دهد. اگر می خواهید زبان را از طریق مثال های تعاملی کشف کنید، مقدمه آموزش های C# را امتحان کنید.
سی شارپ یک زبان برنامه نویسی شی گرا و جزء گرا است. سی شارپ ساختارهای زبانی را برای پشتیبانی مستقیم از این مفاهیم ارائه میکند و سی شارپ را به زبانی طبیعی برای ایجاد و استفاده از اجزای نرمافزار تبدیل میکند. از زمان پیدایش، سی شارپ ویژگیهایی را برای پشتیبانی از بارهای کاری جدید و شیوههای طراحی نرمافزار نوظهور اضافه کرده است. سی شارپ در هسته خود یک زبان شی گرا است. شما انواع و رفتار آنها را تعریف می کنید.
چندین ویژگی C# به ایجاد برنامه های کاربردی قوی و بادوام کمک می کند. جمع آوری زباله به طور خودکار حافظه اشغال شده توسط اشیاء استفاده نشده غیرقابل دسترسی را بازیابی می کند. انواع Nullable در برابر متغیرهایی که به اشیاء اختصاص داده شده اشاره نمی کنند محافظت می کنند. مدیریت استثنا یک رویکرد ساختاریافته و قابل توسعه برای تشخیص و بازیابی خطا ارائه می دهد. عبارات لامبدا از تکنیک های برنامه نویسی تابعی پشتیبانی می کنند. دستور زبان یکپارچه Query (LINQ) یک الگوی مشترک برای کار با داده ها از هر منبع ایجاد می کند. پشتیبانی زبان برای عملیات ناهمزمان، نحوی را برای ساختن سیستم های توزیع شده فراهم می کند. سی شارپ دارای یک سیستم نوع یکپارچه است. همه انواع سی شارپ، از جمله انواع اولیه مانند int و double، از یک نوع شی ریشه واحد ارث می برند. همه انواع دارای مجموعه ای از عملیات مشترک هستند. ارزشها از هر نوع میتوانند به شیوهای ثابت ذخیره، حمل و نقل و عملیاتی شوند. علاوه بر این، سی شارپ از هر دو نوع مرجع تعریف شده توسط کاربر و انواع مقادیر پشتیبانی می کند. C# امکان تخصیص پویا اشیاء و ذخیره سازی درون خطی ساختارهای سبک را فراهم می کند. سی شارپ از روشها و انواع عمومی پشتیبانی میکند که ایمنی و عملکرد را افزایش میدهد. سی شارپ تکرارکنندههایی را ارائه میکند که پیادهکنندههای کلاسهای مجموعه را قادر میسازد تا رفتارهای سفارشی را برای کد مشتری تعریف کنند.
سی شارپ بر نسخهسازی تأکید میکند تا اطمینان حاصل کند که برنامهها و کتابخانهها میتوانند در طول زمان به شیوهای سازگار تکامل یابند. جنبههایی از طراحی سی شارپ که مستقیماً تحت تأثیر ملاحظات نسخهسازی قرار گرفتهاند عبارتند از اصلاحکنندههای مجازی و نادیدهگیر مجزا، قوانین برای تفکیک بیشبار روش، و پشتیبانی از اعلانهای صریح اعضای رابط.
معماری NET
برنامه های سی شارپ بر روی دات نت، یک سیستم اجرای مجازی به نام زمان اجرا زبان مشترک (CLR) و مجموعه ای از کتابخانه های کلاس اجرا می شوند. CLR پیاده سازی زیرساخت زبان مشترک (CLI) توسط مایکروسافت است که یک استاندارد بین المللی است. CLI پایه ای برای ایجاد محیط های اجرا و توسعه است که در آن زبان ها و کتابخانه ها به طور یکپارچه با هم کار می کنند.
کد منبع نوشته شده در سی شارپ به یک زبان میانی (IL) که با مشخصات CLI مطابقت دارد، کامپایل می شود. کد IL و منابع، مانند بیت مپ ها و رشته ها، در یک اسمبلی، معمولا با پسوند .dll ذخیره می شوند. یک اسمبلی حاوی مانیفست است که اطلاعاتی در مورد انواع، نسخه و فرهنگ مجموعه ارائه می دهد.
هنگامی که برنامه C# اجرا می شود، اسمبلی در CLR بارگذاری می شود. CLR کامپایل Just-In-Time (JIT) را برای تبدیل کد IL به دستورالعمل های ماشین بومی انجام می دهد. CLR سایر خدمات مربوط به جمعآوری خودکار زباله، مدیریت استثنا و مدیریت منابع را ارائه میکند. کدی که توسط CLR اجرا می شود گاهی اوقات به عنوان “کد مدیریت شده” نامیده می شود. “کد مدیریت نشده” به زبان ماشین مادری که یک پلت فرم خاص را هدف قرار می دهد، کامپایل می شود.
قابلیت همکاری زبان یکی از ویژگی های کلیدی دات نت است. کد IL تولید شده توسط کامپایلر C# با مشخصات نوع معمول (CTS) مطابقت دارد. کد IL تولید شده از سی شارپ می تواند با کدهایی که از نسخه های دات نت F#، Visual Basic، C++ تولید شده اند، تعامل داشته باشد. بیش از 20 زبان دیگر سازگار با CTS وجود دارد. یک اسمبلی ممکن است شامل چندین ماژول باشد که به زبانهای مختلف داتنت نوشته شدهاند. انواع می توانند به یکدیگر ارجاع دهند انگار که به یک زبان نوشته شده اند.
علاوه بر خدمات زمان اجرا، دات نت شامل کتابخانه های گسترده ای نیز می شود. این کتابخانه ها بارهای کاری مختلف را پشتیبانی می کنند. آنها در فضاهای نامی سازماندهی شده اند که طیف گسترده ای از عملکردهای مفید را ارائه می دهند. این کتابخانهها شامل همه چیز از ورودی و خروجی فایل گرفته تا دستکاری رشتهها تا تجزیه XML، چارچوبهای برنامه وب و کنترلهای Windows Forms هستند. برنامه معمولی سی شارپ از کتابخانه کلاس دات نت به طور گسترده برای انجام کارهای معمول “لوله کشی” استفاده می کند.
لینک های مرتبط با مقاله:
Pingback: زبان برنامه نویسی سی پلاس پلاس (C++) - وبلاگ