بررسی زبان #C
آیا سی شارپ برای برنامه نویسی مناسب است؟
اگر در برنامه نویسی کامپیوتر تازه کار هستید و مطمئن نیستید که کدام زبان برنامه نویسی را ابتدا یاد بگیرید، ممکن است کمی سردرگم شوید. هر چند برنامه نویسان باتجربه توصیه محکمی دارند! شما میتوانید سیرِ حرکت برنامه نویسی خود را با دوره های آموزش C# ، یکی از قدیمیترین، قابل اطمینان ترین و رایج ترین زبان های برنامه نویسی کامپیوتر آغاز کنید.
امروزه سی شارپ جزو محبوب ترین زبان های برنامه نویسی دنیاست. سی شارپ توسط مایکروسافت در چارچوب طرح دات نت توسعه داده شد و بعداً به عنوان یک استاندارد توسط ECMA تأیید شد. زبان برنامه نویسی سی شارپ (C#) یک زبان برنامه نویسی همه منظوره و مبتنی بر OOPS است. تیم توسعه C# در سال 2002 توسط “Anders Hejlsberg” رهبری شد.
زبان برنامه نویسی C# یکی از زبان هایی است که برای زیرساخت زبان مشترک (CLI) طراحی شده است. اولین نسخه سی شارپ 1.0 با دات نت فریمورک 1.0 و ویژوال استودیو 2002 است.
نسخه ها
سی شارپ نسخه های زیادی دارد. هر نسخه از C# یک به روز رسانی برای زبان برنامه نویسی ایجاد کرده است که به تنوع استفاده از زبان ادامه میدهد. اولین نسخه سی شارپ به عنوان یک زبان برنامه نویسی عمومی چند منظوره ساده طراحی شد – و در مقایسه با آنچه امروز در سی شارپ به نظر میرسد، نسخه اول تقریباً به طور کلی ساده بود.
میتوانید اولین نسخه سی شارپ را مانند یک ساندویچ بدون کاهو یا گوجه فرنگی در نظر بگیرید.
سایر به روز رسانی های سی شارپ چطور؟
نسخه 2
نسخه دوم سی شارپ در سال 2005 منتشر شد و شروع به دور شدن از شی گرا بودن عمومی کرد. این بهروزرسانی شامل توانایی برنامهنویسان برای استفاده از تکرارکنندهها بود، که اساساً به برنامهنویسان اجازه میدهد در یک زمان به چشم انداز بزرگتری از دادهها نگاه کنند.
نسخه 3
نسخه سوم سی شارپ در سال 2007 منتشر شد و پر از ویژگیهای جدید بود، با شاخه بندی، روشهای توسعه و هر دو عبارت query و lambda. با این نسخه از سی شارپ بود که واقعاً از جاوا جدا شد و سی شارپ به یک زبان برنامه نویسی پیشرفته تبدیل شد.
نسخه 4
نسخه چهارم سی شارپ در سال 2010 منتشر شد و انواع interlop تعبیه شده و کلمات کلیدی پویا را معرفی کرد که به مسائل میپرداخت و به سی شارپ زیبایی خاصی میبخشید که سایر زبان های برنامه نویسی در آن زمان فاقد آن بودند.
نسخه 5
نسخه پنجم سی شارپ در سال 2012 با تمرکز بر برنامه نویسی ناهمزمان منتشر شد. به روز رسانی asych و await برای C# به عنوان ویژگی های زبانی در نظر گرفته می شود که راحتی اجرای کدهای عملیاتی طولانی را افزایش میدهد.
نسخه 6
ششمین نسخه سی شارپ در سال 2013 منتشر شد و تمرکز ویژه ای بر تبدیل سی شارپ به یک زبان برنامه نویسی سازنده داشت. این نسخه فیلترها و مقداردهی اولیه را به همراه یک زبان دستور عمومی تمیزتر معرفی کرد که ورود کد را حتی از قبل آسانتر کرد.
نسخه 7
نسخه نهایی و فعلی سی شارپ در سال 2019 منتشر شد. در کنار ویژگیهای انقلابی که کدها را پاکتر و آسانتر میکند، این نسخه از سی شارپ دامنه زبان برنامهنویسی را نیز گسترش داد، زیرا این نسخه میتواند با هسته داتنت و سیستمعاملها استفاده شود. برای نیازهای ابری و سایر نیازهای ذخیره سازی
هنگامی که در مورد زمان ایجاد C# صحبت می کنیم، همچنین باید در مورد دلیل ایجاد C# نیز صحبت کنیم. و جدای از اینکه C# پاسخ مایکروسافت به جاوا است، سی شارپ نیز با هدف ایجاد یک زبان برنامه نویسی چند منظوره و عمومی ساخته شده است. یا به عبارت دیگر یک زبان برنامه نویسی شی گرا است.
شی گرایی در C#
بیایید مروری بیاندازیم بر برنامه نویسی شی گرا (OOPs) در سی شارپ ، یعنی مفاهیم OOPs در سی شارپ را مورد بحث قرار دهیم. برنامه نویسی شی گرا که معمولاً به عنوان OOP شناخته میشود یک تکنیک است نه فناوری. این بدان معناست که هیچ نحو یا API ارائه نمیدهد، در عوض پیشنهادهایی برای طراحی و توسعه اشیا در زبان های برنامه نویسی ارائه میدهد.
برنامه نویسی شی گرا یک مدل برنامه نویسی است که بر اساس اصولی کار می کند که به جای عمل یا منطق، حول اشیا می چرخد. این به کاربران اجازه می دهد تا اشیاء را بر اساس نیاز ایجاد کنند و سپس روش هایی را برای کار بر روی آن اشیاء ایجاد کنند.
به عنوان بخشی از این مقاله، قصد داریم مفهوم OOPs زیر را در سی شارپ پوشش دهیم.
بیایید Object Oriented Programming یا برنامه نویسی شیگرا یعنی مفاهیم OOPs را با استفاده از C#درک کنیم. برنامه نویسی شی گرا (OOPs) در سی شارپ یک رویکرد طراحی است که در آن به جای توابع یا روش ها، به اشیاء دنیای واقعی فکر میکنیم. برخلاف زبان برنامه نویسی رویه ای، در اینجا در اوپس، برنامه ها به جای عمل و منطق، حول اشیا و داده ها سازماندهی میشوند.
برای درک بهتر این موضوع به نمودار زیر نگاهی بیندازید:
قابلیت استفاده مجدد:
برای پرداختن به قابلیت استفاده مجدد، برنامه نویسی شی گرا چیزی به نام کلاس ها و اشیاء را ارائه می دهد. بنابراین، به جای کپی پیست کردن چندباره همان کد در مکانهای مختلف، کاری که میتوانید در اینجا انجام دهید این است که یک کلاس ایجاد کنید و یک نمونه از کلاس بسازید که شی نامیده میشود، و هر زمان که بخواهید از آنها استفاده مجدد کنید.
توسعه پذیری:
فرض کنید یک تابع دارید و می خواهید آن را با برخی ویژگی های جدید که با برنامه نویسی کاربردی امکان پذیر نبود، گسترش دهید. شما باید یک تابع کاملا جدید ایجاد کنید و سپس کل تابع را هر چیزی که میخواهید تغییر دهید. در OOP ها، این مشکل با استفاده از مفاهیمی به نام وراثت، تجمیع و ترکیب برطرف میشود.
سادگی:
از آنجایی که ما در برنامه نویسی تابعی توسعه پذیری و قابلیت استفاده مجدد نداریم، در نهایت با تعداد زیادی توابع و کدهای پراکنده زیادی مواجه میشویم. در C# بعنوان یک زبان برنامه نویسی شی گرا، این مشکل با استفاده از مفاهیمی به نام Abstraction، Encapsulation و Polymorphism حل میشود.
قابلیت نگهداری:
از آنجایی که OOP ها به قابلیت استفاده مجدد، توسعه پذیری و سادگی میپردازند، کد قابل نگهداری خوب و کد تمیز وجود دارد که قابلیت نگهداری برنامه را افزایش میدهد.
اصول OOPs یا مفاهیم OOPs در سی شارپ چیست؟
OOPs، 4 اصل را ارائه میدهد:
کپسوله سازی
وراثت
پلی مورفیسم
انتزاع – مفهوم – برداشت
بیایید تعاریف اصل OOPs را در این مقاله درک کنیم.
نگاهی بر کاربردهای سی شارپ
Microsoft Docs: C# روی فریم ورک.Net کار میکند، یک PL سطح O-O کاملاً ایمن و زیبا را دارا است. برای دستیابی به برنامه ای ایمن و قوی عالی است. این زبان به توسعهدهنده خود اجازه میدهد تا برنامهای را در آن ایجاد کند.
Windows
XML
Client-server
Database
Wide variety of tool availability
C# Edge برای همه
گزارش ها می گویند که از بین ده شمارش معکوس برتر PL، C# در جایگاه پنجم (از سال 2018) قرار دارد. بیایید دریابیم که چرا استفاده از سی شارپ دارای پایگاه کاربری بسیار بزرگی است، چرا در بین متدولوژی های توسعه مختلف و مقبولیت آن ترجیح داده میشود.
- اصالت
سی شارپ یک زبان شی گرا اصیل تر که به کاربرانش امکان میدهد یک برنامه مدولار با کدهای قابل استفاده مجدد ایجاد کنند. این رفتار عملکردی در C++ وجود ندارد. شبکه ای در سیستم ایجاد نمیکند و آنها را با یک قابلیت داخلی کارآمد برای پاک کردن تمام زباله های موجود حذف میکند. پشتیبانگیری حافظه (در بلوکها برای مشخص کردن لبه آن بر روی زبانهای دیگر) یک مزیت حیاتی در C# دارد. تأثیر آن (بر روی جامعه توسعهدهندگان در سراسر جهان) به دلیل طبقهای غنی از کتابخانهها و عملکردهای موجود است، که ترکیب در ساختن تاریخ موفق است.
- رتبه
این مزیت اصلی استفاده از سی شارپ این است که روی CLR اجرا میشود، این امر ادغام و استانداردسازی سی شارپ را آسانتر میکند. کتابخانه های کلاس NET Framework گسترده هستند و از ویژگی های خاص بسیار بهتر از جاوا پشتیبانی میکنند. استفاده از سی شارپ دارای ساختارهای مختلف زبانی است که دوباره به جاوا امتیاز میدهد. ساخت زبان به معنای اشاره گر و عملگر تابع است. آخرین نسخه در کاربردهای فناوری سی شارپ ویژگیهایی مانند روشهای توسعه، لامبدا و عبارت پرس و جو را فعال کرده است.
- نه فقط برای مایکروسافت
فقط مایکروسافت؟ نه دیگر… پروژه ECMA و MONO شواهدی هستند که به نفع برنامه های کاربردی سی شارپ هستند. ECMA یک انتشار استاندارد بوده است. MONO یک انتخاب توسعه برنامه چند پلتفرمی برای توسعه دهندگان است.
- نوع ایمنی
بیایید شاهد یکی از تفاوت های ریشه ای سی شارپ باشیم. دستکاری حافظه، به معنای تخصیص و آزادسازی حافظه برای یک برنامه خاص که در حال حاضر روی آن کار میکند. این برای توسعه دهندگانی که باید کدهایی را برای انجام فعالیت های کار دستکاری حافظه بنویسند مفید و در زمان صرفه جویی خواهد شد. سی شارپ این کار را به صورت خودکار برای شما انجام میدهد. این رفتار میتواند در نشت حافظه و دسترسی به حافظه مفید باشد. بنابراین، به بحثی که برای Type-safety گذاشتیم، برگردیم، یک کلمه کلیدی ناامن میتواند برای علامت گذاری یک بلوک کد استفاده شود. این به راحتی بررسی ایمنی نوع Framework را دور میزند. این رفتار سی شارپ یک برتری واضح و دقیق نسبت به VB.NET ایجاد میکند.
- یادگیری
در مقایسه با سایر زبان های برنامه نویسی (PL) آموزش C # قطعاً یک ضربه فوری خواهد بود. یادگیری مقایسه با دیگران آسان است. یک چیز مطمئن است که هر PL زمان کافی برای یادگیری و به همان اندازه زمان کافی برای تسلط بر آن را دارد، اما نکته نگران کننده پیچیدگی زبان برای یادگیری است. استفاده از سی شارپ از نظر نحوی شبیه جاوا است. به سناریوی زیر توجه کنید
در جاوا و سپس در سی شارپ
- جستجوی یکپارچه زبان (LINQ)
این در سال 2007 به C # معرفی شد. هدف این بود که به جامعه توسعهدهنده در حال رشد در جستجوی دادهها از منابع مختلف کمک کند. نیازی به نگرانی در مورد نحو (مخصوص پایگاه داده ها) نیست. ارائه دهنده LINQ (یک جزء از LINQ) به تبدیل پرس و جو به قالبی که به راحتی قابل درک و خواندن باشد کمک میکند. به عنوان مثال: این مثال برخی از سردرگمیها را برطرف میکند و از کاربردهای عملی C# پشتیبانی میکند – اگر آقای A (توسعهدهنده) بخواهد داده خاصی را از پایگاه داده SQL پرس و جو کند، ارائهدهنده LINQ به راحتی پرس و جوی LINQ را به T SQL تبدیل میکند و به پایگاه داده کمک میکند تا آن را درک کند.
- کلیدواژه هایی که زبان های دیگر فاقد آن هستند
کلمه کلیدی as در سی شارپ سعی میکند یک شی را به یک نوع ایمن ارسال کند و اگر نتواند آن را null برمی گرداند.
بازده – بازده و بازگشتی در سی شارپ برای انجام تکرارهای سفارشی و حالت بدون کلاس اضافی واضح و بدون نیاز به ایجاد مجموعه موقت استفاده میشود.
Var – Var یک نوع ضمنی است. به طور کلی توسط کامپایلر تعیین میشود و از نظر عملکردی معادل است. Var برای انواع ناشناس که معمولاً در جستارهای LINQ استفاده میشوند موافق است.
بررسی شده – در سی شارپ، ممکن است از کلمه کلیدی علامت زده برای فعال کردن صریحاً بررسی سرریز برای عبارات نوع انتگرال استفاده کنیم. اگر مقدار حاصل از برخی عبارت خارج از محدوده نوع مقصد باشد، میتوانیم از checked برای وادار کردن زمان اجرا برای پرتاب یک OverflowException استفاده کنیم. این مفید است زیرا در حالی که عبارات ثابت به طور پیش فرض دارای بررسی سرریز در زمان کامپایل هستند، عبارات غیر ثابت این کار را ندارند.
درکل چیزی که درمورد کاربرد سی شارپ بدست میآید نتیجه محور است، زیرا بحث طولانی در مورد عوامل مختلف در مورد پایگاه کاربر گسترده C# ما را به یک نقطه نتیجه میرساند. این یک بحث بی پایان است که همیشه در جامعه توسعه دهندگان جریان دارد. ما تاکنون شاهد گستره پلتفرم گسترده C# بوده ایم. چگونه از یک برچسب زبان Microsoft PL خارج شده است. این یک موقعیت ترجیحی در رتبه بندی جهانی است. چرا استفاده از سی شارپ را بر زبان های دیگر ترجیح می دهیم؟ چون دارای مزایای طول کد و وضوح کد است. این تصمیم ما را میآورد که به ما درک درستی از زبان و پلتفرم مناسب برای توسعه محصول اساسی را میدهد. هیچ زبانی خوب یا بد نیست، همه اینها به نیاز و هدف دقیق بستگی دارد. موارد بی شماری وجود دارد که باید قبل از شروع توسعه در نظر بگیرید، فیس بوک (مثال بسیار رایج) با PHP (نوشته شده در PHP) گیر کرده است و هیچ گزینه ای برای انتخاب ندارند. حتی اگر بخواهند به ASP.NET منتقل شوند یا سوئیچ کنند، به سادگی نمیتوانند.
بیشتر بخوانید: برنامه نویسی را از چه سنی شروع کنیم؟
ارتباط بین C# و .NET
ما این موضوع را گسترده میدانیم اما نتوانستم یک نمای کلی اولیه پیدا کنم. ما میخواهیم بدانیم دقیقاً چه رابطه ای بین این دو وجود دارد. میدانیم که برای کار با VS 2010 به .NET SP2 نیاز داریم، بنابراین رایانه مشتری باید همان نسخه NET را داشته باشد.
دات نت یک فریمورک است. معنی آن این است که پلت فرم دات نت شامل کتابخانه هایی از کد و معماری موجود است که تمامی برنامه های کاربردی که از آن استفاده میکنند از آن ساخته میشوند. بنابراین به جای ریختن یک پایه جدید برای هر خانه، در حال حاضر با یک پایه محکم شروع خواهید کرد که در طول زمان کامل شده و بهبود یافته است. علاوه بر یک پایه اولیه، این چارچوب به عنوان نوعی جعبه ابزار از کدهای موجود عمل میکند که شما را از اختراع مجدد چرخ هر زمان که به چیزهای خاصی نیاز دارید، نجات میدهد.
برای مثال، winforms پایهای است که از طریق آن میتوان برنامههای کاربردی ویندوز با یک رابط کاربری ابتدایی را به سادگی با رفتن به file > new project ساخت. اگر این کتابخانه کدهای موجود برای پشتیبانی از شما نبود، باید خودتان با GDI برای ایجاد فرمهای ویندوز و رابط کاربری ارتباط برقرار کنید.
سی شارپ به سادگی یک زبان برنامه نویسی است. یکی به طور خاص با در نظر گرفتن دات نت نوشته شده است. در واقع، بیشتر چارچوب دات نت به زبان سی شارپ (اگر نه همه آن) نوشته شده است. نحو آن به سادگی پیشرفت بعدی زبان C است، بنابراین انتقال از C++ به C# نباید خیلی سخت باشد. این یک تغییر پارادایم با چیزهای زیادی است، اما حداقل نحو اغلب آشنا است. هر زبان دات نت معمولاً با سایر زبان های دات نت سازگار است. به عنوان مثال، ما میتوانیم یک کتابخانه کلاس در ویژوال بیسیک بنویسم، و شما میتوانید از آن کتابخانه کامپایل شده در برنامه سی شارپ خود استفاده کنید.
.NET بعنوان یک فریمورک
از آنجا که دات نت یک فریمورک است، کدی که در آن ارجاع می دهید در برنامه شما کامپایل نمی شود، بلکه ارجاع به کد در فریم ورک تنها چیزی است که کامپایل می شود. این بدان معناست که کلاینت هایی که برنامه شما را اجرا می کنند باید چارچوب دات نت را نیز داشته باشند، البته یک نسخه حذف شده. آنها به همه ابزارهای توسعه ای که شما نیاز دارید نیاز ندارند، بنابراین دانلود فریمورک دات نت آنها کمی کوچکتر است. کلاینت هایی که ویندوز ویستا/7 دارند نیازی به نگرانی ندارند. آن را با سیستم عامل آنها گنجانده شده است. فقط کاربران خاصی که XP را اجرا می کنند حتی باید نگران بارگیری فریمورک باشند و اکثر برنامه ها به دقت نیاز را تشخیص می دهند و به کاربر نهایی اطلاع می دهند که آن را دانلود کند.
تمام نسخه های ویژوال استودیو به سادگی ابزارهایی هستند که به شما در ساخت برنامه ها و استفاده بهتر از چارچوب دات نت کمک می کنند. ما هرگز برنامه نویسی به هیچ زبان دات نت را بدون حداقل نسخه اکسپرس (رایگان) ویژوال استودیو توصیه نمی کنیم. Intellisense به تنهایی ارزشش را دارد. همانطور که گفته شد، قطعاً امکان کدگذاری چیزی در دات نت بدون Visual Studio IDE وجود دارد. میتوانید همین الان دفترچه یادداشت را باز کنید و یک برنامه C# بنویسید، آن را با کامپایلر رایگان کامپایل کنید و اجرا کنید. در حالی که ویژوال استودیو 2010 بسیار شگفت انگیز است و از پلتفرم جدید WPF برای اجرا استفاده میکند، 2008 به همان خوبی به شما خدمت خواهد کرد. 2010 برای دات نت 4 بهینه شده است اما در مورد هدف قرار دادن نسخه های قبلی دات نت نیز به خوبی کار میکند.
آموزش C#برای مبتدیان Unity
سی شارپ ( C# ) به عنوان زبان اصلی برای موتور بازی سازی Unity بوده است. 3D Unity ، یکی از دو گزینه اصلی برای توسعه AR/VR (به غیر از Unreal) است. Engine by Epic Games)، اگر میخواهند برنامههای کاربردی با پیچیدگی (فیزیک، انیمیشن، طراحی الگوها، سایهزنها یا حتی جلوههای صوتی) را در نظر بگیرید، به زبانآموزان AR/VR نیاز دارد که به آن دست پیدا کنند.
به احتمال زیاد، شما برای ساخت برنامه های کاربردی برای AR و VR هیجان زده هستید، اما از جستجو در یک زبان برنامه نویسی میترسید. هر کسی که در حال ساخت بازیهای یونیتی بوده است، قبلاً با سی شارپ آشنایی دارد. اما برای یک فرد غیر فنی، فیلمنامه یک منحنی یادگیری تند ارائه میکند. نگران نباشید – با درک زبان، کار با موتور بازی یونیتی بسیار ساده تر میشود.
این راهنما یک میانبر یا یک دوره تکمیلی زبان برنامه نویسی سی شارپ است.
از طریق سی شارپ میتوانید اجزای جدیدی برای unity ایجاد کنید یا اجزای موجود را گسترش دهید، نحوه عملکرد بازیتان را شکل دهید، تعاملات بازیکنان، رفتارهای دشمن، حرکت اشیاء و موارد دیگر را تعریف کنید.
یادگیری سی شارپ برای Unity D3 چقدر طول میکشد؟
این پاسخ می تواند بسیار متفاوت باشد، بسته به اینکه چه تجربه قبلی دارید و چقدر زمان برای مطالعه اختصاص می دهید، و مهمتر از همه اینکه «آموزش C#» به چه معناست. اگر قبلاً یک پیشینه فنی دارید – برای مثال معنای کد یا تجربه قبلی توسعه نرم افزار را میشناسید، به خوبی در راه خواهید بود. حتی طراحان گرافیکی که اصول اولیه CSS و HTML (یا شاید حتی جاوا اسکریپت) را میدانند، هنگام استفاده از C# سریعتر از افراد مبتدی هستند.
یادگیری نحوه برنامه نویسی یک چالش است، هر چند ارزشمند. پس از 6 ماه اختصاص حداقل 1 ساعت در روز، بسیاری از مردم متوجه میشوند که میتوانند پروژه های کوچک XR را با اطمینان ایجاد کنند. 6 ماه اول همه چیز در مورد ایجاد یک پایه قوی برای ساختن برای آینده است.
با درک مهارت برنامه نویسی C# ، نه تنها وارد توسعه AR/VR میشوید، بلکه میتوانید بازی های دو بعدی (یا سه بعدی) خود را برای پلتفرم های مختلف بسازید. شاید از خودتان بپرسید بیشترین کاربرد برای طراحی بازی است؟ مشکلی نیست – اگر از Unity استفاده می کنید، در هر حال به C#نیاز دارید.
جمع بندی
سی شارپ یکی از محبوب ترین زبان های برنامه نویسی است و میتوان از آن برای موارد مختلفی از جمله برنامه های کاربردی موبایل، توسعه بازی و نرم افزارهای سازمانی استفاده کرد. آموزش #C درهای زیادی را برای شما به عنوان یک توسعه دهنده باز میکند. C# همه منظوره و شی گرا است که توسط مایکروسافت در ابتکار .NET توسعه یافته است. سی شارپ یکی از زبانهای زیرساخت زبان مشترک است. از نظر نحوی شباهت زیادی به جاوا دارد و برای کاربرانی که دانش C، C++ یا جاوا دارند، آسان است.
در این مقاله سعی کردیم بررسی اجمالی برماهیت سی شارپ داشته و از نظر شی گرای آن را مورد بررسی قرار دهیم. ارتباط C# با .NET را بصورت مختصر توشیح دهیم. همچنین برای کسانی که علاقه مند به برنامه نویسی بازی های رایانه ای هستند، از تاثیر C# بر روی Unity برای خوانندگان مطالبی را ارائه دادیم.
لینک های کوتاه
https://b2n.ir/d70305 | https://zx1.ir/eq1OM | https://yun.ir/67dmsd |
https://bit.ly/3pcAAAH | https://tinyurl.com/5mkf8n9v | https://is.gd/ohZ3DL |
1 دیدگاه
به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.
بسیار مفید بود