Warning: ftp_nlist() expects parameter 1 to be resource, null given in /home/amooze22/public_html/wp-admin/includes/class-wp-filesystem-ftpext.php on line 420

Warning: ftp_pwd() expects parameter 1 to be resource, null given in /home/amooze22/public_html/wp-admin/includes/class-wp-filesystem-ftpext.php on line 230

Warning: ftp_pwd() expects parameter 1 to be resource, null given in /home/amooze22/public_html/wp-admin/includes/class-wp-filesystem-ftpext.php on line 230

Warning: ftp_pwd() expects parameter 1 to be resource, null given in /home/amooze22/public_html/wp-admin/includes/class-wp-filesystem-ftpext.php on line 717

Warning: ftp_nlist() expects parameter 1 to be resource, null given in /home/amooze22/public_html/wp-admin/includes/class-wp-filesystem-ftpext.php on line 420

Warning: ftp_pwd() expects parameter 1 to be resource, null given in /home/amooze22/public_html/wp-admin/includes/class-wp-filesystem-ftpext.php on line 230

Warning: ftp_pwd() expects parameter 1 to be resource, null given in /home/amooze22/public_html/wp-admin/includes/class-wp-filesystem-ftpext.php on line 230

Warning: ftp_pwd() expects parameter 1 to be resource, null given in /home/amooze22/public_html/wp-admin/includes/class-wp-filesystem-ftpext.php on line 717
معرفی کامل زبان برنامه نویسی سی شارپ بخش اول

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

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

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

زمان مطالعه: ۶ دقیقه
۰
(۰)

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

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

C Sharp یا #C

زبان برنامه نویسی C# یا C Sharp یک زبان برنامه نویسی چند شیوه ای است که شامل اصول وابستگی زیاد به نوع (Strong Typing)، دستوری، اعلانی، تابعی، جنریک یا جامع، شی گرا (مبتنی بر کلاس) و مبتنی بر کامپوننت است.

زبان برنامه نویسی سی شارپ توسط شرکت مایکروسافت در پروژه .NET توسعه یافت و بعدها توسط استانداردهای Ecma و ISO به عنوان یک زبان برنامه نویسی استاندارد مورد تایید قرار گرفت. سی شارپ یکی از زبان های برنامه نویسی است که برای زیرساخت زبان مشترک طراحی شده است.

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

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

محصولات آموزشی مرتبط با زبان برنامه نویسی سی شارپ :

  1. صفر تا صد آموزش زبان برنامه نویسی سی شارپ – #C
  2. صفر تا صد آموزش برنامه نویسی در یونیتی با سی شارپ – پک ۱
  3. صفر تا صد آموزش برنامه نویسی در یونیتی با سی شارپ – پک ۲
  4. صفر تا صد آموزش زامارین – برترین ابزار برنامه نویسی چند پلتفرمی دنیا

اهداف طراحی زبان برنامه نویسی سی شارپ

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

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

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

در طی فرایند توسعه فریم ورک .NET، کتابخانه های کلاس در ابتدا توسط یک سیستم کامپایلر با کد مدیریت شده به نام (Simple Managed C) نوشته شده بودند. در ژانویه سال ۱۹۹۹، آندرس هایلسبرگ یک تیم تشکیل داد تا یک زبان برنامه نویسی جدید به نام 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 Sharp در ابتدا برای بررسی در کمیسیون فرعی ISO JTC 1/SC 22 ثبت شده بود، اما از آن خارج شد و تحت تایید ISO/IEC 23270:2006 قرار گرفت.

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

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

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

به دلیل محدودیت های فنی برای نمایش (فونت های استاندارد، مرورگرها و غیره) و اینکه نماد شارپ (U+266F ♯) در بیشتر کیبوردها موجود نیست، نماد عدد (U+0023 #) به صورت تقریبی انتخاب شد تا نمایانگر نماد شارپ در نام این زبان برنامه نویسی باشد. این تبدیل نماد در مشخصات زبان سی شارپ ECMA-334 آورده شده است. هرچند در صورت عملی بودن (مثلا برای تبلیغات یا روی جعبه ها)، مایکروسافت از همان نماد موسیقایی اصلی استفاده می کند.

پسوند شارپ توسط تعدادی از دیگر زبان های .NET که تنوعی از زبان های موجود هستند نیز استفاده شده است، از جمله J# (یک زبان .NET که توسط مایکروسافت طراحی شده است و برگرفته از Java 1.1 است)، A# (برگرفته از ADA) و زبان برنامه نویسی تابعی F#. نسخه اولیه Eiffel for .NET به نام Eiffel# نامیده می شد. این نام اکنون منسوخ شده است، زیرا زبان کامل Eiffel پشتیبانی می شود. از این پسوند همچنین برای کتابخانه هایی مانند Gtk# (یک الگوی آداپتور .NET برای GTK+ و دیگر کتابخانه های GNOME) و Cocoa# (یک الگوی آداپتور برای Cocoa) استفاده شده است.

در بخش اول از سری مقاله های «معرفی کامل زبان برنامه نویسی سی شارپ» به معرفی اهداف، تاریخچه و نامگذاری زبان برنامه نویسی C Sharp یا همان #C پرداختیم و چرایی هر مورد را به تفصیل شرح دادیم. در مقاله بعدی ورژن های مختلف زبان برنامه نویسی سی شارپ را معرفی و بررسی می کنیم.

پس با آموزشگاها همراه باشید تا با زبان برنامه نویسی سی شارپ به صورت کامل آشنا شوید.

این مطلب چقدر برای شما مفید بود؟

لطفا با کلیک روی ستاره ها به این مطلب امتیاز دهید!

میانگین امتیاز: ۰ / ۵. تعداد آرا: ۰

اولین نفری باشید که امتیاز می‌دهید!

اشتراک این پست

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.



Fatal error: Uncaught ErrorException: md5_file(/home/amooze22/public_html/wp-content/litespeed/css/bf00657530de048bc0f9f83c5748f0f4.css.tmp): failed to open stream: No such file or directory in /home/amooze22/public_html/wp-content/plugins/litespeed-cache/src/optimizer.cls.php:121 Stack trace: #0 [internal function]: litespeed_exception_handler(2, 'md5_file(/home/...', '/home/amooze22/...', 121, Array) #1 /home/amooze22/public_html/wp-content/plugins/litespeed-cache/src/optimizer.cls.php(121): md5_file('/home/amooze22/...') #2 /home/amooze22/public_html/wp-content/plugins/litespeed-cache/src/optimize.cls.php(778): LiteSpeed\Optimizer->serve('https://amoozes...', 'css', true, Array) #3 /home/amooze22/public_html/wp-content/plugins/litespeed-cache/src/optimize.cls.php(307): LiteSpeed\Optimize->_build_hash_url(Array) #4 /home/amooze22/public_html/wp-content/plugins/litespeed-cache/src/optimize.cls.php(240): LiteSpeed\Optimize->_optimize() #5 /home/amooze22/public_html/wp-includes/class-wp-hook.php(307): LiteSpeed\Optimize->f in /home/amooze22/public_html/wp-content/plugins/litespeed-cache/src/optimizer.cls.php on line 121