درباره سی شارپ
بدون شک یکی از محبوب ترین و پرکاربرد ترین زبان های برنامه نویسی حال حاضر دنیا سی شارپ نام دارد و بر اساس آخرین تحقیقات صورت گرفته این زبان جزو 5 زبان برنامه نویسی برتر در دنیا می باشد، که همچنین بازار کار بسیار خوبی در ایران دارد. از زبان برنامه نویسی C# می توان برای ساخت برنامه های تحت ویندوز (دسکتاپ)، برنامه های تحت وب،Web service ها، برنامه های موبایل و بازی ها استفاده کرد.
برای توسعه برنامه های ویندوز از طریق زبان سی شارپ می توان از پلتفرم های WinForms،WPF و UWP استفاده کرد. حتی با استفاده از زبان سی شارپ و پلتفرم هایی مانند Xamarin و UWP می توان برای اندروید، iOS و ویندوزفون ها برنامه ایجاد کرد. همچنین فریمورک های ASP.NET MVC و ASP.NET Core دو تکنولوژی برای طراحی و ایجاد برنامه های تحت وب مدرن هستند که امروزه در دنیای برنامه نویسی بسیار پرکاربرد و پر آوازه می باشند. بنابراین اگر تسلط خوبی به زبان برنامه نویسی سی شارپ داشته باشید، شما آمادگی کافی برای شروع یادگیری فریمورک قدرتمند ASP.NET Core را نیز خواهید داشت.
تاریخچه سی شارپ
در سال ۱۹۹۹، شرکت Sun (سان) اجازه استفاده از زبان برنامهنویسی جاوا را در اختیار شرکت مایکروسافت قرار داد تا در سیستمعامل خود از آن استفاده کند. جاوا در اصل به هیچ پلتفرم یا سیستمعاملی وابسته نبود، ولی مایکروسافت برخی از مفاد قرار داد را زیر پا گذاشت و قابلیت مستقل از سیستمعامل بودن جاوا را از آن برداشت، شرکت سان پروندهای علیه مایکروسافت درست کرد و مایکروسافت مجبور شد تا زبان شی گرای جدیدی با کامپایل جدید که به ++C شبیه بود را ایجاد کند. در سال ۱۹۹۹ آندرس هلزبرگ گروهی را برای طراحی زبانی جدید تشکیل داد که در آن زمان نامش Cool بود و شبیه زبان C بود اما با خواص شیءگرایی، مایکروسافت در نظر داشت اسم این زبان را برای همیشه Cool قرار دهد، ولی به دلیل مناسب نبودن برای اهداف تجاری این کار را نکرد. در ارائه و معرفی رسمی چارچوب دات نت در سال ۲۰۰۰ این زبان به C# تغییر نام یافت. مدیر و سرپرست طراحان سی شارپ در مایکروسافت آندرس هلزبرگ بود که تجربه قبلی او در طراحی Framework و زبانهای برنامه سازی++Borland، Delphi، Pascal، C++ به آسانی در دستورالعملهای سی شارپ قابل رویت است.
چرا سی شارپ؟
دلایل بسیاری برای محبوبیت زبان سی شارپ وجود دارد که از جمله آنها می توان به موارد زیر اشاره کرد :
- آسان بودن یادگیری برنامه نویسی سی شارپ
سی شارپ جزء زبان های سطح بالا است و به زبان های برنامه نویسی چون C, C++ و جاوا نزدیک است؛ بنابراین یادگیری این زبان آسان است و شما با داشتن یک منبع مناسب می توانید به خوبی این زبان برنامه نویسی را یاد بگیرید.
- استفاده گسترده از زبان سی شارپ برای توسعه برنامه های دسکتاپ (ویندوز) و تحت وب
زبان C# به صورت گسترده برای تولید برنامه های دسکتاپ ، تحت وب و Web service ها مورد استفاده قرار می گیرد؛ مایکروسافت با خرید شرکت Xamarin قدم بزرگی در مسیر رشد هر چه بیشتر استفاده از زبان #C برداشت. Xamarin امکانی را فراهم کرده است که به سادگی میتوان با استفاده از زبان #C برای دستگاههای اندرویدی و iOS اپلیکیشن موبایل تولید کرد.
- استفاده از زبان سی شارپ برای تولید بازی
زبان سی شارپ به صورت گسترده برای تولید بازی های مختلف مورد استفاده قرار می گیرد.
- زبان #C دارای برنامه های تحت وب یکپارچه ای است
- کدنویسی آسان در نرم افزار ویژوال استودیو که قدرتمندترین IDE موجود برای برنامه نویسی است.
- زبان برنامه نویسی سی شارپ دارای کتابخانه بزرگی است که می تواند عملکرد سطح بالاتری نسبت به دیگر زبان ها همچون جاوا و C++ ارائه دهد.
- بازار کار عالی در ایران و خارج از ایران
- پشتیبانی و بروزرسانی مداوم توسط شرکت مایکروسافت
- زبان برنامه نویسی C# کاملا شی گرا است.
برنامه نویسی شی گرا (Object Oriented Programming)
برنامه نویسی شی گرا که به اختصار OOP نیز نامیده میشود، در حقیقت منطقی برگرفته از زندگی روزمرهی ما انسان ها است. اگر به اطراف خود بنگرید، اشیای مختلفی را می بینید، پس انسان بر اساس اشیا فکر می کند. در برنامه نویسی شی گرا نیز ما تلاش می کنیم تا مفاهیم برنامه نویسی را همانند اشیای دنیای واقعی مدل کنیم. زیرا ذهن انسان توانایی بالایی در مدل سازی اشیا دارد.
مفاهیم پایه شی گرایی
Class(کلاس): به مجموعه ای از اشیاء که دارای ویژگی ها و رفتارهای مشترکی هستند کلاس گفته می شود. یک کلاس نمونه اولیه ای است که object از روی آن ساخته می شود. کلاس هایی مانند کلاس دانشجو، کلاس انسان، کلاس ماشین و …
کلاس ها مانند نقشه های ساختمان یا نقشه های ماشین هستند. .ﯾﻚ ﻛﻼس، ﻧﻘﺸﻪ اﯾﺠﺎد ﯾﻚ ﺷﯽ از ﻛﻼس است. بنابراین همانطور که می توانیم خانه های زیادی را از روی یک نقشه بسازیم، می توانیم شی های زیادی را از روی یک کلاس، نمونه سازی کنیم.
Object (شی): ﺷﯽ ﻳﮏ ﻣﻮﺟﻮدﯾﺖ ﻓﯿﺰﯾﮑﯽ ﯾﺎ یک ﻣﻔﻬﻮم ﮐﻠﯽ اﺳﺖ ﺑه طوری ﮐﻪ دارای ﻫﻮﻳﺖ و ویژگی هایی ﺑﻮده و ﻗﺎدر ﺑﻪ ﺑﺮوز رﻓﺘﺎرهاییﻣﯽ ﺑﺎﺷﺪ. رفتارهایی مثل صحبت کردن، دیدن، راه رفتن و غیره دارد.
Property (خصوصیت): ﻫﺮ ﺷﯽ یک سری ﺧﺼﻮﺻﯿﺎت دارد ﮐﻪ ﺑﻪ آن ها ﺻﻔﺖ ﮔﻔﺘﻪ ﻣﯽ ﺷﻮد. به عنوان مثال انسان یک شی است که ویژگی هایی مانند: رنگ مو، رنگ چشم، وزن، قد و ... دارد.
Method (متد): هر شی در واقع یک سری رفتار دارد که به آن ها روش یا متد گفته می شود. ﻣﺘﺪهادر واﻗﻊ ﭘﺎﺳﺦ ﻫﺎﯾﯽ هستند ﮐﻪ آن ﺷﯽ در ﻣﻘﺎﺑل تحریکات ﻣﺤﯿﻂ از ﺧﻮد ﻧﺸﺎن می دهد. مثلا انسان رفتارهایی مثل صحبت کردن، دیدن، گوش کردن، راه رفتن و غیره دارد.
مزایای برنامهنویسی شئگرا چیست؟
- افزایش امنیت برنامه
- کاهش هزینه نگهداری
- قابلیت استفاده مجدد
- تحلیل سادهتر برنامه
- قابلیت سازمان دهی بهینه تر کدها
- عدم نیاز به نوشتن کدهای تکراری و قابلیتهایی که قبلا پیادهسازی شدهاند و صرف جویی در استفاده از منابع
- قابلیت تقسیم برنامه به برنامههای کوچک تر اما مستقل
همانطور که گفتیم برنامهنویسی شی گرا به شدت به دنیای واقعی ما انسانها شباهت دارد و نسبت به برنامه نویسی روال گرا سادهتر توسط ذهن انسان درک میشود..
بررسی آینده زبان C# و بازار کار سی شارپ
برای یادگیری برنامه نویسی، زبان های برنامه نویسی بسیار زیادی وجود دارد که هر کدام از آن ها مزایا و معایب مختص به خود را دارند. یکی از این زبان ها، زبان برنامه نویسی سی شارپ است. نکته ی قابل توجه در مورد زبان سی شارپ که باعث برتری این زبان نسبت به سایر رقبا است، پشتوانه ای بزرگ به نام مایکروسافت است. بر اساس گزارشی که در سال ۲۰۰۲ منتشر شد، مشخص شد که شرکت مایکروسافت پس از صرف دو میلیون دلار هزینه و ۵ میلیون ساعت کار بی وقفه توانسته این زبان برنامه نویسی را در اختیار توسعه دهندگان سراسر دنیا قرار دهد؛ به همین دلیل به جرات می توان گفت زبان برنامه نویسی سی شارپ آینده خوب و مطمئنی خواهد داشت.
بازار کار سی شارپ در ایران
با توجه به پیشرفت روزافزون تکنولوژی و فضای مجازی و حرکت شرکت های بزرگ و کسب و کارها به حوزه اینترنت، قطعا نیاز به برنامه نویس سی شارپ روز به روز افزایش خواهد یافت و کشور ایران هم از این قضیه مستثنی نخواهد بود. زیرا شرکت های ایرانی زیادی هستند که در زمینه توسعه نرم افزارهای بزرگ و سازمانی، وب سایت ها، بازی های کامپیوتری و اپلیکیشن های موبایل فعالیت می کنند و در طراحی و توسعه برنامه ها و نرم افزارهای خود از زبان سی شارپ استفاده می کنند.