سبد خرید شما

icon
سبد خرید خالی است.

C#

زبان #C چیست؟

سی شارپ، زبانی شیءگرا و سطح بالا از خانواده زبان‌های چارچوب دات نت شرکت مایکروسافت است. زبان سی شارپ، یک زبان برنامه نویسی چند الگویی و منظم شده مدل‌های تابعی، امری، عمومی، شیءگرا و جزءگرا و در بستر دات نت می‌باشد. این زبان توسط مایکروسافت و جزئی از دات نت به وجود آمد و بعداً استانداردهای  ECMA و ISO را نیز دربر گرفت. سی شارپ یکی از 44 زبان برنامه نویسی است که توسط زمان اجرای مشترک از چارچوب دات‌نت پشتیبانی می‌شوند و در همه جا به وسیله مایکروسافت ویژوال استودیو شناخته می‌شود.

زبان سی شارپ با قدرت و در عین حال سطح بالایی خود توانسته توجه بسیاری از برنامه نویسان را به خود جلب کند. این زبان برپایه سادگی، مدرن بودن، همه منظوره و شیءگرا بودن ساخته شد. آندرس هجلزیرگ، طراح زبان برنامه نویسی دلفی، سرپرستی تیم طراحان زبان سی شارپ را بر عهده داشت. این زبان دارای دستوری شیءگرا مشابه ++C  است و به شدت از زبان‌های جاوا و دلفی تأثیر پذیرفته ‌است. در ابتدا نام این زبان COOL بود که مخفف C like Object Oriented Language بود، هر چند در ژوئیه 2000، زمانی که مایکروسافت پروژه را عمومی اعلام کرد، اسم آن به #C تغییر پیدا کرد.

 

فلسفه تولید زبان #C

اسم #C از علامت موسیقی شارپ گرفته شده‌ است که در موسیقی بیان‌گر این است که متن نوشته شده باید نیم قدم از خط بالاتر باشد. پسوند شارپ، توسط بسیاری دیگر از زبان‌های دات نت مانند #J و #F نیز به کار رفته ‌است. پیاده‌سازی اولیه از زبان ایفل تحت دات نت نیز #Eiffel نام داشت که در حال حاضر زبان ایفل را به ‌طور کامل پشتیبانی می‌کند.

  • #C یک زبان برنامه سازی ساده، مدرن، برای اهداف عمومی و شیءگرا است.
  • به دلیل اهمیت داشتن موضوع نیرومندی و دوام و بهره‌وری برنامه‌نویس، زبان دارای چک‌کننده Strong Type، چک‌کننده مرزهای آرایه، تشخیص حالت‌هایی که یک متغیر مقداردهی اولیه نشده‌ است، قابلیت انتقال کدها و Garbage Collection خودکار است.
  • این زبان برای استفاده در اجزای توسعه نرم افزار برای دستیابی به مزایای سامانه‌های توزیعی در نظر گرفته شده‌است.
  • قابلیت انتقال برنامه‌نویس بسیار مهم است، خصوصاً برای آن دسته از برنامه‌نویسانی که با زبان‌های C و ++C آشنا هستند.
  • زبان #C برای نوشتن برنامه‌ها برای سامانه‌های تعبیه شده و میزبان در نظر گرفته شده‌است، سیستم ‌عامل‌های پیچیده بسیار بزرگ گرفته تا توابع اختصاصی بسیار کوچک.
  • در هر نرم افزاری که بتوان کدهای سی شارپ را وارد کرد بخشی وجود دارد که برای افراد مبتدی در برنامه نویسی است این بخش console aplicationنام دارد.

مزایای زبان برنامه نویسی #C

  • استفاده گسترده.
  • چند سکویی بودن (Cross Platform).
  • بازار کار عالی در ایران.
  • بازار کار جهانی خوب.
  • کدنویسی آسان در ویژوال استودیو قدرتمندترین IDE موجود برای برنامه نویسی.
  • یک زبان برنامه نویسی مدرن و همه منظوره است.
  • کاملا شی گرا  (object oriented)
  • جزء گرا  (componentoriented)
  • یادگیری آسان.
  • زبان ساخت یافته است. (برنامه ها را می توان به اجزا و زیر برنامه‌های کوچکتر تقسیم کرد)
  • برای تولید برنامه‌های کارآمد قابل استفاده است.
  • قابل استفاده و کامپایل بر روی انواع کامپیوتر است.
  • بخشی از دات نت فریم ورک است.

ویژگی‌های مهم سی شارپ

  • شرط‌های بولین
  • زباله روبی خودکار
  • کتابخانه استاندارد
  • قابلیت نسخه‌بندی اسمبلی‌ها
  • خصوصیت ها و رویدادها (Properties & events)
  • دلیگیت و مدیریت رویدادها (Delegates and Events Management)
  • استفاده آسان برای جنریک ( برای مقادیر با نوع داده متفاوت)
  • ایندکس‌ها
  • شرط‌های کامپایلری
  • برنامه نویسی ساده برای مالتی ترد( Multi Threads)
  • LINQ و Lambada
  • یکپارچه با ویندوز

 

با زبان برنامه نویسی #C چه کارهایی میتوانید انجام دهید؟

به این نرم افزار و زبان‌های برنامه نویسی مورد نیاز برای توسعه آن‌ها، اصطلاحا سمت سرور (Server side) می‌گوییم. #C یک زبان سمت سرور است.

  • کاربرد در ویندوز

ویندوز هنوز هم بالاترین سهم از کاربران را در سطح جهان نسبت به دیگر سیستم عامل‌ها را از آن خود کرده است. از آنجایی که زبان #C متعلق به شرکت مایکروسافت است، لذا رابطه خوبی در بین ویندوز و #C برقرار است. توسط #C می‌توانید هر نوع برنامه‌ای را برای ویندوز طراحی نمائید. نکته قابل توجه اینکه اکثر نرم افزارهای مورد استفاده در ایران، با زبان برنامه نویسی #C نوشته شده‌اند.

  • کاربرد در وب

با استفاده از تکنولوژی ASP.NET تحت #C می‌توانید هر نوع اپلیکیشنی را تحت وب طراحی نمایید.(سایت ها جزو اپ های تحت وب شناخته می‌شوند) در حال حاضر سایت‌های ابر قدرتی توسط تکنولوژی ASP.NET در ایران پیاده‌سازی شده‌اند. برخی از این سایت‌ها عبارتند از: بانک ملی، دیجی کالا، ایرانسل، ورزش 3 و  ...

  • کاربرد در اندروید

یکی از قابلیت‌های #C که موجب محبوبیتش گردیده، قابلیت برنامه نویسی در پلتفرم‌های مختلف است. با استفاده از #C می‌توانید اپلیکیشن‌های اندرویدی را تولید نمایید. در حال حاضر بسیاری از اپلیکیشن‌های موبایل توسط زامارین نوشته می‌شوند. زامارین قابلیت پیاده‌سازی هر نوع برنامه با هر نوع از سطحی را دارد.

  • کاربرد در IOS

علاوه بر برنامه‌های اندروید، با استفاده از #C می‌توانید اپلیکیشن‌های IOS را نیز تولید نمایید.

  • کاربرد در macOS

باورکردنی نیست اما می‌توان گفت کاری نیست که با استفاده از #C نتوان آن را انجام داد. یکی از این موارد برنامه نویسی برای سیستم عامل مک است. این موضوع میزان قدرت زبان #C را به شما یادآوری می‌کند.

  • کاربرد در توسعه بازی برای موتور Unity

برای بسیاری از طراحان، استفاده از #C برای توسعه بازی برای موتور Unity است. میزان محبوبیت این موتور روز به روز در حال افزایش است و موتور استاندارد Unreal را تحت تاثیر خود قرار داده است. دلیل آن نیز رایگان بودن آن برای توسعه دهندگان نه چندان بزرگ است. بسیاری از افراد ترجیح می‌دهند پروژه خود را با سهولت بیشتری پیش برند و این امر را با #C محقق می‌کند. در صورتی که در ++C سرعت بالا و سازگاری با Unreal وجود دارد.

  • کاربرد در Net و Asp.Net Core

دومین فریم‌ورک بک اند در اینترنت، فریم‌ورک 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 عبارتند از:

  • C# 1.0 ژانویه 2002
  • C# 1.2 آوریل 2003
  • C# 2.0 نوامبر 2005
  • C# 3.0 نوامبر 2007
  • C# 4.0 آوریل 2010
  • C# 5.0 اوت 2012
  • C# 6.0 جولای 2015

 

فریم ورک ها

بیشتر بخوانید

Zharfa Academy-Zharfa Mag-ربات کوری (Kuri Robots)مجله علمی آکادمی ژرفا-
موضوع: ربات کوری (Kuri Robots)
نویسنده: متین باغ‌عنبری
تاریخ: 1400/04/16
Zharfa Academy-Zharfa Mag-ربات موفلین (Moflin Robot)مجله علمی آکادمی ژرفا-
موضوع: ربات موفلین (Moflin Robot)
نویسنده: متین باغ‌عنبری
تاریخ: 1400/04/14
Zharfa Academy-Zharfa Mag-ربات اسپات (Spot Robot)مجله علمی آکادمی ژرفا-
موضوع: ربات اسپات (Spot Robot)
نویسنده: متین باغ‌عنبری
تاریخ: 1400/04/14
Zharfa Academy-Zharfa Mag-ربات Sphero BOLTمجله علمی آکادمی ژرفا-
موضوع: ربات Sphero BOLT
نویسنده: متین باغ‌عنبری
تاریخ: 1400/04/22
Zharfa Academy-Zharfa Mag-دوره‌های زمستانه آکادمی ژرفامجله علمی آکادمی ژرفا-
موضوع: دوره‌های زمستانه آکادمی ژرفا
نویسنده: المیرا افلاکی
تاریخ: 1400/10/23
Zharfa Academy-Zharfa Mag-مهاجرت برنامه‌نویسانمجله علمی آکادمی ژرفا-
موضوع: مهاجرت برنامه‌نویسان
نویسنده: المیرا افلاکی
تاریخ: 1400/03/12
Zharfa Academy-Zharfa Mag-IOT اینترنت اشیاء و IIOTمجله علمی آکادمی ژرفا-
موضوع: IOT اینترنت اشیاء و IIOT
نویسنده: المیرا افلاکی
تاریخ: 1400/03/15
Zharfa Academy-Zharfa Mag-بک لینک چیست؟مجله علمی آکادمی ژرفا-
موضوع: بک لینک چیست؟
نویسنده: المیرا افلاکی
تاریخ: 1400/03/18