در این مقاله به معرفی زبان سی شارپ می پردازیم و شما را کاملا با زبان برنامه نویسی #C و ویژگی های این زبان آشنا می کنیم. زبان برنامه نویسی سی شارپ، یک زبان برنامه نویسی Cross Platform است که به لطف NET Core شما می توانید این زبان را روی همه سیستم عامل ها (Windows, Linux, Mac) اجرا کنید و به توسعه برنامه های خود بپردازید. در ادامه این مقاله با گروه تبلیغاتی فورسی همراه باشید.
تاریخچه سی شارپ
در سال ۱۹۹۹، شرکت Sun (سان) اجازه استفاده از زبان برنامهنویسی جاوا را در اختیار شرکت مایکروسافت قرار داد تا در سیستمعامل خود از آن استفاده کند. جاوا در اصل به هیچ پلتفرم یا سیستمعاملی وابسته نبود، ولی مایکروسافت برخی از مفاد قرار داد را زیر پا گذاشت و قابلیت مستقل از سیستمعامل بودن جاوا را از آن برداشت، شرکت سان پروندهای علیه مایکروسافت درست کرد و مایکروسافت مجبور شد تا زبان شی گرای جدیدی با کامپایل جدید که به ++C شبیه بود را ایجاد کند. در سال ۱۹۹۹ آندرس هلزبرگ گروهی را برای طراحی زبانی جدید تشکیل داد که در آن زمان نامش Cool بود و شبیه زبان C بود اما با خواص شیءگرایی، مایکروسافت در نظر داشت اسم این زبان را برای همیشه Cool قرار دهد، ولی به دلیل مناسب نبودن برای اهداف تجاری این کار را نکرد. در ارائه و معرفی رسمی چارچوب دات نت در سال ۲۰۰۰ این زبان به C# تغییر نام یافت. مدیر و سرپرست طراحان سی شارپ در مایکروسافت آندرس هلزبرگ بود که تجربه قبلی او در طراحی Framework و زبانهای برنامه سازی++Borland، Delphi، Pascal، C++ به آسانی در دستورالعملهای سی شارپ قابل رویت است.
سی شارپ
#C یک زبان برنامه نویسی چند مدلی است که شامل دستوری ، تابعی، عمومی، شیء گرا و جزء گرا است . این زبان توسط شرکت مایکروسافت و از دل فریم ورک .NET مایکروسافت خلق و پرورش یافت و بعد ها توانست استاندارد های ISO و Ecma را دریافت کند و بهعنوان یک زبان استاندارد تایید شود.
در عین حال زبان C# ، زبان برگزیده مایکروسافت برای ایجاد سیستم عامل ویندوز و ویندوزفون برای سیستم عامل موبایلهایی همچون HTC ، مایکروسافت و نوکیا می باشد. این زبان نیز مانند زبان جاوا برای پروژههای اقتصادی و بزرگ، انتخاب بسیار خوبی است. گر چه تعداد برنامه نویسانی که به این زبان برنامه نویسی میکنند، به پای برنامه نویسان جاوا نمیرسد، ولی به لطف پشتیبانی مایکروسافت، این زبان یکی از مدعیان قوی در بین زبانهای برنامه نویسی است .
مزیت و کاربرد #C چیست ؟
حداکثر تعداد کلمات کلیدی در #C کمتر از ۹۰ می باشد.از جمله کاربرد زبان برنامه نویسی #C را می توان گفت این زبان ساده و یادگیری آن آسان است و به زبانهایی مانند C ,C++ ,java نزدیک است. توسعه دهندگانی که یکی از این زبانها را بدانند، می توانند در مدت زمان کوتاهی به طور موثر از آن استفاده کنند. سینتکس #C برخی پیچیدگی های ++C را ندارد و قابلیت هایی مانند nullable value types, enumerations, delegates, anonymous methods and direct memory access را فراهم کرده، همچنین از امکانات iterators و generic methods and types نیز پشتیبانی می نماید.
یکی از کاربرد #C را می توان بدین صورت گفت که این زبان علاوه بر داشتن اشیا Object Oreinted دارای عناصری توسعه یافته برای ارتباط با نرم افزارهای ویندوزی می باشد.
اگر نیاز به محاوره با اشیایی مانند COM یا Win32 Dll داشته باشید، می توانید این کار از طریق فرآیندی که Interop نامیده می شود انجام دهید. این فرآیند برنامه های #C را قادر می سازد تا درست مانند برنامه های C++ عمل نمایند. زبان c# همچنین از اشاره گرها و مفهوم code Unsafe که برای دسترسی مستقیم به حافظه در مواقع بحرانی است نیز پشتیبانی می کند.
از جمله مزیت و کاربرد زبان #C را می توان گفت فرآیند ایجاد و کامپایل برنامه های سی شارپ در مقایسه با C ,C++ ساده تر و انعطاف پذیر تر از Java می باشد.
هر تعداد کلاس ، رکورد ، اینترفیس و رویداد را که نیاز داشته باشید می توانید در #C تعریف کنید.
برنامه های #C بر روی .NET Framework اجرا می شوند. کدهای نوشته شده به این زبان به یک زبان میانی یا IL تبدیل شده و سپس با پسوند .exe یا .dll در یک فایل اجرایی که اسمبلی نامیده می شود ذخیره می شوند.
زبان برنامه نویسی c# از مفاهیمی مانند encapsulation, inheritance and polymorphism نیز پشتیبانی می کند. همه ی متغیرها و متدها توسط کلاس ها Encapsulation می شوند. یک کلاس می تواند از سطح بالاتر خود ارث بری داشته باشد.
زمانی که یک برنامه #C اجرا می شود، اسمبلی در CLR لود می شود و بسته به اطلاعات موجود در manifest عملیات مختلفی را انجام می دهد.اگر از مرحله ی فیلتر امنیتی عبور داده شود ، CLR از JIT استفاده کرده تا کد IL را به زبان اصلی ماشین تبدیل کند.
CLR همچنین سرویس های دیگری که با automatic garbage collection و exception handling و resource management مرتبط هستند را ارائه می دهد. CLR در بعضی مواقع به کدهای Manage شده نیز معروف می باشد که در نهایت به زبان ماشین تبدیل می شود.
کاربرد سی شارپ چیست ؟
Indexers در زبان #c
ایندکسرها نوعی از اولویت بندی (priority )هستند که به شما اجازه می دهند با اشیا کلاس خود مانند ارایه رفتار کنید.
Auto intellosense در web.config
در visual studio 2008 فایل های Configuration به صورت Intellisense استفاده می شوند. یعنی وقتی کلمه ای را تایپ می کنید ادامه آن را به صورت اتوماتیک نمایش دهد.
کلاس TimeZoneinfo
این کلاس مختص دات نت ۳.۵ به بعد بوده و جهت استفاده از آن باید System.Core را به References پروژه ی خود بیافزایید.
۱ ) CLR
مخفف : Common Language RunTime و به معنای محیط زمان اجرای برنامه های دات نت است.
۲) CTS
مخفف : Common Type System
معنا : نوع هایی که در همه زبان های دات نت شناخته شده هستند و معمولا یک نام مستعار در هر زبان مجزا دارند.
مثلا System.Int32 در زبان C# همان int و در زبان VB همان Integer است.
۳) IL
مخفف : Intermediate Language
معنا : زبان واسطی که در مرحله اول کامپایل برنامه ها، تمامی کد های نوشته شده با زبان های دات نت (اعم از سی شارپ، وی بی و ..) به این زبان ترجمه می شوند و جهت سازگاری بین زبان های مختلف در دات نت استفاده می شود.
۴) VES
مخفف : Virtual Executation Systeme و معادل CLR می باشد.
نکته: CLR متداول تر است.
۵) CLI
مخفف Common Language Interface است . به مجموع CLR و CTS ، CLI می گویند.
چه کسانی سی شارپ کار میکنند؟
سی شارپ که یک زبان برنامهنویسی همه منظوره، مدرن و شئگرا است که توسط مایکروسافت توسعه داده شده است. این زبان در قلب بسیاری از اپلیکیشنهایی که توسط داتنت طراحی شدهاند نیز قرار دارد. به یاد داشته باشیم که برنامهنویسی به زبان سیشارپ خیلی شبیه به زبان جاوا است، بنابراین اگر زمینهای در زبان جاوا یا به طور کلی، زبانهای شبیه به سی دارید، یادگیری سیشارپ خیلی برایتان سخت نخواهد بود. میزان رشد زبان C# در سال ۲۰۱۶ برابر با ۸۸% بود. به جرات می توان گفت اولین زبان برنامه نویسی دسکتاپی در ایران که بیشترین طرفدار رو دارد همین زبان سیشارپ هست. زبانی که قدرت بالایی در نوشتن انواع برنامه و اپلیکیشن دارد. شما با استفاده زبان سیشارپ میتوانید انواع برنامه های دسکتاپی، موبایل، وب و . . . را بنویسید. معمولا تعداد زیادی از شرکت ها از این زبان برنامه نویسی استفاده می کنند. وقتی سی شارپ بلد باشید به راحتی میتوانید ASP.Net یاد بگیرید و راحت برنامه های تحت وب بنویسید. اگر این زبان را در کنار ASP.Net بلد باشید به جرات می توان گفت که مشکل کار نخواهید داشت. چون روزانه از شرکتها مختلف دنبال برنامهنویس سی شارپ و ASP.Net هستند.
جمع بندی
C# یک زبان ساده و قدرتمند است. به کمک C# میتوان برای پلتفرمهای مختلف، از موبایل گرفته تا سرورها، کد نوشت. C# شرکت مایکروسافت را پشت سر خود دارد، که این یعنی قرار نیست به این زودی از رده خارج شود. تعداد زیادی برنامهنویس در سراسر جهان با C# کد مینویسند. همین موضوع باعث میشود تقریبا اکثر اوقات به سادگی راه حل مشکلات خود را در اینترنت پیدا کنید، چون احتمالا حداقل یک نفر پیش از شما با آن مشکل روبرو شده است.