زبان (#C) سی شارپ یک زبان برنامه نویسی که توسط مایکروسافت در سال 2000 معرفی شد. آندرس هجلزبرگ سرپرست تیم طراح این زبان برنامه نویسی است.
ارتباط سی شارپ با Net Framework.
سی شارپ یکی از زبانهای بر پایه چارچوب دات نت (NET Framework.) است. دات نت فریمورک شامل کتابخانههای غنی برای توسعه نرم افزار است که شامل فناوریهایی مانند ASP.Net و ADO.Net و LINQ میباشد. همچنین، کدهای سی شارپ در چارچوب دات نت، ابتدا به زبان میانی مشترک یا (CIL (Common Intermediate Language تبدیل شده و با استفاده از زبان مشترک زمان اجرا یا (CLR (Common Language Runtime اجرا میشود.
قواعد
چند نمونه از قواعد:
- سی شارپ حساس به حروف کوچک و بزرگ است. (Case-Sensitive)
- در سی شارپ 79 کلمه کلیدی وجود دارد و از این 79 کلمه نمیتوان برای نامگذاری شناسهها (مانند نام متغیر، نام کنترل، نام شیء، نام کلاس و…) استفاده کرد.
- بعد از نوشتن هر خط دستور باید از (;) که سمی کالن (Semicolon) نامیده میشود استفاده کرد.
- در ابتدای کدها، باید از کلمه کلیدی using برای تعریف namespace ها استفاده میکنیم. namespace ها یا فضای نام برای دسته بندی کلاسها و کوتاه تر کردن کدنویسی به کار میرود.
تاریخچه زبان سی شارپ
شرکت سان در سال 1999 به مایکروسافت اجازه داد تا از جاواجاوا چیست؟ تعریف، معنی و ویژگی های جاوا (java) از 0تا100جاوا یک زبان برنامه نویسی همه منظوره، مبتنی بر کلاس و شی گرا است که برای داشتن وابستگی های پیاده سازی کمتر طراحی شده است، زبان برنامه نویسی جاوا شبیه ++C است استفاده کند، مایکروسافت هم برای رقابت با زبان جاوا مجبور به توسعه زبان جدیدی بود، پس آندرس هجلزبرگ گروهی را جهت توسعه زبانی جدید تشکیل داد، در ابتدا نام این زبان C like Object Oriented Language یا COOL بود که در نهایت سال 2000 چارچوب دات نت معرفی شد و زبان جدید سی شارپ نام گرفت. تغییر نام این زبان از COOL به #C به دلیل نامناسب بودن نام COOL جهت اهداف تجاری بود.
انواع کاربرد های سی شارپ در حوزه های مختلف
در برنامه نویسی موبایل
زامارین (Xamarin) یک فریمورک از زبان #C است و مشابه فلاتر (Flutter) و React Native برای توسعه برنامههای چندسکویی یا Cross-Platform استفاده میشود. یعنی کافیست فقط یک بار برنامه را بنویسید و برای دستگاه های مختلف خروجی بگیرید و دیگر نیازی نیست برنامهی نوشته شده را برای هر پلتفرم بازنویسی کنید. با استفاده از این فریمورک هم میتوان برای دستگاههای اندرویدسیستم عامل اندرويد چیست؟ هر آنچه باید درمورد Android بدانیداندروید چیست و چه ویژگی هایی دارد؟ این مقاله عالی به معرفی سیستم عامل اندروید (Android)، تاریخچه و توسعه اندروید، ویژگی های ورژن های مختلف اندروید پرداخته است و هم دستگاههای iOS برنامه نویسی کرد. البته به یاد داشته باشید برای این که بتوانید برای دستگاه های iOSسیستم عامل iOS چیست؟ بررسی تاریخچه و ویژگی های آی او اساین مقاله عالی به معرفی سیستم عامل آی او اس (IOS) پرداخته، همچنین به بررسی ویژگی های سیستم عامل Apple iOS و تاریخچه و نسخه های سیستم عامل iOS پرداخته است برنامه بنویسید و خروجی بگیرید، باید حتما از دستگاهی استفاده کنید که سیستم عامل MacOS روی آن نصب شده باشد. زامارین میتواند در هر پلتفرمی که استفاده میشود، با ویژگیهای برنامههای Native آن پلتفرم، سازگاری خوبی پیدا کند. حتی سخت افزارسخت افزار چیست - بررسی اجزای اصلی سخت افزار کامپیوتردر این صفحه بررسی شده که سخت افزار چیست و سخت افزار کامپیوتر به زبان ساده معرفی شده است، همچنین به بررسی اجزای اصلی سخت افزار کامپیوتر پرداخته شده است و سنسورهای هر پلتفرمی توسط زامارین به راحتی پشتیبانی می شود. زامارین کتابخانههای متعددی جهت توسعه برنامههای موبایل دارد.
زامارین برای اولین بار توسط گروهی از توسعه دهندگان مطرح شد که هدف آنها برنامه نویسی چند سکویی بر مبنای Net. بود. اولین بار چنین موضوعی در سال 2001 مطرح شد و کمپانی زامارین سال 2011 تاسیس شد. مایکروسافت در سال 2016 زامارین را خرید و آن را مجانی و Open Sourceاوپن سورس یا متن باز چیست؟ اوپن سورس به چه معناست؟اوپن سورس یا متن باز چیست؟ این صفحه عالی به بررسی این موارد و همچنین تاریخچه نرم افزار متن باز و نحوه به کارگیری متن باز در توسعه نرم افزار پرداخته است به Visual Studio اضافه کرد.
زامارین معایبی نیز دارد از جمله اینکه برنامههای توسعه داده شده، حجم بالایی دارند. به نسبت پلتفرمهای دیگر جامعه توسعه دهندگان آن کوچکتر است و همچنین، در صورتی که قصد توسعه بازیهایی با گرافیک سنگین را دارید استفاده از زامارین توصیه نمیشود.
در توسعه صفحات وب
برای کدنویسی سمت سرور وبسایتها با استفاده از سی شارپ، میتوانید از تکنولوژی محبوب ASP.Net استفاده کنید. ASP مخفف Active Server Page است. برای کار با این فریمورک، باید ابتدا زبان سی شارپ را به خوبی یاد بگیرید، چون بسیاری از کدهای مورد استفاده در ASP.Net به زبان سی شارپ هستند. همچنین، پایگاه داده مورد استفاده، Microsoft SQL Server و وب سرویس مورد نیاز جهت اجرای صفحاتی که با ASP نوشته شده باشند، IIS میباشد. منحنی یادگیری دشوار و هزینههای بیشتر برنامه نویسی سمت سرور یک وب سایت با استفاده از ASP.Net از معایب این تکنولوژی است.
مزایای استفاده از این تکنولوژی عبارتند از تعداد کد کمتر، عملکرد سریعتر، امنیت بیشتر، انعطاف پذیری بیشتر، ارائه ابزارهای عالی و متن باز بودن (با ارائهی ASP.Net Core). مهمترین مزیت ASP.Net، پشتیبانی و استفاده از معماری MVC است. معماری MVC از سه لایهی Model - View - Controller تشکیل شده است و مختص به هیچ زبان یا فریمورک خاصی نیست، با استفاده از این معماری در ASP میتوان فرآیند ساخت یک برنامه تحت وب را سرعت بخشید.
ASP.Net Core یک طراحی مجدد از ASP.Net است که در سال 2016 معرفی شد. با ارائهی تغییراتی در معماری، ASP.Net Core ماژولار شده است و تمرکز آن بر روی کارایی بهتر است. ASP.Net Core به شما اجازه میدهد تا برای ساخت UI و API وب، روند یکسانی را طی کنید، فریمورکهای مدرن Client-Side را باهم ادغام کنید و برنامه نویسی نرم افزارهای Cloud را انجام دهید.
در هوش مصنوعی
یکی از شاخههای پرکاربرد هوش مصنوعی، یادگیری ماشین است. یادگیری ماشین یعنی کامپیوترها بتوانند بدون برنامهای با دستورات واضح، چیزهای جدیدی را با استفاده از نمونهها و تجربیات خود یاد بگیرند. یادگیری ماشین یا ML که مخفف Machine Learning است، در زمینههای گوناگون کاربرد دارد، مانند موتورهای جستجو، فیلتر کردن ایمیلهای دریافتی، تشخیص چهره، تشخیص پزشکی و زبان شناسی. با استفاده از سی شارپ و بستهی نرمافزاری ML.Net میتوانید با زبان سی شارپ و در حوزه یادگیری ماشین، برنامهنویسی کنید.
این بسته به زبان #C و ++C نوشته شده است و در سال 2018 توسط مایکروسافت معرفی شد. مایکروسافت حتی در محصولاتش مانند ویندوز، بسته نرمافزاری آفیس و موتور جستجوی Bing از این کتابخانه استفاده کرده است. در حال حاضر، فقط سیستمهای 64 بیتی میتوانند از ML.Net استفاده کنند و حتما باید Net Core 3.0. را روی سیستم خود نصب کرده باشید تا بتوانید از آن استفاده کنید. ویژگیهای ML.Net عبارتند از: Cross-Platform بودن، قابلیت اتصال #C به کتابخانهی معروف Tensorflow، استفاده از هر نوع سیستم مدیریت پایگاه داده ی رابطه ای (RDBMS) مانند Oracle ،SQLite ،PostgreSQL، قابلیت الگوسازی و یادگیری ماشینی خودکار و آموزش شبکه عصبی عمیق با GPU.
یکی دیگر از کاربردهای سی شارپ در هوش مصنوعی، مربوط به فریمورک Accord.Net است که در حوزههای متعددی به کار میرود، از جمله طبقهبندی، رگرسیون، خوشهبندی، کار با تصاویر و فایلهای صوتی. این فریمورک کاملا با زبان سی شارپ نوشته شده است و برای اولین بار در سال 2010 منتشر شد.
در اینترنت اشیاء
با استفاده از سی شارپ و کتابخانههای مورد نیاز برای IoT یا Internet of Things، میتوانید برنامه های بر پایه IoT را توسعه دهید. دو بستهای که باید برای توسعه اینترنت اشیاء با سی شارپ مورد استفاده قرار بگیرند عبارتند از:
- System.Device.Gpio
- Iot.Device.Bindings
برای توسعه پروژه های مبتنی بر اینترنت اشیاء که از سنسورهای متعددی استفاده میکنند، #C یک زبان ایدهآل به حساب میآید. از آنجایی که سی شارپ مستقیما میتواند از حافظه RAM استفاده کند، قدرت پردازش زیادی نیاز ندارد و نحو سادهای دارد، میتوان از آن در اینترنت اشیاء بهره برد.
در توسعه برنامه های ویندوز
یکی از بهترین گزینهها برای توسعه برنامه های دسکتاپ، استفاده از سی شارپ است. با استفاده از Visual Studio میتوانید از Windows Forms App برای توسعه برنامه های دارای GUI یا رابط کاربری گرافیکی برای دسکتاپ استفاده کنید.
البته از تکنولوژی WPF (مخفف Windows Presentation Foundation) نیز میتوان برای توسعه برنامههای دارای رابط گرافیکی استفاده کرد و امکانات جدیدتر و ویژهتری را به شما ارائه میدهند؛ به عنوان مثال، با استفاده از WPF میتوانید برنامههایی با UI منعطفتر و قویتر ایجاد کنید، در حالی که فرمهای ویندوز اینگونه نیستند و ساده ترند. به لحاظ امنیت و سرعت نیز WPF از فرمهای ویندوز عملکرد بهتری دارد. غیر از این دو مورد میتوانید با استفاده از Console Applications برنامههایی را بنویسید که در محیط کنسول اجرا می شوند و فاقد هرگونه اجزای گرافیکی هستند. همچنین با استفاده از (UWP (Universal Windows Platform میتوانید برنامههای Client را برای ویندوز 10 و 11 طراحی کنید.
در الکترونیک
سی شارپ همچنین به علت داشتن کتابخانهها و کلاسهایی برای کار با انواع پورتهای سختافزاری و همچنین کار با انواع میکروکنترلرها از جمله Arduino و Raspberry Pi، کاربرد زیادی در حوزه الکترونیک دارد. حتی در حوزه رباتیک و برنامهنویسی برای آنها میتوانید از سی شارپ استفاده کنید.
مزایا و معایب زبان سی شارپ
مزایا
این زبان دارای مزایای مختلفی است، از جمله:
- Syntax مشابه جاوا، زبان C++برنامه نویسی سی پلاس پلاس چیست؟ مزایای برنامه نویسی C++؟برنامه نویسی سی پلاس پلاس چیست و چه کاربردی دارد؟ این صفحه عالی به بررسی مزایای برنامه نویسی C++ پرداخته و نمونه هایی از کدهای زبان برنامه نویسی ++C را آورده و C
- قدرتمندترین زبان برنامه نویسی که از Net Framework. استفاده میکند.
- دارای امنیت بالا
- قابلیت استفاده مجدد از کدها
- دارای کتابخانه های غنی برای استفاده در زمینه های مختلف
- چندسکویی بودن (Cross-Platform)
معایب
- ارتباط ضعیف با APIAPI چیست؟ همه چیز درباره api یا رابط برنامه نویسی کاربردیاین مقاله عالی بررسی کرده که API چیست و چه کاربردی دارد و چگونه می توان از api ها در برنامه های خود استفاده نمود. همچنین استاندارد api و کاربرد api بررسی شده
- عدم امکان استفاده مستقیم از زبان اسمبلی
- وابستگی زیاد به چارچوب Net.
- منحنی یادگیری دشوار
ویژگی ها
سی شارپ یک زبان سطح بالا، شئ گرا، مدرن و چند منظوره بر پایه Net. است. این زبان از خانواده زبان های C است و استانداردهای ECMA/ISO را داراست.
جمع بندی
در این مقاله به بررسی انواع کاربرد سی شارپ در حوزههای مختلف پرداختیم. همچنین، با ویژگیها و مزایا و معایب سی شارپ آشنا شدیم. ما با یک زبان سطح بالا، شئگرا و چندمنظوره روبرو هستیم و به همین دلایل، یادگیری این زبان را به شما توصیه میکنیم. در پایان امیدواریم از این مقاله ی بلاگ کنکور کامپیوتر لذت برده باشید.
زبان سی شارپ چه زمانی معرفی شد؟
زبان سی شارپ در سال 2000، همزمان با معرفی چارچوب Net. معرفی شد. سرپرست تیم طراح این زبان برنامه نویسی آندرس هجلزبرگ است و در ابتدا قرار بود نام زبان COOL باشد که بهدلیل مناسب نبودن این نام برای اهداف تجاری، نام آن به #C تغییر یافت.
انواع کاربردهای زبان سی شارپ را نام ببرید؟
زبان سی شارپ یک زبان چندمنظوره است که برای توسعه برنامه های ویندوز، ساخت اپلیکیشن برای موبایلهای اندروید و iOS و ساعتهای هوشمند، توسعه صفحات وب، استفاده در پروژههای اینترنت اشیاء، هوش مصنوعی، الکترونیک و بازی سازی با استفاده از Unity کاربرد دارد.
زبان سی شارپ چه ویژگی هایی دارد؟
زبان سی شارپ به حروف بزرگ و کوچک حساس است؛ بعد از نوشتن هر خط کد نیز باید از علامت سیمی کالن استفاده کرد؛ در زبان سی شارپ 79 کلمه کلیدی وجود دارد؛ از برنامه نویسی شئ گرا یا OOP (Object Oriented Programming) پشتیبانی میکند؛ همچنین یک زبان برنامه نویسی سطح بالا (نزدیک به زبان محاوره ای) و از خانوادهی زبان C است و از استانداردهای ECMA/ISO پشتیبانی میکند.
مزایا و معایب زبان سی شارپ چیست؟
مزایای این زبان عبارت است از قابلیت استفاده مجدد کدها، نحو ساده و مشابه زبانهای خانواده C و جاوا، امنیت بالا، سریع بودن، Cross Platform بودن و امکان استفاده از کتابخانههای مختلف و غنی جهت ساخت برنامههایی در حوزههای گوناگون. معایب این زبان عبارت است از عدم امکان استفاده مستقیم از زبان اسمبلی، ارتباط ضعیف با API و وابستگی زیاد به چارچوب Net.
آیا ارزش دارد یادگیری زبان سی شارپ را شروع کنیم؟
باتوجه به کاربرد زبان سی شارپ در انواع حوزهها، پشتیبانی از شئ گرایی و سطح بالا بودن و سایر ویژگیهایی که برخوردار است، این زبان قطعا ارزش یادگیری را دارد. همچنین، این زبان جامعهی وسیع و بازار کار خوبی دارد.