تفاوت سی شارپ و دات نت چیست؟ این سوالی است که اغلب در ذهن علاقه مندان و دانشجویان برنامه نویسی ایجاد می شود. دانش پژوهان در کلاس های برنامه نویسی اغلب می شنوند که Mariban از اصطلاحات C# و .NET به جای یکدیگر استفاده می کند و فکر می کنند که این دو اصطلاح یکسان هستند. حال این سوال پیش می آید که چگونه می توان تفاوت این دو مفهوم را برای فردی که به تازگی شروع به یادگیری زبان برنامه نویسی کرده است توضیح داد؟
پیشنهاد مقاله: الگوریتم چیست و چرا دانستن آن مهم است؟
اگر این سوال را در گوگل جستجو کنید، پاسخ های زیادی خواهید یافت، اما به نظر نمی رسد که اطلاعات واضح و دقیقی به شما بدهند. به عنوان مثال، اگر “تفاوت بین سی شارپ و دات نت” را در سایت معتبری مانند Stack Overflow جستجو کنید، پاسخ زیر را با بالاترین پاسخ مثبت خواهید یافت:
سی شارپ یک زبان برنامه نویسی است، در حالی که دات نت یک اصطلاح کلی است که شامل .Net Framework (یک فریمورک برنامه بزرگ) و Common Language Runtime است که روی مجموعه های NET اجرا می شود.
این یک پاسخ کامل و جامع است، اما اگر دانش آموزی هستید که تازه شروع به یادگیری برنامه نویسی کرده اید، با دیدن این پاسخ به سوالات دیگری فکر خواهید کرد. به همین دلیل تصمیم گرفتیم در این مقاله به بررسی تفاوت های این دو مفهوم بپردازیم.
RUNTIME ENVIRONMENT چیست؟
مربیان بوت کمپ ما به دانش آموزان قبل از شروع کار به مدت 40 ساعت به زبان جاوا اسکریپت آموزش می دهند. دانش آموزان پس از گوش دادن به توضیحات معلم تمرینات را انجام می دهند. در مثال جالبی که یکی از مربیان ما ذکر کرد، دانش آموزی که به مرحله ای رسیده بود که می توانست به تنهایی شروع به نوشتن کد کند، یک ویرایشگر متن نصب کرد و اولین برنامه جاوا اسکریپت ساده خود را نوشت که دارای چند متغیر و چند پیام برای نمایش در آن بود. کنسول ویرایشگر در آن زمان وقتی برنامه اش را تمام کرد، پرسید حالا این کد را چگونه اجرا کنم؟
مجتمع دانش و فناوری بامد ارائه می کند: بوت کمپ برنامه نویسی سی شارپ
او فهمید که کد فقط یک متن است و چیزی که آن را به یک برنامه “جاوا اسکریپت” تبدیل می کند این است که یک پسوند .js روی آن دارد و نحو دستورات آن مطابق با قوانین تنظیم شده توسط جاوا اسکریپت است. هر زبان نحو مخصوص به خود را دارد. به عنوان مثال، برخی از دستورات در بلوک های پرانتز نوشته می شوند، یا هر یک از نقل قول ها و نظرات کاربرد خاص خود را دارند. کد بدون زمان اجرا بی معنی است. Runtime برنامه ای است که نحو را می فهمد و می داند چگونه آن را اجرا کند. این برنامه (یا “موتور”) در مرورگرها ساخته شده است، بنابراین ما می توانیم جاوا اسکریپت را در همه مرورگرهای خود اجرا کنیم. با این حال، هر مرورگر موتور اجرای فرمان خود را دارد. به همین دلیل است که ما گاهی اوقات رفتارهای متفاوتی را هنگام راه اندازی برنامه ها در مرورگرهای مختلف تجربه می کنیم.
مدیریت زبان جاوا اسکریپت بر عهده افراد خاصی است. هر از گاهی این افراد تصمیم می گیرند تا تغییراتی ایجاد کنند. به عنوان مثال، اگر تجربه کدنویسی در JS را دارید، باید به خاطر داشته باشید که در برنامه خود از “var” به جای “const” و “let” استفاده کرده اید، یا از کلمه کلیدی “function” به جای فلش های fat یا => استفاده کرده اید. اینها ویژگی های جدیدی هستند که اخیراً به این زبان اضافه شده اند. توجه به این نکته مهم است که این ویژگیهای جدید تا زمانی که محیطهایی که این کد را اجرا میکنند بهروزرسانی نشوند تا نحوه تفسیر این نحو جدید را بدانند، بیمعنی هستند.
پیشنهاد مقاله: با رعایت این 10 نکته جادویی قادر به یادگیری برنامه نویسی خواهید بود
کتابخانه هسته و اشیاء و کلاس های جاوا اسکریپت از پیش ساخته شده
زبان های برنامه نویسی معمولاً به کلاس ها و متدهای از پیش تعریف شده مجهز هستند. قبل از شروع کدنویسی در جاوا اسکریپت، چند شیء و کلاس داریم که به آنها دسترسی داریم. از جمله این مؤلفههای از پیش ساخته شده میتوان به Promises، روشهای استاتیک «Math.random» و «JSON.parse»، آرایهها و روشهای آرایه مانند نقشه، فیلتر، کاهش و غیره اشاره کرد.
در تمام زبان های برنامه نویسی، زمان اجرا و کتابخانه های اصلی به راحتی در دسترس هستند. اگر کلاسهایی مانند رشتهها و آرایهها قبلاً پیادهسازی نشده بودند، نوشتن یک برنامه جاوا اسکریپت چندان آسان نبود، زیرا باید همه چیز را خودتان بنویسید.
بازگشت به سوال اصلی: تفاوت سی شارپ و Net چیست؟
اکنون که درک بهتری از زمان اجرا و کتابخانه های اصلی دارید، وقت آن است که پاسخ ما را دوباره بررسی کنیم.
سی شارپ یک زبان برنامه نویسی است، در حالی که دات نت یک اصطلاح کلی است که هم شامل دات نت فریم ورک (یک کتابخانه فریمورک برنامه) و هم زبان مشترک Runtime است که همگی کد نوشته شده در سی. کامپایل شارپ است.
سی شارپ یک زبان برنامه نویسی عمومی و کاربردی است. این زبان برنامه نویسی قوانین و کلمات کلیدی خاص خود را دارد (مثلاً “class”، “namesapce”، “return” و غیره)، پرانتزهای باز و بسته، کلاس ها و اشیاء که با هم کار می کنند.
Dot NET Runtime ابزاری است که در واقع می داند چگونه کد کامپایل شده ما را اجرا کند. دات نت به عنوان زمان اجرای زبان مشترک (CLR) نیز شناخته می شود. بنابراین زمان اجرا دات نت علاوه بر زبان سی شارپ، می تواند کدهای نوشته شده با F# و Visual Basic را نیز اجرا کند.
و در حالی که کتابخانه هسته جاوا اسکریپت تعدادی توابع داخلی را در اختیار ما قرار می دهد، دات نت دارای هزاران کلاس است که مستقیماً در دسترس هستند تا ما را به سرعت کدنویسی را شروع کنیم. به عنوان مثال، به محض شروع کدنویسی در سی شارپ، با کلاس “List” آشنا می شویم. کلاس List اکنون برای استفاده ما در دسترس است و قبلاً متدهایی مانند Add و Remove در آن پیاده سازی شده است. این کتابخانه های کلاس، دات نت فریم ورک را تشکیل می دهند.
خوب! اگر تصمیم دارید یادگیری سی شارپ را همراه با دات نت آغاز کنید، خبر خوبی برای شما داریم. شما صاحب این کتابخانه غنی هستید و می توانید از این کتابخانه و زبان برنامه نویسی برای نوشتن برنامه های ارزشمند استفاده کنید. در آخر باید توجه داشته باشیم که دات نت قابلیت کامپایل کتابخانه های مایکروسافت و کدهایی که ما به زبان سی شارپ نوشتیم را دارد.
نویسنده: حمیدرضا طائبی
تفاوت های سی شارپ و دات نت چیست؟ اولین بار در صبح علم و فناوری ظاهر شد. به نظر می رسد.