سی شارپ چیست؟
سی شارپ C# نوعی زبان برنامه نویسی همهمنظوره، مدرن و شی گرا است که با نام سی شارپ تلفظ میشود. این زبان توسط مایکروسافت به رهبری آندرس هیلسبرگ و تیمش در فریمورک دات نت توسعه داده شد و توسط انجمن سازندگان کامپیوتر اروپا (ECMA) و سازمان استاندارد بینالمللی (ISO) تائید شد. سی شارپ یکی از زبانهای زیرساخت زبان مشترک یا CLR است و یکی از محبوبترین زبانها برای برنامه نویسان بهخصوص در پروژههای نرم افزاری بهحساب میآید. سی شارپ ازنظر نحوی بسیار شبیه جاوا است و برای کاربرانی که دانش C ،C++ یا جاوا دارند، یادگیری آن بسیار آسان خواهد بود. در دوره سی شارپ با جنبههای مختلف این زبان و کاربردهای آن بیشتر آشنا خواهیم شد؛ اما واقع چرا سی شارپ؟
Admin: @alialirezapanahi
روبیکا
https://rubika.ir/sisharpapp
سروش
splus.ir/sisharpapp
ایتا
https://eitaa.com/sisharpapp
چرا زبان سی شارپ؟
دلایل زیادی برای یادگیری زبان برنامه نویسی سی شارپ وجود دارد که از مهمترین آنها میتوان به موارد زیر اشاره کرد:
●شروع آسان: سی شارپ یک زبان سطح بالا است، بنابراین به سایر زبانهای برنامه نویسی محبوب مانند C ،C++ و جاوا نزدیکتر است و بنابراین یادگیری آن برای هرکسی آسان میشود.
●بهطور گسترده برای توسعه اپلیکیشن های دسکتاپ و برنامههای کاربردی وب استفاده میشود: این یکی از محبوبترین زبانهایی است که در ساخت اپلیکیشنهای حرفهای دسکتاپ استفاده میشود. اگر کسی بخواهد اپلیکیشنهای ویندوزی ایجاد کند، سی شارپ اولین انتخاب او است.
●انجمن: هر چه جامعه بزرگتر باشد بهتر است زیرا ابزارها و نرمافزارهای جدیدی برای بهتر کردن آن درحالتوسعه خواهند بود. سی شارپ دارای یک انجمن پشتیبانی بزرگ است که بهصورت مداوم نقصها و باگها را رفع میکنند.
●توسعه بازی: سی شارپ بهطور گسترده در ساخت بازی استفاده میشود. ازآنجاکه سی شارپ با مایکروسافت ادغام میشود، بنابراین مخاطبان هدف زیادی دارد. ویژگیهای سی شارپ مانند جمعآوری خودکار زباله، رابطها، شی گرایی و غیره، سی شارپ را به یک زبان توسعهدهنده بازی محبوب تبدیل کرده است.
●و بسیاری از موارد دیگر
Admin: @alialirezapanahi
روبیکا
https://rubika.ir/sisharpapp
سروش
splus.ir/sisharpapp
ایتا
https://eitaa.com/sisharpapp
مزایا و معایب سی شارپ
اگرچه ساختارهای سی شارپ از زبانهای سطح بالا سنتی پیروی میکنند، اما C و C++ نوعی زبان برنامه نویسی شی گرا هستند. این زبان شباهت زیادی با جاوا دارد، دارای ویژگیهای برنامه نویسی قوی متعددی است که آن را برای تعدادی از برنامه نویسان در سراسر جهان دوستداشتنی میکند. بهتر است قبل از اینکه به معرفی دوره سی شارپ بپردازیم ابتدا مزایا و معایب آن را موردبررسی قرار دهیم. این زبان مزایای بسیاری دارد اما درعینحال مانند هر زبان دیگری عاری از عیب نیست و بهصورت کلی مزایا و معایب سی شارپ بهصورت زیر است.
Admin: @alialirezapanahi
روبیکا
https://rubika.ir/sisharpapp
سروش
splus.ir/sisharpapp
ایتا
https://eitaa.com/sisharpapp
مزایای سی شارپ
مزایای سی شارپ به صورت موارد زیر است:
●سی شارپ در مدیریت سیستم بسیار کارآمد است. تمام زبالهها بهطور خودکار در سی شارپ جمعآوری میشوند.
●مشکل نشت حافظه در سی شارپ به دلیل پشتیبان گیری بالای حافظه وجود ندارد.
●هزینه تعمیر و نگهداری کمتر بوده و در مقایسه با سایر زبانها ایمنتر است.
●کد سی شارپ به یک زبان میانی (Common (.Net) Intermediate Language) که یک زبان استاندارد است، مستقل از سیستمعامل و معماری هدف کامپایل میشود.
●مراحل تولید و کامپایل برنامههای C# نسبت به برخی زبانهای دیگر مانند c و java ساده و انعطافپذیرتر است.
●میتوان از C# برای نوشتن کد رویهای و ایجاد انواع و تجمیعهای تعریفشده توسط کاربر در SQL Server استفاده کرد.
●محدودیت تعریف کلاس، اینترفیس، رکورد و رویداد وجود ندارد.
●بهکارگیری قابلیت Auto intellosense در فایلهای Configuration به این منظور که وقتی کلمهای را تایپ میکنید، ادامه آن برای شما نمایش داده میشود.
●سیشارپ یک زبان متنباز، سریع و چند پلتفرمی است.
یادگیری سی شارپ آسان است.
●و غیره
Admin: @alialirezapanahi
روبیکا
https://rubika.ir/sisharpapp
سروش
splus.ir/sisharpapp
ایتا
https://eitaa.com/sisharpapp
معایب سی شارپ
با وجود مزایای زیاد بازهم سی شارپ معایبی دارد از جمله موارد زیر:
●سی شارپ از انعطافپذیری کمتری برخوردار است زیرا بستگی زیادی به چارچوب.Net دارد.
●سی شارپ بهکندی اجرا میشود و هر بار که هر تغییری ایجاد میشود باید برنامه کامپایل شود.
Admin: @alialirezapanahi
روبیکا
https://rubika.ir/sisharpapp
سروش
splus.ir/sisharpapp
ایتا
https://eitaa.com/sisharpapp
موارد استفاده از سی شارپ
سی شارپ در صنایع و حوزههای مختلفی مورداستفاده قرار میگیرد و بازار کار آن بسیار داغ است. از مهمترین کاربردهای سی شارپ میتوان به موارد زیر اشاره کرد:
●سی شارپ بهطور گسترده برای توسعه برنامههای دسکتاپ، برنامههای کاربردی وب و خدمات وب استفاده میشود.
●در ایجاد برنامههای کاربردی مایکروسافت در مقیاس بزرگ استفاده میشود.
●سی شارپ در بازی سازی با موتور بازی سازی Unity استفاده میشود.
●تولید وبسایتها و نرمافزارهای تحت وب با استفاده از تکنولوژیهای Net و Asp.Net Core
●برنامه نویسی موبایل و ساخت اپلیکیشنهای اندروید و IOS با استفاده از تکنولوژی Xamarin
●ایجاد نرمافزارهای قابلاجرا بر روی ویندوز با استفاده از تکنولوژیهای Windows WPF ،Forms و UWP
●ساخت نرمافزارهای بازی با استفاده از تکنولوژی Unity
با یادگیری سی شارپ با استفاده از دوره سی شارپ و سایر منابع آموزشی میتوان گفت که امکان ورود به بازار کار برای متقاضیان فراهم است زیرا بازار کار بهشدت به متخصصان سی شارپ نیاز دارد.
Admin: @alialirezapanahi
روبیکا
https://rubika.ir/sisharpapp
سروش
splus.ir/sisharpapp
ایتا
https://eitaa.com/sisharpapp
فریمورک دات نت و اجزای آن
دات نت یک چارچوب نرمافزاری است که توسط مایکروسافت طراحی و توسعهیافته است. این یک ماشین مجازی برای کامپایل و اجرای برنامههای نوشتهشده به زبانهای مختلف مانند C#، VB.Net و غیره بهحساب میآید.
برای توسعه برنامههای کاربردی مبتنی بر فرم، برنامههای کاربردی مبتنی بر وب و سرویسهای وب استفاده میشود. اولین نسخه فریم ورک دات نت 1.0 بود که در سال 2002 عرضه شد و نسخه فعلی 4.7.1 است. دات نت فریم ورک از بیش از 60 زبان برنامه نویسی پشتیبانی میکند که زبانهای برنامه نویسی C#زباناصلی آن هستند و بهتر است که قبل از معرفی دوره سی شارپ با آن آشنا شویم. اجزای فریمورک دات نت به شرح زیر هستند.
Admin: @alialirezapanahi
روبیکا
https://rubika.ir/sisharpapp
سروش
splus.ir/sisharpapp
ایتا
https://eitaa.com/sisharpapp
1. زمان اجرا زبان مشترک (CLR)
CLR: جزء اصلی و ماشین مجازی دات نت فریم ورک بهحساب میآید. این محیط زمان اجرا در دات نت فریم ورک است که کدها را اجرا میکند و به تسهیل فرآیند توسعه کمک میکند. این بخش مسئولیت مدیریت اجرای برنامههای دات نت را بدون توجه به هر زبان برنامه نویسی دات نت بر عهده دارد. همچنین به مدیریت کد کمک میکند، زیرا کدی که زمان اجرا را هدف قرار میدهد به عنوان کد مدیریتشده شناخته میشود و کدی که زمان اجرا را هدف قرار نمیدهد به عنوان کد مدیریت نشده شناخته میشود.
Admin: @alialirezapanahi
روبیکا
https://rubika.ir/sisharpapp
سروش
splus.ir/sisharpapp
ایتا
https://eitaa.com/sisharpapp
2. Framework Class Library (FCL)
این بخش مجموعهای از کتابخانهها و متدهای کلاسی قابلاستفاده مجدد، شی گرا و غیره است که میتواند با CLR ادغام شود. FCL دقیقاً مانند فایلهای هدر در C/C++ و بستههای موجود در جاوا است. نصب فریم ورک دات نت اساساً نصب CLR و FCL در سیستم است.
Admin: @alialirezapanahi
روبیکا
https://rubika.ir/sisharpapp
سروش
splus.ir/sisharpapp
ایتا
https://eitaa.com/sisharpapp
3. Common Intermediate Language
CLI مجموعهای از دستورالعمل ها ست که مستقل از پلتفرم هستند و توسط کامپایلر مخصوص زبان از کد منبع تولید میشوند. همچنین به عنوان زبان میانی مایکروسافت (MSIL) شناخته میشود.
Admin: @alialirezapanahi
روبیکا
https://rubika.ir/sisharpapp
سروش
splus.ir/sisharpapp
ایتا
https://eitaa.com/sisharpapp
4. Garbage Collector(GC)
مدیریت خودکار حافظه توسط Garbage Collection در فریمورک دات نت امکانپذیر شده است. هنگامیکه یک شی کلاس در زمان اجرا ایجاد میشود، فضای حافظه خاصی در حافظه پشته به آن اختصاص مییابد. با این حال، پس از تکمیل تمام اقدامات مربوط به شی در برنامه، فضای حافظه اختصاص دادهشده به آن هدر میرود زیرا نمیتوان از آن استفاده کرد.
Admin: @alialirezapanahi
روبیکا
https://rubika.ir/sisharpapp
سروش
splus.ir/sisharpapp
ایتا
https://eitaa.com/sisharpapp
5. کامپایلر Just-In-Time(JIT)
کامپایلر درجا یا کامپایلر Just-In-Time (JIT) بخشی از Common Language Runtime (CLR) در دات نت است که وظیفه مدیریت اجرای برنامههای دات نت را بر عهده دارد. یک کامپایلر مخصوص زبان، کد منبع را به زبان میانی تبدیل میکند. سپس این زبان میانی توسط کامپایلر Just-In-Time (JIT) به کد ماشین تبدیل میشود. این کد ماشین مخصوص محیط کامپیوتری است که کامپایلر JIT روی آن اجرا میشود.
Admin: @alialirezapanahi
روبیکا
https://rubika.ir/sisharpapp
سروش
splus.ir/sisharpapp
ایتا
https://eitaa.com/sisharpapp