مقدمه ای بر زبان برنامه نویسی #C و پلتفرم NET Framework.
1397/12/11 16:23 , میلاد صاحب نظر

مقدمه ای بر زبان برنامه نویسی #C و پلتفرم NET Framework.

 

#C یکی از زیباترین و ایمن ترین زبان های شیء گرا است، که به توسعه دهندگان امکان می‌دهد انواع مختلفی از اپلیکیشن های امن و مطمئن (که در پلتفرم NET Framework. اجرا می‌شوند) بنویسند. می‌توانید از #C برای ایجاد اپلیکیشن های Windows Client، XML Web Services، distributed components، اپلیکیشن های client – server، اپلیکیشن های پایگاه داده و غیره استفاده کنید.

#Visual C برای توسعه دهنده یک ویراستار کد حرفه ای، واسط کاربری با طراحی کاربر پسند و راحت، debugger جامع و مطمئن و بسیاری ابزار دیگر فراهم می‌کند، تا توسعه­ اپلیکیشن های مبتنی بر زبان #C و پلتفرم NET Framework. آسان تر و شیرین تر شود.  

نکته

نحوه نگارش کد در #Visual C بر این فرض است که شما آشنایی نسبی با مفاهیم پایه و ابتدایی برنامه نویسی دارید. اما اگر شما یک تازه کار صفر هستید، پس بهتر است کارتان را با Visual C# Express آغاز کنید، می‌توانید این نسخه را به راحتی از اینترنت دانلود و نصب کنید. همچنین می‌توانید از کتاب ها و منابع موجود در اینترنت برای یادگیری مهارت های برنامه نویسی با زبان #Cاستفاده کنید.

زبان #C

نکات ابتدایی در مورد زبان #C

نکات ابتدایی در مورد زبان #C

کدهای زبان #C بسیار گسترده و جامع هستند، ولی در عین حال یادگیری آنها ساده و آسان است. هر کسی که با زبان های C++، C یا جاوا اندکی آشنایی داشته باشد، به راحتی می‌تواند نحوه کد نویسی زیبا و آسان #C را تشخیص دهد. توسعه دهندگانی که با هر کدام از این زبان ها آشنایی دارند، عملا می‌توانند پس از گذراندن یک دوره آموزش کوتاه مدت، خیلی راحت در سطح حرفه ای شروع به کد نویسی با #C کنند.

 ویژگی های #C

نحوه کد نویسی #C، بسیاری از پیچیدگی های زبان ++C را ساده سازی کرده و ویژگی های قدرتمند و مفیدی(مانند انواع مقادیر قابل null شدن، شمارش ها، اختصارها، عبارات lambda و دسترسی مستقیم به حافظه، که این ویژگی ها در جاوا وجود ندارند) نیز دارد که کار برنامه نویس یا توسعه دهنده را تسهیل می‌کند.

#C از روش ها و انواع کلی زبان های برنامه نویسی دیگر (مانند PHP و ASP.Net) پشتیبانی می‌کند، که باعث افزایش امنیت و کارایی برنامه شده و همچنین متد های تکرار شونده ای فراهم می‌کند، که توسعه دهنده را قادر می‌سازد از کلاس های جامع و کلی برای تعریف رفتارهای خاص تکرار شونده استفاده کند و بدین ترتیب کار را برای کد نویسی سمت کاربر یا client راحت تر می‌کند. عبارات کوئری زبان - جامع(LINQ) باعث ایجاد یک ساختار زبانی قوی و مطمئن و در عین حال ساده می‌شود.

ساختار #C

#C به عنوان یک زبان شیء گرا از مفاهیم منحصر سازی، وراثت و چند ریختی نیز پشتیبانی می‌کند. همه متغیرها و متدها، به خصوص متد main، یا همان نقطه آغاز اصلی کدنویسی برنامه، به شکل کلاس جمع بندی و منحصر شده اند. یک کلاس ممکن است مستقیما از یک کلاس پدر ارث بری کند، اما در آن می‌توان از هر تعداد واسط دیگر نیز استفاده کرد.

متدهایی که در یک کلاس پدر متدهای مجازی را پیاده سازی می‌کنند، به منظور پرهیز از تعریف مجدد تصادفی، با کلید واژه override نوشته می‌شوند. در #C، ساختار به صورت یک کلاس کلی است، این کلاس از روش اختصاص پشته ای(Stack) استفاده می‌کند و می‌توان در آن از واسط ها و زبان های دیگر استفاده کرد، اما نمی‌توان از آن واسط و زبان ها ارث بری کرد.

مزایای #C

#Cعلاوه بر این اصول شیء گرایی اولیه، همچنین توسعه مولفه های نرم افزار از طریق ساختار های زبانی نوآورانه را نیز تسهیل می‌کند که برخی از این ساختارها به شرح زیر هستند:

  • علامت متد منحصر سازی که delegate نام دارد و امکان نمایش نکات و پیام های type – safe را فراهم می‌کند.
  • Property ها که نقش انبار تجهیزات متغیرهای اختصاصی را ایفا می‌کنند.
  • Attributeها، که متاداده های اخباری در مورد انواع متدها و کدهای در حال اجرا در قسمت run time را فراهم می‌کنند.
  • کامنت های مستند XML درون برنامه ای.
  • کوئری زبان – جامع(LINQ ) که قابلیت های کوئری نویسی درون برنامه ای را در بین منابع داده ای مختلف فراهم می‌کند.

اگر لازم شد برنامه شما با نرم افزارهای دیگر ویندوز(مانند COM objects یا native Win32 DLLها) تعامل داشته باشد، می‌توانید این کار را از طریق یک فرآیند به نام "Interop" انجام دهید. Interop باعث می‌شود برنامه های C# بتوانند تقریبا همه ی کارهایی که یک برنامه محلی ++C انجام می‌دهد را انجام دهند. #C حتی از اشاره گر ها و مفهوم کد "unsafe"(برای برنامه هایی که در آنها دسترسی مستقیم به حافظه، امری حیاتی است) نیز پشتیبانی می‌کند.

مقایسه با زبان های دیگر

فرآیند کد نویسی و build زبان #C در مقایسه با زبان های C و ++C ساده تر بوده و نسبت به زبان جاوا خیلی انعطاف پذیرتر است. هیچ فایل هدر مجزایی وجود ندارد، همچنین هیچ نیازی نیست که متدها و نوع ها، به ترتیب خاصی تعریف و اعلام شوند. یک فایل منبع #C می­تواند هر تعداد کلاس، ساختار، واسط و رویداد را تعریف کند.

معماری پلتفرم NET Framework.

آشنایی با پلتفرم NET Framework.

آشنایی با پلتفرم NET Framework.

برنامه های #C روی پلتفرم NET Framework. اجرا می‌شوند، این پلتفرم در واقع یکی از اجزای داخلی ویندوز است که شامل یک سیستم اجراسازی مجازی به نام اجرای زبان مرسوم(CLR) و مجموعه کاملی از کتابخانه های کلاس ها می‌باشد. CLR یک برنامه اجرا سازی تجاری ساخته و منتشر شده توسط مایکروسافت است که شامل زیرساختار زبان مرسوم(CLI) می‌باشد.

CLI یک استاندارد بین المللی است که پایه و اساس اجرای build و شامل محیط های توسعه ای است که در آنها زبان ها و کتابخانه ها همزمان با هم کار می‌کنند.

تعامل NET Framework. با #C

کد منبع نوشته شده در #C، درون یک زبان میانه(IL) کامپایل می‌شود که در آن با مشخصات CLI تطابق داده می‌شود. کد و منابع IL(مانند بیت مپ ها و رشته ها) روی دیسک، در یک فایل قابل اجرا به نام assembly ذخیره می‌شوند، پسوند این فایل ها معمولا exe. یا dll. است. یک فایل assembly شامل گزارشی است که اطلاعاتی در مورد انواع، ورژن، معماری و نیازهای امنیتی assembly ارائه می‌دهد.

وقتی برنامه #C اجرا می‌شود، فایل assembly درون CLR بارگذاری می‌شود، که این امر بر اساس اطلاعات موجود در گزارش ممکن است شامل چندین عمل باشد. سپس، اگر نیازهای امنیتی رعایت شده باشند، CLR برای تبدیل کد IL به دستورالعمل های محلی ماشین، عمل کامپایل "به موقع"(JIT) را انجام می‌دهد.

CLR همچنین خدمات دیگری، مرتبط با جمع آوری خودکار زباله، کنترل استثناها و مدیریت منابع را نیز ارائه می‌دهد. کدی که توسط CLR اجرا می‌شود گاهی با نام "کد مدیریت شده" شناخته می‌شود. این کد دقیقا عملکردی برعکس "کد مدیریت نشده" دارد. کد مدیریت نشده درون زبان محلی ماشین کامپایل می‌شود و برای سیستم های خاص کاربرد دارد. نمودار زیر، روابط بین زمان کامپایل و run time فایل های کد منبع #C، کتابخانه های کلاس NET Framework.، فایل های Assembly و CLR را نشان می‌دهد.

نمودار ارتباطات بین کامپایل اجزای مختلف NET Framework.

نمودار ارتباطات بین کامپایل اجزای مختلف NET Framework.

وسعت دامنه NET Framework.

قابلیت اجرای داخلی زبان یکی از ویژگی های کلیدی NET Framework. است. چون کد IL تولید شده توسط کامپایلر #C، با مشخصات و شرایط نوع مرسوم(CTS) تطابق دارد. کد IL تولید شده در #C می‌تواند با کدی که توسط ورژن های NET. ویژوال بیسیک، ویژوال ++C یا هر کدام از 20 زبان دیگر مطابق با CTS تولید شده است، تعامل ایجاد کند.

یک فایل تنهای Assembly ممکن است شامل چندین ماژول باشد که در زبان های NET. مختلف نوشته شده اند و نوع ها درست همانند نوع هایی که در یک زبان یکسان نوشته شده اند، می‌توانند به یکدیگر اشاره کنند.

علاوه بر خدمات run time، پلتفرم NET Framework. همچنین شامل یک کتابخانه جامع و وسیع از بیش از 4000 کلاس سازماندهی شده درون namespace ها می‌باشد که این کلاس ها انواع متفاوت و زیادی از کارکردهای مفید برای همه چیز(از ورودی و خروجی فایل گرفته تا دستکاری رشته و XML Parsing و کنترل های فرم های ویندوز)ایجاد می‌کنند. یک برنامه معمولی #C، برای کنترل اعمال معمولی از کتابخانه جامع کلاس های NET Framework. استفاده می‌کند.

 منبع: سایت مایکروسافت

 

                                   مطالب مرتبط

           ترفندهای ++C برای برنامه نویسی رقابتی

                حقایقی متداول در مورد زبان C          

           چرا یادگیری زبان C هنوز هم اهمیت دارد؟         

               همه چیز در مورد جاوا اسکریپت

                                                           جاوا در برابر جاوا اسکریپت: هر آنچه باید بدانید

از آخرین دوره های آموزشی و تخفیف ها مطلع شوید

با تکمیل فرم زیر ، از اخبار و اطلاعات به روز برنامه نویسی و تکنولوژی عقب نمانید

آخرین مطالب

آموزش جامع SQL Server (جلسه ۱۲)
آموزش جامع SQL Server (جلسه ۱۲)

دستور UPDATE در SQL Server برای تغییر داده‌های موجود در یک جدول، از دستور UPDATE به شکل زیر استفاده ...

آموزش جامع SQL Server (جلسه ۱۵)
آموزش جامع SQL Server (جلسه ۱۵)

دستور DROP TABLE در SQL Server گاهی، لازم است یک جدول که دیگر استفاده‌ای ندارد را حذف کنید. برای ...

آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)
آموزش جامع SQL Server (جلسه ۳۵: Window Functionها – بخش ۲)

بخش اول از آخرین مبحث دوره جامع آموزش SQL Server در جلسه قبلی بررسی شد. این مبحث که ...

آخرین دیدگاه ها

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

فرم ارسال نظرات