۰-مقدمه ای بر زبان سی شارپ

با نام خداوند بزرگ و مهربان

توی این بخش میخوام مقدمه ای مفید و کوتاه از زبان برنامه نویسی سی شارپ براتون بنویسم

سی شارپ (C#) زبانی شیءگرا و سطح بالا (high level)  از خانوادهٔ زبان‌های چارچوب دات‌نت شرکت مایکروسافته و یک زبان برنامه نویسی چند الگویی و منظم شده ، عمومی، هستش این زبان توسط مایکروسافت و جزئی  از دات نت به وجود آومده و بعداً استانداردهای ECMA و ISO رو به خودش اختصاص داده  زبان سی شارپ با قدرت و در عین حال سطح بالا بودن خودش  تونسته  توجه بسیاری از برنامه نویسان رو به خودش جلب کنه

گفتیم سی شارپ زبون شی گراییه یعنی چی شی گراعه؟؟؟؟؟

برنامه‌نویسی شیءگرا (که به انگلیسی بهش  Object-Oriented Programming مخفف OOP) یکی از  شیوه های  برنامه نویسیه که ساختار اصلی اون ، شی ها هستن . در واقع در این شیوه برنامه نویسی، برنامه به سمت  شیء گرایش پیدا می کنه  به این معنی که داده ها و توابعی که قراره تعریف بشه در قالبی به نام شی در کنار هم قرار میگیره ، وجمع بندی میشه  و یک واحد یا (شی) رو میسازه  و نسبت به محیط بیرونِ خودش، کپسوله  میشه ، یعنی چی کپسوله میشه؟

یعنی مخفی میشه اون ساختار عملکردش رو کسی نمیتونه ببینه که و یا تغییری رو درش اعمال بکنه نمونش مثل حساب بانکی یه شخصی رو در نظر بگیرین که شامل مشخصات فردی و میزان سپرده ای رو که در بانک گذاشته اینها با هم تشکیل یه شی ء رو میدن و به دلیل اینکه این شی ء کپسوله شده دیگه افراد دیگه نمیتونن در سپرده یا ویرایش اطلاعات این فرد دستکاری داشته باشن

میخواهیم ریز بشیم و یکم بیشتر در این مورد حرف بزنیم تا هم بهتر منظور شی گرایی رو متوجه بشیم ببینید

 یه  شی تو برنامه دقیقا همونطور تعريف می شه که در دنيای واقعی وجود داره یعنی چی؟؟؟ با هم یه گل رو در نظر بگیریم این گل برای خودش یه رنگی داره یه بوی خاصی داره و خیلی از ویژگی های دیگه که توصیف کننده گل مورده نظره  همینطور یه میز و یا یه صندلی و یا ماشین و خیلی از اشیای دیگه ای که باهاش سروکار داریم

وقتی راجع به شی گرایی حرف میزنیم چندتا اصطلاح هست که باید باهاشون آشنا بشیم

مثل      کلاس   پراپرتی   آبجکت    متد  و ایونت

تو دنیایی که ما داریم زندگی میکنیم همه چیز شی هستن و هر چیزی رو که ما داریم مشاهده میکنیم یه شی هستند که یه سری خصوصیاتی دارن

مثلاً یه میز برای خودش یه ابعادی داره یه رنگی داره

نتیجه اینکه که وقتی به کلاس و اشیا فکر میکنیم میبینیم این ایده ها مارو به سمت افرینش پیش میبره

مثلا من خودم رو مثال میزنم من یه شی ای هستم که دست دارم پا دارم و چشم دارم و بهزاد یه شی ء هستش که  از کلاس انسان اینستنس شی شده

پس میبینیم که بهزاد برای خودش پراپرتی هایی داره پس پراپرتی ها متعلقات یه شی هستند

هر شی ای که از این کلاس اینستنس شی بشه همین پراپرتی هارو داره یعنی چی ؟ یعنی انسانها دست دارن پا دارند رنگ پوست دارند اما پراپرتی ها برای هر انسان متفاوته ممکنه مثلاً رنگ پوست من تیره باشه و رنگ پوست دیگری سفید ممکنه من دوتا دست داشته باشم اما شخص دیگه فقط یه دست داشته باشه پس میبینیم پراپرتی های هر شخص با شخص دیگه فرق میکنه در کنار اینها متدها وجود دارند مثلاً من میتونم حرف بزنم من میتونم راه برم پس متدها کارهایی هستن که اشیا میتونن انجام بدن در کنار اینها ایونت ها هم وجود دارند یعنی چی ؟؟؟؟ایونت ها اتفاقهایی هستند که برای انسانها میتونه به وجود بیاد مثل عاشق شدن مثل مریض شدن

 اگه کمی دقت کنید متوجه میشید که لیست ایونت ها برای همه انسانها یعنی همه ادمهایی که از کلاس انسان اینستند شید شدند یکسانه اما عکس العمل هاشون  مانند پراپرتی ها متفاوته مثلاً ممکنه یکی مریض بشه و خودشو خیلی لوس کنه ولی در عوض یکی مثل من اگه مریض بشم به روی خودمم نمیارم

یکی دیگه از  ویژگی های برنامه نویسی شی گرا، پیچیدگی کم، هزینه کم، امکان گسترش سریع برنامه با خطای بسیار بسیار کمه

خوب این روش یعنی برنامه نویسی شی گرایی چطور باعث گسترش سریع برنامه ها و چطوری در وقت صرفه جویی میشه ؟؟؟؟

ببنید وقتی ما تو بخش شی گرایی میاییم و کلی وقت صرف میکنیم و یه کلاسی رو برای استفاده از یه آبجکت و یا برنامه ای مینویسیم میتونیم از این کلاس تو برنامه های دیگه هم ازش استفاده کنیم و این باعث افزایش راندمان کاری میشه و میتونیم بارها و بارها تو برنامه های کاربردی خودمون ازش بهره ببریم

این زبان بر چه اساسی ساخته شده و تیم طراحیش بعهده کیه؟؟؟؟؟

این زبان برپایه سادگی، مدرن بودن، همه منظوره و شی گرا بودن درست شده .Anders Hejlsberg، طراح زبان برنامه نویسی دلفی، سرپرستی تیم طراحی  زبان #C رو بر عهده داره و اینم بدونید که آندرس هجلزبرگ (متولد دسامبر ۱۹۶۰) ‍‍مهندس نرم‌افزاره و اصلیتشم  ‍‍‍دانمارکیه   که تو طراحی چندین زبان و ابزار برنامه‌نویسی محبوب و تجاری شرکت داشته . ایشون   سازنده اصلی توربو پاسکال و طراح اصلی دلفیه و الانشم داره  برای مایکروسافت به عنوان طراح ارشد سی‌شارپ و توسعه‌دهندهٔ هسته تایپ‌اسکریپت  کار می‌کنه  شاید این سوال تو ذهنتون پیش بیاد که تایپ اسکریپت چیه ؟؟!!   تایپ‌اسکریپت مدل  پیشرفته جاوااسکریپته

سی شارپ  دارای دستوری شی گرا مشابه ++C هستش  و به شدت از زبان‌های جاوا و دلفی  تاثیر گرفته . در ابتدا نام این زبان COOL بود که مخفف C like Object Oriented Language بود، و در ژوئیه ۲۰۰۰، زمانی که مایکروسافت پروژه را عمومی اعلام کرد، اسم اونم  رو به #C تغییر داد.

بریم سراغ استانداردهای Ecma و Iso رو با هم ببینیم چی هستند

 

سازمان بين المللي استاندارد (ISO) چیه؟

ایزو یه سازمان غیر دولتی بین المللی هستش که محل اونم در ژنوه كه در ۲۴ فوريه سال ۱۹۴۷ تاسيس شده حالا این سازمان کارش چیه؟

 وظيفه اصلي سازمان ایزو  توسعه استاندارد كردن و فعاليت هاي مرتبط در جهان با نگرشي تسهيل كننده نسبت به تبادلات بين المللي كالاها و خدمات, بهبود همكاري در محدوده علمي, فني, اطلاعاتي و فعاليت هاي اقتصادي و حمايت از توليد كننده و مصرف كننده هستش

استانداردهاي (ISO) تجارت و بازرگاني بين كشورها را آسون تر  کرده  و به طور كلي از مصرف كننده های كالاها و خدمات حمايت كرده و زندگي آنها را آسونتر کرده .

حالا بیایم عبارت ایزو رو با هم باز کنیم ببینیم از چه کلماتی مشتق شده که این سازمان یه همچین اسمی رو خودش گذاشته ؟

همونطور که میبینیم انتظار داریم کلمه ایزو که آی مخفف عبارت اینترنشنال یعنی بین المملی و حرف اس هم مخفف عبارت استانداردیزیشن و حرف او که مخفف عبارت اورگانیزیشن یعنی سازمان هستش که روی هم رفته سازمان بین المللی استاندارد رو تشکلیل میده خوب اگه اینطور باشه باید شرکت اسمشو میذاشت آی او اس یعنی اینترنشنال اورگانیزیشن فور استانداردیزیشن اما چیزی که ما داریم میبینیم عبارت Iso هستش و این نشون میده که (ISO) در اصل از كلمه يوناني آی اس او اس  (isos) مشتق شده و به معني (برابر) و ريشه پيشوند (iso) در انگليسي است بخاطر همین این اسم رو برای خودشون انتخاب کردن

سازمان بین المللی استاندارد سازی

 استاندارد Ecma چیه؟

انجمن سازندگان اروپایی رایانه (ECMA) سازمانی هست که رسما در سال ۱۹۶۱ تاسیس شده تا نیازهای استانداردسازی قالبهای عملیاتی رایانه از جمله زبانهای برنامه نویسی و کدهای ورودی/خروجی را برآورده کنه

ECMA در ژنو سوئیس و در نزدیکی اداره مرکزی سازمان بین المللی استانداردسازی یعنی منظورش همون سازمان ایزو رو میگه واقع شده   در ۱۹۹۴ نام سازمان ECMA به “انجمن اروپایی برای استانداردسازی اطلاعات و سیستمهای ارتباطی” تغییر یافته  به این منظور که بازتاب گسترده تری از حوزه فعالیتهاش  داشته باشه

حالا این Ecma چه کاری انجام میده؟

وظیفه اصلی ECMA گسترش استانداردها و گزارشهای فنی در زمینه اطلاعات و فناوری های ارتباطیه  و این انجمن با نهادها و موسسه های ملی و بین المللی همکاری میکنه

گردآوری شده توسط : بهزاد گروسیان

منبع: سایت سلام برنامه نویس

سوال ها