چهارشنبه , بهمن ۳۰ ۱۳۹۸
خانه / مقالات / آشنائی با زبان برنامـه نویسی #C

آشنائی با زبان برنامـه نویسی #C

%name آشنائی با زبان برنامـه  نویسی #C

آموزش C#

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

با توجه به نقش محوری این زبان، از آن بعنوان مادر زبانهای برنامـه نویسی در دات نت نام برده می شود. مورد فوق به تنهائی، می تواند قانع کننده ای جهت یادگیری این زبان باشد، ولی دلایل زیاد دیگری نیز وجود دارد که در ادامه به برخی از آنها اشاره می گردد.

بیان شدن بعنوان یک استاندارد صنعتی
انجمن تولیدکنندگان رایانه اروپا (ECMA) زبان #C را در سوم اکتبر سال ۲۰۰۱ بعنوان یک استاندارد پذیرفته (ECMA-334) بدنبال آن تلاش های وسیع ی جهت کسب گواهی ISO نیز انجام شده است. زبان فوق در ابتدا توسط کمپانی مایکروسافت و بعنوان بخشی از دات نت پیاده سازی بلافاصله بعد از آن بوسیله کمپانی های اینتل، هیولیت پاکارد مایکروسافت مشترکا، جهت استاندارسازی پیشنهاد گردید.

زبان #C بگونه ای طراحی شده است که نه تنها وابستگی به یک Platform ویِژگزینشه را ندارد، بلکه در اکثرا موارد وابستگی RunTime نیز ندارد. کامپایلر #C می تواند بر روی هر نوع معماری سخت افزاری طراحی و اجرا گردد. در گاهی از نسخه های اولیه کامپایلر زبان فوق که بوسیله برخی از کمپانی های جانبی ارائه شده است، کدهای #C را به بایت کدهای جاوا کمپایل می کنند. یکی از چنین کامپایلرهائی را می توان در وب سایت Halcyonsoft.com مشاهده نمود. پس کدهای #C براحتی قابلیت حمل بر روی محیط های مفرق را دارا خواهند بود.

معین ات تعریف شده زبان #C بابقیه استاندارهای تعریف شده ECMA نظیر (ECMA-335) CLI (Common Language Infrastructure) ببهتر ی مطابقت می نمایند. CLI قلب روح دات نت CLR(Common Language Runtime) است. اولین ورژن از کامپایلر زبان #C که از CLI مصرف می نماید ، NET Framwork. مایکروسافت است.

با تذکر به موارد گفته شده، معین می گردد که این زبان بسرعت بسمت استاندارد شدن حرکت و با تایید استانداردهای مربوطه از طرف انجمن های معتبر بین المللی پشتیبانی فراگیر شرکـت های معتبر رایانه ی در جهان مسیر خود را بسمت جهان ی شدن بخوب ی طی می نماید.

#C چیست ؟
طراحان زبان #C با تاکید الگوبرداری مناسب از ویژگی ها ی زبانهائی مثل ++C، C و جاوا و نادیده گرفتن بعضی از امکانات تامل برانگیز و کم استفاده شده در هر از زبانهای فوق، یک زبان پروگرام نویسی مدرن شی گراء را طراحی کرده اند. در موارد ی، گاهی از خصوصیات ی مصرف نشده و درست درک نشده در هر یک از زبانهای گفته شده، حذف و یا با اعمال کنترل های لازم بر روی آنها، زمینه ایجاد زبان آسان و ایمن جهت اکثرا ٌ پیاده کنندگان برنامـه بوجود آمده است. برای مثال C ++C می توانند مستقیما با استفاده از اشاره گرها عملیات دلخواه خود را در حافظه انجام دهند. وجود توانائی فوق جهت نوشتن برنامـه های رایانه ی با کارائی بالا ضرورت مهم دارد. ولی در صورتیکه عملیاتی اینچنین بدرستی کنترل و هدایت نگردند، خود می تواند باعث ظهور موارد (Bugs) بیشماری گردد.

طراحان زبان #C، با درک ارزش موضوع فوق، این ویژگی را کماکان در آن گنجانده ولی بمنظور جلوگیری از استفاده نادرست ایجاد اطمینان های ضروری مسئله حفاظت نیز مورد توجه قرار گرفته است. جهت استفاده از ویژگی فوق، برنامـه نویسان می بایست با صراحت و به روشنی خواسته را از طریق استفاده از Keyword های مربوطه اعلان نمایند( فراخوانی یک توانائی و مصرف از آن).

#C بعنوان زبان شی گراء عالی است. این زبان First-Class را جهت مفهوم Property (Data Member) بهمراهبقیه خصائص عمومی پروگرام نویسی شی گراء پشتیبانی می نماید . در C ++C جاوا متد get/set برای دستیابی به خصوصیات ی هر Property استفاده می گردد. CLI همچنان تعریف Property را به متدهای get/ser ترجمه کرده تا بدین طریق بتواند حداکثر رابطه متقابل بابقیه زبانهای پروگرام نویسی باشد. #C بصورت فطری Events Declared Value، Reference Type ، Operator Overloading را نیز پشتیبانی می نماید .

کد مدیریت یافته
با مصرف از ورژن پیاده سازی شده #C توسط مایکروسافت، می توان همـواره کد مدیریت یافته ای را تولید کرد. برنامـه #C بعد از کامپایل، بصورت پروگرام ای در خواهد آمد که حاوی دستورالعمل های تلفیق شده ( CIL (Common Intermediate Language است (درست بر خلاف دستورالعمل های مختص یک اتومبیل خاص). CIL (گاها با نام MSIL(Microsoft Intermediate Language) با به اختصار IL هم نامیده می شود ) در مفهوم مشابه بایت کدهای جاوا بوده حاوی مجموعه ای از دستورالعمل های سطح پایین قابل فهم بوسیله تکنولوژی مبتنی بر CLI مثل CLR مایکروسافت خواهد بود. این پروگرام ها بدین کد مدیریت یافته، نامیده می شوند که CLR مسئولیت تبدیل این دستورالعمل ها به کدهای قابل اجرا برروی اتومبیل ارائه اکثرا سرویس های مهم برای کدینگ شبیه : Garbage Collection، مدیریت Heap عمر مفید Object یا Type Verification را فراهم می نماید .

روش یادگیری #C
یادگیری این زبان جهت افرادی که دارای سابقه آشنائی با یکی از زبانهای پروگرام نویسی ++C، C یا جاوا باشند کار مشکلی نخواهد بود، حتی افرادی که دارای آشنائی اولیه با جاوااسکریپت یا دیگر زبانهای پروگرام نویسی شبیه ویژوال بیسک هستند ، امکان پذیر آسان خواهد بود. گاهی از برنامـه نویسان پیشرفته بر این باور هستند که #C نسبت به VB.NET با اقبال بیشتر و سریعتری مواجه خواهد شد، چراکه #C نسبت به ویژوال بیسک خلاصه تر است. حتی برنامـه های بزرگ پیچیده ای که بوسیله #C نوشته می گردند خواناتر، کوتاه و زیبا خواهند بود. بعضی از خصوصیات ی ارائه شده در #C شبیه Unsigned Integer، Operator OverLoading و امنیت بیشتر Type ها، در VB.NET وجود نداشته و این امر می تواند دلیل ی بر فراگیرتر شدن #C نسبت به VB.NET نزد پروگرام نویسان با تجربه باشد.

جهت یادگیری هر از زبانهای پشتیبانی شده در دات نت، می بایست از BCL (Basic Class Library) مربوط به NET Framework. شروع کرد. #C صرفا ۷۷ کلمه کلیدی یا Keyword بوده که جهت اکثر پروگرام نویسان غریب نخواهند بود. در مقابل BCL، ۴۵۰۰ کلاس و تعداد بیشماری متد Property است که برنامـه نویسان #C، می توانند از آنها برای انجام عملیات دلخواه مصرف نمایند. ممکن است یکی از موارد قابل توجه جهت یادگیری این زبان جهت برخی از پروگرام نویسان پیشرفته عدم وجود برخی از خصوصیات امکاناتی باشد که در قدیم از طریقبقیه زبانهای استفاده شده، بخدمت گرفته می شدند. برای مثال عدم وجود امکاناتی جهت توارث چندگانه (MI) سلسله مراتبی یک شئ.

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

درباره ی admin

مطلب پیشنهادی

سرور اختصاصی چیست؟

سرور اختصاصی چیست؟ سرور اختصاصی یک کامپیوتر در یک شبکه مادی و معنوی برای خدمت به …

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *