زبان #C چیست؟
سی شارپ، زبانی شیءگرا و سطح بالا از خانواده زبانهای چارچوب دات نت شرکت مایکروسافت است. زبان سی شارپ، یک زبان برنامه نویسی چند الگویی و منظم شده مدلهای تابعی، امری، عمومی، شیءگرا و جزءگرا و در بستر دات نت میباشد. این زبان توسط مایکروسافت و جزئی از دات نت به وجود آمد و بعداً استانداردهای ECMA و ISO را نیز دربر گرفت. سی شارپ یکی از 44 زبان برنامه نویسی است که توسط زمان اجرای مشترک از چارچوب داتنت پشتیبانی میشوند و در همه جا به وسیله مایکروسافت ویژوال استودیو شناخته میشود.
زبان سی شارپ با قدرت و در عین حال سطح بالایی خود توانسته توجه بسیاری از برنامه نویسان را به خود جلب کند. این زبان برپایه سادگی، مدرن بودن، همه منظوره و شیءگرا بودن ساخته شد. آندرس هجلزیرگ، طراح زبان برنامه نویسی دلفی، سرپرستی تیم طراحان زبان سی شارپ را بر عهده داشت. این زبان دارای دستوری شیءگرا مشابه ++C است و به شدت از زبانهای جاوا و دلفی تأثیر پذیرفته است. در ابتدا نام این زبان COOL بود که مخفف C like Object Oriented Language بود، هر چند در ژوئیه 2000، زمانی که مایکروسافت پروژه را عمومی اعلام کرد، اسم آن به #C تغییر پیدا کرد.
فلسفه تولید زبان #C
اسم #C از علامت موسیقی شارپ گرفته شده است که در موسیقی بیانگر این است که متن نوشته شده باید نیم قدم از خط بالاتر باشد. پسوند شارپ، توسط بسیاری دیگر از زبانهای دات نت مانند #J و #F نیز به کار رفته است. پیادهسازی اولیه از زبان ایفل تحت دات نت نیز #Eiffel نام داشت که در حال حاضر زبان ایفل را به طور کامل پشتیبانی میکند.
مزایای زبان برنامه نویسی #C
ویژگیهای مهم سی شارپ
با زبان برنامه نویسی #C چه کارهایی میتوانید انجام دهید؟
به این نرم افزار و زبانهای برنامه نویسی مورد نیاز برای توسعه آنها، اصطلاحا سمت سرور (Server side) میگوییم. #C یک زبان سمت سرور است.
ویندوز هنوز هم بالاترین سهم از کاربران را در سطح جهان نسبت به دیگر سیستم عاملها را از آن خود کرده است. از آنجایی که زبان #C متعلق به شرکت مایکروسافت است، لذا رابطه خوبی در بین ویندوز و #C برقرار است. توسط #C میتوانید هر نوع برنامهای را برای ویندوز طراحی نمائید. نکته قابل توجه اینکه اکثر نرم افزارهای مورد استفاده در ایران، با زبان برنامه نویسی #C نوشته شدهاند.
با استفاده از تکنولوژی ASP.NET تحت #C میتوانید هر نوع اپلیکیشنی را تحت وب طراحی نمایید.(سایت ها جزو اپ های تحت وب شناخته میشوند) در حال حاضر سایتهای ابر قدرتی توسط تکنولوژی ASP.NET در ایران پیادهسازی شدهاند. برخی از این سایتها عبارتند از: بانک ملی، دیجی کالا، ایرانسل، ورزش 3 و ...
یکی از قابلیتهای #C که موجب محبوبیتش گردیده، قابلیت برنامه نویسی در پلتفرمهای مختلف است. با استفاده از #C میتوانید اپلیکیشنهای اندرویدی را تولید نمایید. در حال حاضر بسیاری از اپلیکیشنهای موبایل توسط زامارین نوشته میشوند. زامارین قابلیت پیادهسازی هر نوع برنامه با هر نوع از سطحی را دارد.
علاوه بر برنامههای اندروید، با استفاده از #C میتوانید اپلیکیشنهای IOS را نیز تولید نمایید.
باورکردنی نیست اما میتوان گفت کاری نیست که با استفاده از #C نتوان آن را انجام داد. یکی از این موارد برنامه نویسی برای سیستم عامل مک است. این موضوع میزان قدرت زبان #C را به شما یادآوری میکند.
برای بسیاری از طراحان، استفاده از #C برای توسعه بازی برای موتور Unity است. میزان محبوبیت این موتور روز به روز در حال افزایش است و موتور استاندارد Unreal را تحت تاثیر خود قرار داده است. دلیل آن نیز رایگان بودن آن برای توسعه دهندگان نه چندان بزرگ است. بسیاری از افراد ترجیح میدهند پروژه خود را با سهولت بیشتری پیش برند و این امر را با #C محقق میکند. در صورتی که در ++C سرعت بالا و سازگاری با Unreal وجود دارد.
دومین فریمورک بک اند در اینترنت، فریمورک Asp.Net است که قبل از آن php است که میزان محبوبیت بیشتری دارد. Asp.Net سرویس اپ مایکروسافت است که برای صفحات داینامیک وب مورد استفاده قرار میگیرد و در این بین #C نقش اصلی را برای آن ایفا میکند. #C برای ایجاد APIهای وب و مدیریت پویای داده کاربران مورد استفاده قرار میگیرد.
فریم ورک Asp.Net Core به دلیل اجرا بر روی پلتفرمهای مختلف، انعطاف بیشتری را به توسعه وب بخشیده است. توسعه دهنده حالا به جای مجبور شدن به ایجاد بکاند ویندوز سرور در سیستم عامل مایکروسافت، میتواند وب سایتهای ASP.NET Core MVC را در سیستم عامل لینوکس یا مک برای هر سروری توسعه دهد.
فرصتهای شغلی زبان #C
با توجه به پیشرفت روزافزون تکنولوژی و فضای مجازی و حرکت شرکتهای بزرگ و کسب و کارها به حوزه اینترنت، قطعا نیاز به برنامه نویس سی شارپ روز به روز افزایش خواهد یافت و کشور ایران هم از این قضیه مستثنی نخواهد بود. زیرا شرکتهای ایرانی زیادی هستند که در زمینه توسعه نرم افزارهای بزرگ و سازمانی، وب سایتها، بازیهای کامپیوتری و اپلیکیشنهای موبایل فعالیت میکنند و در طراحی و توسعه برنامهها و نرم افزارهای خود از زبان سی شارپ استفاده میکنند.
معمولا کسی که سی شارپ کار میکند برای وب کار کردن راه سختی را ندارد زیرا کافیست به سمت ASP.Net تحت سی شارپ برود و به راحتی هر سایتی را که دوست دارد بنویسد. اگر بخواهیم در مورد بازار کار ASP.Net صحبت کنیم باید این نکته را عنوان کرد که از 100 سایت برتر ایران بیش از 50 سایت با ASP.Net تحت سی شارپ برنامه نویسی شده است. پس میتوان گفت بازار کار فوقالعاده در این بخش برای سی شارپ وجود دارد. میتوان گفت 80 تا 90 درصد پروژهها ویندوز در دست زبان سی شارپ است.
اگر بخواهیم در مورد بازار کار برنامه نویسی سی شارپ در حوزه اندروید و ios صحبت کنیم باید بگوئیم وضعیت قابل قبولی دارد و روز به روز به متقاضیان این مدل برنامه نویسی اضافه میشود و معمولا هم استخدام برنامه نویسی وجود دارد هم به صورت آزادکاری یا همان فریلنسری، میتوانید پروژه بگیرید. معمولا برنامه نویسی اندروید ios در سی شارپ توسط تکنولوژی زامارین انجام میگیرد.
در کل باید گفت سی شارپ را باید زبان اصلی مورد استفاده برای توسعهی اپلیکیشنها، نرمافزارها و سرویسهای تحت پلتفرم مایکروسافت خواند. در صورتی که به دنبال توسعهی اپلیکیشنهای تحت وب با استفاده از Azur یا داتنت باشید یا بخواهید برای گوشیهای هوشمند ویندوزفونی، اندرویدی، ios و نرمافزارهای تحت دسکتاپ برنامهنویسی کنید، بهترین راه ممکن استفاده زبان سیشارپ است. در صورتی که دوست دارید تا در حوزهی بازی برنامهنویسی کنید، بهتر است بدانید که موتور بازی Unity با استفاده از زبان سی شارپ توسعه داده شده است و میتوان گفت بازار کار خوبی دارد.
متوسط حقوق و دستمزد توسعهدهنده سی شارپ در ایالات متحده تا 29 مارس 2021، 104,434 دلار در سال برآورد شده است. محدوده حقوق و دستمزد بسته به عوامل مختلف، از جمله آموزش، certification, مهارتهای اضافی, تجربه کاری متفاوت است.
آمارهای زبان #C
میزان رشد زبان #C در سال 2016 برابر با 88% بود که به جرات میتوان گفت اولین زبان برنامه نویسی دسکتاپی در ایران است که بیشترین طرفدار را دارد. زبانی که قدرت بالایی در نوشتن انواع برنامه و اپلیکیشن دارد. شما با استفاده زبان سیشارپ میتوانید انواع برنامه های دسکتاپی، موبایل، وب و . . . را بنویسید. معمولا تعداد زیادی از شرکت ها از این زبان برنامه نویسی استفاده می کنند.
در نمودار دایرهای زیر میزان محبوبیت زبانهای برنامه نویسی را مشاهده میکنید، که زبان #C رتبه چهارم را با 30% بدست آورده است.
همچنین در جدول زیر رتبهبندی زبانهای برنامه نویسی از سال تولید هر یک تا کنون به نمایش گذاشته شده است، که زبان #C در سال 2016 میلادی رتبه چهارم را داشته و در سال 2021 با یک پله نزول به رتبه پنجم سقوط کرده است.
ورژنهای زبان #C
در سال 1999، شرکت سان اجازه استفاده از زبان برنامه نویسی جاوا را در اختیار مایکروسافت قرار داد تا در سیستمعامل خود از آن استفاده کند. جاوا در اصل به هیچ پلتفرم یا سیستمعاملی وابسته نبود، ولی مایکروسافت برخی از مفاد قرار داد را زیر پا گذاشت و قابلیت مستقل از سیستمعامل بودن جاوا را از آن برداشت. شرکت سان پروندهای علیه مایکروسافت درست کرد و مایکروسافت مجبور شد تا زبان شیءگرای جدیدی با کامپایل جدید که به ++C شبیه بود را درست کند. در طول ساخت دات نت، کلاسهای کتابخانهای با زبان و کامپایلر SMC نوشته شدند. در سال 1999 آندرس هلزبرگ گروهی را برای طراحی زبانی جدید تشکیل داد که در آن زمان نامش Cool بود و همانند C بود با خواص شیءگرایی. مایکروسافت در نظر داشت اسم این زبان را تا آخر Cool قرار دهد، ولی به دلیل مناسب نبودن برای اهداف تجاری این کار را نکرد. در ارائه و معرفی رسمی چارچوب داتنت در PDC در سال 2000 این زبان به سی شارپ تغییر نام یافت و کتابخانه کلاسها و runtime در ایاسپیداتنت به سی شارپ منتقل شدند. مدیر و سرپرست طراحان در مایکروسافت آندرس هلزبرگ بود که تجربه قبلی او در طراحی Framework و زبانهای برنامه سازی ++Borland، دلفی، Turbo Pascal، وسژوال سی++ به آسانی در دستورالعملهای سی شارپ قابل رویت است و به همان خوبی در هسته CLR.
نسخههایی از #C عبارتند از: