LEARN to COMPUTER




جمعه, ۲۹ آذر ۱۳۹۸، ۰۱:۴۲ ب.ظ

معرفی زبان برنامه نویسی سی شارپ –  C Sharp یا C#

زبان برنامه نویسی سی شارپ (زبان برنامه نویسی C# یا C Sharp) یک زبان برنامه نویسی چند شیوه ای است که شامل اصول وابستگی زیاد به نوع (Strong Typing)، دستوری، اعلانی، تابعی، جنریک یا جامع، شی گرا (مبتنی بر کلاس) و مبتنی بر کامپوننت است. زبان برنامه نویسی سی شارپ توسط شرکت مایکروسافت در پروژه .NET توسعه یافت و بعدها توسط استانداردهای Ecma و ISO به عنوان یک زبان برنامه نویسی استاندارد مورد تایید قرار گرفت. سی شارپ یکی از زبان های برنامه نویسی است که برای زیرساخت زبان مشترک طراحی شده است.

زبان برنامه نویسی سی شارپ

زبان برنامه نویسی C# یک زبان برنامه نویسی همه منظوره و شی گرا است. تیم توسعه آن توسط آندرس هایلسبرگ هدایت می شود. آخرین ورژن این زبان برنامه نویسی C# 7.0 است که در سال ۲۰۱۷ به همراه Visual Studio 2017 عرضه شده است.

 

اهداف طراحی

در استاندارد ECMA فهرست زیر به عنوان اهداف زبان برنامه نویسی سی شارپ مشخص شده است:

  • این زبان باید یک زبان برنامه نویسی ساده، مدرن، همه منظوره و شی گرا باشد.
  • این زبان برنامه نویسی و پیاده سازی های آن باید از اصول مهندسی نرم افزار مانند بررسی وابستگی زیاد به نوع، بررسی محدوده آرایه، شناسایی تلاش برای استفاده از متغیرهای مقداردهی نشده و بازیافت حافظه خودکار پشتیبانی کند. مواردی مانند استحکام نرم افزاری، پایداری و بهره وری برنامه نویس از اهمیت زیادی برخوردار هستند.
  • زبان برنامه نویسی سی شارپ برای استفاده در توسعه کامپوننت های نرم افزاری در نظر گرفته شده است که برای توسعه در محیط های توزیع شده مناسب هستند.
  • قابل حمل بودن برای کد منبع و برنامه نویس ها از اهمیت بالایی برخوردار است، مخصوصا برای کسانی که از قبل با زبان های برنامه نویسی C و C++ آشنایی دارند.
  • پشتیبانی از بین المللی سازی بسیار مهم است.
  • زبان برنامه نویسی C# باید برای نوشتن برنامه ها برای سیستم های میزبانی شده و سامانه های نهفته مناسب باشد. این سیستم ها شامل سیستم های خیلی بزرگ که از سیستم عامل های پیچیده استفاده می کنند تا سیستم های خیلی کوچک است که کارایی های مشخصی دارند.
  • گرچه برنامه های سی شارپ باید از نظر ملزومات حافظه و قدرت پردازش اقتصادی عمل کنند، اما خود این زبان برای رقابت مستقیم از نظر عملکرد با زبان C یا Assembly طراحی نشده است.

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

در طی فرایند توسعه فریم ورک .NET، کتابخانه های کلاس در ابتدا توسط یک سیستم کامپایلر با کد مدیریت شده به نام Simple Managed C (SMC) نوشته شده بودند. در ژانویه سال ۱۹۹۹، آندرس هایلسبرگ یک تیم تشکیل داد تا یک زبان برنامه نویسی جدید به نام Cool بسازد که مخفف C-like Object Oriented Language یا “زبان شی گرای مانند C” بود. شرکت مایکروسافت قصد داشت نام Cool را به عنوان نام نهایی این زبان نگه دارد، اما به خاطر دلایل مربوط به علامت تجاری از این کار صرف نظر کرد. زمانی که پروژه .NET در کنفرانس توسعه دهندگان حرفه‌ای در جولای سال ۲۰۰۰ به طور عمومی اعلام شد، این زبان به C# تغییر نام داده شد و کتابخانه های کلاس و ASP.NET Runtime به C# انتقال داده شدند.

طراح اصول زبان برنامه نویسی سی شارپ و معمار ارشد شرکت مایکروسافت، آندرس هایلسبرگ است که در گذشته در طراحی Turbo Pascal، Embarcadero Delphi (در گذشته CodeGear Delphi، Inprise Delphi و Borland Delphi) Visual J++ دست داشت. وی در محاصبه ها و مقالات فنی اظهار کرده است که نقایص بیشتر زبان های برنامه نویسی اصلی (مانند C++، Java، Delphi و Smalltalk)، اصول اولیه زمان اجرای زبان مشترک (Common Language Runtime – CLR) را بنا نهادند که بعدها باعث طراحی زبان C# شد.

زبان برنامه نویسی جاوا 

جیمز گاسلینک که در سال ۱۹۹۴ زبان برنامه نویسی جاوا را ساخت و بیل جوی که یکی از موسس های شرکت Sun Microsystems است، زبان برنامه نویسی C# را یک تقلید از جاوا دانستند. جیمز گاسلینگ در ادامه اظهار داشت که “سی شارپ به نوعی همان جاوا است که قابلیت اطمینان، خلاقیت و امنیت از آن حذف شده است”. کلاوس کرفت و آنجلیکا لانگر (مولفان کتاب های C++ streams) در یک پست وبلاگ اظهار کردند که “جاوا و سی شارپ تقریبا زبان های برنامه نویسی یکسانی هستند و این یک تکرار کسل کننده بدون نوآوری است. افراد کمی ادعا خواهند کرد که جاوا و C# زبان های برنامه نویسی انقلابی هستند که شیوه نوشتن برنامه ها را تغییر داده اند. زبان سی شارپ بسیاری از چیزها را از جاوا گرفته است و بالعکس. اکنون که C# از قابلیت های Boxing و Unboxing پشتیبانی می کند، در جاوا هم ویژگی های بسیار مشابهی اضافه خواهد شد”. در جولای سال ۲۰۰۰، آندرس هایلسبرگ گفت که “زبان سی شارپ تقلید از جاوا نیست و طراحی آن بیشتر به زبان C++ نزدیک است”.

سی شارپ و جاوا

از زمان عرضه C# 2.0 در نوامبر سال ۲۰۰۵، زبان های سی شارپ و جاوا مسیرهای تکامل متفاوتی را پیش گرفته اند و شباهت آنها به هم کمتر شده است. یکی از تفاوت های اصلی آنها با اضافه شدن Generic ها به هر دو زبان با کاربردهای بسیار متفاوت آغاز شد. زبان برنامه نویسی سی شارپ از جسمیت دادن استفاده می کند تا اشیای جنریک کلاس اول فراهم کند که از آنها می توان مانند هر کلاس دیگری استفاده کرد و تولید کد در زمان لود شدن کلاس انجام می شود. به علاوه، C# چندین ویژگی مهم اضافه کرده است تا برنامه نویسی به سبک تابعی را تطبیق دهد و با افزونه های LINQ که در C# 3.0 عرضه شد و با پشتیبانی فریم ورک از عبارات Lambda و نوع های ناشناس، به اوج خود رسید. این ویژگی ها به برنامه نویس C# اجازه می دهند تا در صورت مفید بودن برای برنامه اش، از تکنیک های برنامه نویسی تابعی مانند closure ها استفاده کند. افزونه های LINQ و Import های تابعی به توسعه دهندگان کمک می کنند تا مقدار کدهای تکراری که در کارهای رایج مانند پرس و جو از یک پایگاه داده، تجزیه یک فایل xml یا جستجو در یک ساختار داده استفاده می شوند را کاهش دهند و بیشتر روی منطق برنامه تمرکز کنند تا خوانایی و قابلیت نگهداری را بهبود دهند.

زبان برنامه نویسی C# در گذشته یک نماد به نام اندی (برداشت از آندرس هایسلبرگ) داشت که در ۲۹ ژانویه سال ۲۰۰۴ بازنشسته شد.

زبان برنامه نویسی C# در ابتدا برای بررسی در کمیسیون فرعی ISO JTC 1/SC 22 ثبت شده بود، اما از آن خارج شد و تحت تایید ISO/IEC 23270:2006 قرار گرفت.

نام

نام سی شارپ “C Sharp” برگرفته از نت موسیقایی است که علامت # نشان می دهد که گام نت نوشته شده باید نیم پرده بالاتر نواخته شود. این مانند زبان برنامه نویسی C++ است که علامت ++‌ نشان می دهد که یک متغیر باید به علاوه مقدار ۱ گردد. علامت # همچنین نمایانگر یک لیگچر با چهار علامت +‌ است (در یک شبکه دو در دو) که نشان می دهد این زبان توسعه ای بر C++‌ است.

علامت شارپ یا دیز در موسیقی

 

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی