close
تبلیغات در اینترنت

بهترين کرک ها

آشنائی با زبان #C




جستجوگر پیشرفته سایت
search



آخرین ارسال های انجمن
عنوان پاسخ بازدید توسط
2 670 mmh
7 991 sajadzamani
4 687 sajadzamani
3 860 snow
4 798 sajadzamani
0 407 snow
0 415 snow
1 653 snow
1 605 snow
1 726 snow
0 522 sajadzamani
1 605 Rayansys
0 497 sajadzamani
0 471 sajadzamani
0 465 sajadzamani
0 503 sajadzamani
0 407 sajadzamani
0 388 sajadzamani
0 344 sajadzamani
0 337 sajadzamani
آشنائی با زبان #C

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


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


مطرح شدن بعنوان يك استاندارد صنعتی
انجمن توليدكنندگان كامپيوتر اروپا (ECMA) زبان #C را در سوم اكتبر سال 2001 بعنوان يك استاندارد پذيرفته (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 بمنزله كسب يك پتانسيل با ارزش بوده كه ثمرات آن برای برنامه نويسان در حال و آينده ای نه چندان دور بيشتر هويدا خواهد شد. استاندارد بودن و وجود كتابخانه ای مملو از كلاس اين اطمينان را بوجود خواهد آورد كه با فراگيری زبان فوق و كسب، مهارت های لازم، به يك توانائی فرا محيطی جديد دست پيدا خواهيم كرد كه امكان استفاده از آن بر روی محيط های متفاوت وجود خواهد داشت. ويژگی ها و قابليت های بيشمار اين زبان از جمله دلايل قانع كننده ديگری است كه فراگيری آن را توجيه پذير و منطقی می كند.







امتیاز: نتیجه : 0 امتیاز توسط 0 نفر مجموع امتیاز : 0

بازدید :806
مرتبط با : آموزش عمومی
لینک های مرتبط : نصب ویندوز 8 در کنار ویندوز 7
افزودن منو استارت به ویندوز 8
دسترسی از راه دور به رایانه با گوگل کروم
آموزش جی کوئری (JQuery)
آموزش کامل آی جکس ! (Ajax) ( به عبارت دیگه آژاکس)
چگونگی ساخت گدجت !
تبدیل گوشی به وبکم !!
صفحه قفل ویندوز مشابه اندروید !!
آموزش نصب سیستم عامل روی یک کیس مجازی (Virtual Machine)
افزونه anonymoX
آموزش ساخت وبلاگ !!
تبدیل لپ تاپ به مودم وایرلس (وای فای)!!
فارسی سازی محیط ویژوال بیسیک !!
پیاده سازی سایت بصورت آفلاین - WampServer
ساخت دیسک های Bootable با نرم افزار EasyBoot 5.1
اگر وبلاگ دارید این ۱۰ اشتباه را نکنید!!
معرفی 10 سایت جالب دنیای اینترنت !
گنولینوکس با ویندوز چه تفاوتی دارد؟
دانلود Windows 8 Persian Language Interface Pack - فارسی ساز محیط ویندوز 8
تغییر ظاهر بوت ویندوز 7
آموزش Visio 2007
آموزش کامل اوراکل (Oracle)
انواع توپولوژی شبکه
آشنائی با پروتكل FTP
CSS و تاریخچه آن
آموزش روش جستجو در گوگل (google)
آموزش ویندوز 8
کامپیوترهای کوانتومی نسل جدید کامپیوتر
بالا بردن رتبه (Rank) سایت در موتورهای جستجو
آموزش ساختن ایمیل یاهو (یاهو میل/Yahoo! Mail)
آیا خرید یک فلش USB 3.0 مقرون به صرفه است؟
آموزش ساخت وبلاگ در رزبلاگ
دانسته هاي يک مهندس رايانه
قرار دادن ویدیو به عنوان تصویر حساب کاربری در ویندوز 8
مخفی‏سازی اطلاعات در ویندوز XP به شیوه‏ای متفاوت
آموزش گوگل پلاس
یک فوتوشاپیست حرفه ای شوید !!
بروز باشیـــــــــــــــد !
کرک ویندوز 8
آموزش ساخت ویندوز Live یا زنده!
آموزش نصب ویندوز XP از طریق Flash USB حافظه فلش
اتصال دو PC با درگاه USB !!
علل نمايش Error صفحه آبی !!!
vpn چیست ؟
ترفندهای گوگل!!
دانلود کتاب آموزش جامع سی شارپ #C
آموزش زبان Html
آموزش زبان Php
Cheat Engine
سیستم عامل مکینتاش
برچسب ها : آشنائی با زبان #C-
نویسنده
نویسنده : علیرضا یوسفی
تاریخ : جمعه 16 / 10 / 1390
زمان : 13:0
ارسال نظر برای این مطلب

نام
ایمیل (منتشر نمی‌شود) (لازم)
وبسایت
:) :( ;) :D ;)) :X :? :P :* =(( :O @};- :B /:) :S
نظر خصوصی
مشخصات شما ذخیره شود ؟ [حذف مشخصات] [شکلک ها]
کد امنیتیرفرش کد امنیتی
:: درگاه جدید اینتل با سرعت 1.6 ترابیت بر ثانیه ( تاریخ : پنجشنبه 28 شهریور 1392)
:: گوگل، تقریبا تمامی گذرواژه‌های مربوط به شبکه‌های وای-فای در سراسر جهان را در اختیار دارد ( تاریخ : پنجشنبه 28 شهریور 1392)
:: آیا فیس بوک رفع فیلتر خواهد شد؟ ( تاریخ : یکشنبه 03 شهریور 1392)
:: نصب ویندوز 8 در کنار ویندوز 7 ( تاریخ : یکشنبه 20 مرداد 1392)
:: افزودن منو استارت به ویندوز 8 ( تاریخ : یکشنبه 20 مرداد 1392)
:: دسترسی از راه دور به رایانه با گوگل کروم ( تاریخ : جمعه 18 مرداد 1392)
:: فیلتر شکن آندروید ! ( تاریخ : شنبه 05 مرداد 1392)
:: آموزش جی کوئری (JQuery) ( تاریخ : سه شنبه 21 خرداد 1392)
:: آموزش کامل آی جکس ! (Ajax) ( به عبارت دیگه آژاکس) ( تاریخ : سه شنبه 21 خرداد 1392)
:: ساخت برنامه برای آندروید ! ( تاریخ : چهارشنبه 15 خرداد 1392)
:: چگونگی ساخت گدجت ! ( تاریخ : چهارشنبه 15 خرداد 1392)
:: تبدیل گوشی به وبکم !! ( تاریخ : جمعه 03 خرداد 1392)
:: صفحه قفل ویندوز مشابه اندروید !! ( تاریخ : پنجشنبه 02 خرداد 1392)
:: ساخت منوی استارت برای وبلاگ یا وبسایت !! ( تاریخ : دوشنبه 30 اردیبهشت 1392)
:: باریکترین هارد دیسک جهان با ۵ میلی متر ضخامت ! ( تاریخ : دوشنبه 30 اردیبهشت 1392)
:: ویندوز 8 (فروشگاه) و 20000 برنامه !! ( تاریخ : دوشنبه 30 اردیبهشت 1392)
:: ترمیم عکس در فتوشاپ ! ( تاریخ : شنبه 28 اردیبهشت 1392)
:: کاملترین مجموعه سورس های ویژوال بیسیک به صورت رایگان !!!! ( تاریخ : شنبه 28 اردیبهشت 1392)
:: ساخت کتاب الکترونیک برای جاوا و آندروید ( تاریخ : شنبه 21 اردیبهشت 1392)
:: مجموعه 42 سورس ویژوال بیسیک 6 (VB6) ( تاریخ : پنجشنبه 19 اردیبهشت 1392)
:: آموزش نصب سیستم عامل روی یک کیس مجازی (Virtual Machine) ( تاریخ : شنبه 14 اردیبهشت 1392)
:: API چیست ؟ ! ( تاریخ : پنجشنبه 12 اردیبهشت 1392)
:: اجرای برنامه های آندروید در رایانه ( تاریخ : پنجشنبه 12 اردیبهشت 1392)
:: افزونه anonymoX ( تاریخ : پنجشنبه 05 اردیبهشت 1392)
:: زیبا سازی محیط ویژوال بیسیک ! ( تاریخ : پنجشنبه 05 اردیبهشت 1392)
:: تست آنلاین کد های HTML ( تاریخ : جمعه 23 فروردین 1392)
:: آیا عینک گوگل پایانی است بر نبرد گوشی‌های هوشمند؟ ( تاریخ : سه شنبه 20 فروردین 1392)
:: آموزش ساخت وبلاگ !! ( تاریخ : چهارشنبه 14 فروردین 1392)
:: تبدیل لپ تاپ به مودم وایرلس (وای فای)!! ( تاریخ : شنبه 10 فروردین 1392)
:: استراتژي تهاجمي مايكروسافت در جبهه اپن‌ سورس‌ !!! ( تاریخ : پنجشنبه 17 اسفند 1391)