سی شارپ چیست؟
سی شارپ (#C) یک زبان برنامه نویسی شیءگرا (Object Oriented Programming) است که توسط شرکت مایکروسافت ساخته شده و ترکیبی از قابلیت های خوب ++C و Java است. اگر با این دو زبان آشنایی دارید این شانس را دارید زبان سی شارپ را راحت یاد بگیرید. این زبان به قدری راحت است که هم کسانی که قبلا برنامه نویسی نکرده اند و هم دانش آموزان می توانند راحت آن را یاد بگیرند. از سی شارپ میتوان برای ساخت برنامه های تحت ویندوز، تحت وب، وب سرویس ها، برنامه های موبایل و بازی ها استفاده کرد. میتوان به جای واژه ویژوال سی شارپ از کلمه سی شارپ استفاده کرد، اما ویژوال سی شارپ به معنای استفاده همزمان از سی شارپ و محیط گرافیکی ویژوال استودیو میباشد. این زبان برنامه نویسی تنها زبانی است که مخصوصا برای دات نت فریم ورک طراحی شده است.
سی شارپ از کتابخانه کلاس دات نت که شامل مجموعه بزرگی از اجزاء از قبل ساخته شده است، استفاده می کند. این اجزا به ساخت هر چه سریعتر برنامه ها کمک می کنند. سی شارپ یک برنامه بسیار قدرتمند و شیءگرا است و با آن می توان برنامه هایی با قابلیت مدیریت بیشتر و درک آسان ایجاد کرد. ساختار این زبان نسبت به زبان های دیگر بسیار آسان و قابل فهم است. برای اجرای یک برنامه سی شارپ ابتدا باید دات نت فریم ورک نصب شود. سی شارپ یکی از زبان هایی است که از تکنولوژی های دیگر دات نت مانند ASP .NET ، Silverlight و XNA پشتیبانی می کند. همچنین یک محیط توسعه یکپارچه دارد که آن نیز به نوبه خود دارای ابزارهای مفیدی است که به شما در کدنویسی در سی شارپ کمک می کند.
با ظهور 8.0 #C قابلیت های جدیدی به این زبان اضافه شد که به شما امکان می دهند که برنامه هایی بهینه تر و پربارتر با کدنویسی کمتر بنویسید. حال که اسم نسخه 8 سی شارپ به میان آمد بهتر است که با نسخه های مختلف این زبان از ابتدا تاکنون که در جدول زیر آمده است آشنا شوید :
دلیل پیدایش این زبان بر طبق دانشنامه Wikipedia بدین شرح است که:
در سال 1999 ،شرکت Sun Microsystems اجازه استفاده از زبان برنامه نویسی JAVA را در اختیار Microsoft قرار داد تا در سیستم عامل خود از آن استفاده کند. جاوا در اصل به هیچ پلت فرم یا سیستم عاملی وابسته نبود، ولی مایکروسافت برخی از مفاد قرار داد را زیر پا گذاشت و قابلیت مستقل از سیستم عامل بودن جاوا را از آن برداشت. شرکت Sun Microsystems پروندهای علیه مایکروسافت درست کرد و مایکروسافت مجبور شد تا زبان شیءگرای جدیدی با کامپایلر جدید که به ++C شبیه بود را درست کند. آندرس هلزبرگ سرپرستی و مدیریت این پروژه را بر عهده گرفت و گروهی را برای طراحی زبانی جدید تشکیل داد و نام آن را Cool گذاشت. مایکروسافت در نظر داشت اسم این زبان را تا آخر Cool قرار دهد، ولی به دلیل مناسب نبودن برای اهداف تجاری این کار را نکرد. در ارائه و معرفی رسمی چارچوب دات نت در سال 2000 این زبان به سی شارپ تغییر نام یافت.
سی شارپ به طور دائم توسط مایکروسافت به روز شده و ویژگی های جدیدی به آن اضافه می شود و یکی از بهترین زبان های برنامه نویسی دات نت است.
دات نت فریم ورک (Net Framework.) یک چارچوب است که توسط شرکت مایکروسافت برای توسعه انواع نرم افزارها علی الخصوص ویندوز طراحی شد. دات نت فریم ورک همچنین می تواند برای توسعه نرم افزارهای تحت وب مورد استفاده قرار بگیرد. تاکنون چندین نسخه از Net Framework. انتشار یافته که هر بار قابلیت های جدیدی به آن اضافه شده است.
دات نت فریم ورک (Net Framework.) شامل کتابخانه کلس محیط کاری (NET Framework Class Library.) FCL که در بر گیرنده کلاس ها، ساختارها، داده های شمارشی و.... است.
زبان مشترک زمان اجرا (Common Language Runtime) CLR است که محیطی را فراهم می آورد که برنامه ها در آن اجرا شوند. این چارچوب ما را قادر می سازد که برنامه هایی که تحت آن نوشته شده اند اعم از
C# .Net , Visual Basic .Net و C++
را بهتر درک کنیم. کدهایی که تحت CLR و دات نت اجرا می شوند، کدهای مدیریت شده managed code نامیده می شوند، چون CLR جنبه های مختلف نرم افزار را در زمان اجرا مدیریت می کند. در زمان کامپایل کدها به زبان مشترک میانی Common Intermediate Language (CIL) که نزدیک و تقریبا شبیه به زبان اسمبلی است ترجمه می شوند. ما باید کدهایمان را به این زبان ترجمه کنیم، چون فقط این زبان برای دات نت قابل فهم است. برای مثال کدهای #C و Visual Basic .net هر دو به زبان مشترک میانی (CIL) ترجمه می شوند.
به همین دلیل است که برنامه های مختلف در داتنت که با زبان های متفاوتی نوشته شده اند می توانند با هم ارتباط برقرار کنند. اگر یک زبان سازگار با دات نت می خواهید باید یک کامپایلر ایجاد کنید که کدهای شما را به زبان میانی ترجمه کند. کدهای ترجمه شده توسط CIL در یک فایل اسمبلی مانند exe. یا dll. ذخیره می شوند.
کدهای ترجمه شده به زبان میانی به کامپایلر فقط در زمان Just-In-Time (JIT) منتقل می شوند. این کامپایلر در لحظه فقط کدهایی را که برنامه در آن زمان نیاز دارد به زبان ماشین ترجمه می کند. در زیر نحوه تبدیل کدهای سی شارپ به یک برنامه اجرایی به طور خلاصه آمده است:
دات نت ویژگی دیگری به نام سیستم نوع مشترک Common Type System (CTS) نیز دارد که بخشی از CLR است و نقشه ای برای معادل سازی انواع داده ها در دات نت می باشد. با CTS نوع int در سی شارپ و نوع Integer در ویژوال بیسیک یکسان هستند، چون هر دو از نوع Int32.System مشتق می شوند. پاک کردن خانه های بلا استفاده حافظه در یک فایل (collection Garbage) یکی دیگر از ویژگی های دات نت فریم ورک است. هنگامی که از منابعی، زیاد استفاده نشود دات نت فریم ورک حافظه استفاده شده توسط برنامه را آزاد میکند.
ویژوال استودیو Visual Studio محیط توسعه یکپارچه ای است، که دارای ابزارهایی برای کمک به شما برای توسعه برنامه های سی شارپ و دات نت است. شما می توانید یک برنامه سی شارپ را با استفاده از برنامه notepad یا هر برنامه ویرایشگر متن دیگر بنویسید و با استفاده از کامپایلر سی شارپ از آن استفاده کنید، اما این کار بسیار سخت است چون اگر برنامه شما دارای خطا باشد خطایابی آن سخت می شود.
توجه کنید که کلمه ویژوال استودیو هم به ویژوال استودیو و هم به ویژوال سی شارپ اشاره دارد. توصیه می کنم که از محیط ویژوال استودیو برای ساخت برنامه استفاده کنید چون این محیط دارای ویژگی های زیادی برای کمک به شما جهت توسعه برنامه های سی شارپ است. تعداد زیادی از پردازش ها که وقت شما را هدر می دهند به صورت خودکار توسط ویژوال استودیو انجام می شوند.
یکی از این ویژگی ها اینتلی سنس Intellisense است که شما را در تایپ سریع کدهایتان کمک می کند. یکی دیگر از ویژگی های اضافه شده، break point است، که به شما اجازه می دهد، در طول اجرای برنامه مقادیر موجود در متغیرها را چک کنید. ویژوال استودیو برنامه شما را خطایابی میکند و حتی خطاهای کوچک مانند بزرگ یا کوچک نوشتن حروف را برطرف میکند، همچنین دارای ابزارهای طراحی برای ساخت یک رابط گرافیکی است که بدون ویژوال استودیو برای ساخت همچین رابط گرافیکی باید کدهای زیادی نوشت. با این برنامه های قدرتمند بازدهی شما افزایش می یابد و در وقت شما با وجود این ویژگی های شگفت انگیز صرفه جویی می شود.
چون آموزش های زیادی برای نصب ویژوال استدیو در گوگل وجود دارد از پرداختن به این بخش صرف نظر کردم.