• مشکی
  • سفید
  • سبز
  • آبی
  • قرمز
  • نارنجی
  • بنفش
  • طلایی
انجمن ها > انجمن کامپیوتر > صفحه اول بحث
لطفا در سایت شناسائی شوید!
کامپیوتر (بازدید: 1493)
جمعه 7/3/1389 - 23:18 -0 تشکر 202673
آشنائی با زبان #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. مایكروسافت است.

اگر این مطلب را خوانید حداقل نظر بدهید كه چه نوع مطلبى و با چه عنوان دوست دارید

با تشكر Aleksander sisak

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

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

شنبه 8/3/1389 - 19:34 - 0 تشکر 202781

با سلام
ممنون از تاریخچه ی خوب و كاملی كه در مورد این زبان برنامه نویسی عام پسند مطرح كردید
من خودم اصلا از #C استفاده نكردم ؛ اكثر برنامه هام با زبان VB.net هستند - VB رو بیشتر ترجیح میدم!
شما چطور؟

موفق باشید.

هرگز اين چهار چيز را در زندگيت نشكن

.......................اعتماد ، قول ، رابطه و قلب ؛

.....................................يرا اينها وقتي مي شكنند صدا ندارند ، اما درد بسياري دارند ...

...چارلز ديكنز ...
يکشنبه 9/3/1389 - 11:32 - 0 تشکر 202868

soroosh_dehkadeh_it گفته است :
[quote=soroosh_dehkadeh_it;341704;202781]با سلام
ممنون از تاریخچه ی خوب و كاملی كه در مورد این زبان برنامه نویسی عام پسند مطرح كردید
من خودم اصلا از #C استفاده نكردم ؛ اكثر برنامه هام با زبان VB.net هستند - VB رو بیشتر ترجیح میدم!
شما چطور؟

موفق باشید.

هدف پدید آوردن زبان بیسیك توسط جان كمنى و توماس كورتس فراهم ساختن یك زبان ساده براى دانشجویان رشته هاى مختلف است و من قبلا با ویژوال بیسیك 6 كار مى كردم و براى رفع نیازهاى ساده از این برنامه استفاده مى كنم.  

شنبه 15/3/1389 - 15:27 - 0 تشکر 204095

از اونجایی که سی شارپ نیازمند دات نت فریم ورک است در نتیجه فقط در ویندوز کار میکنه
به نظرم سی پلاس پلاس بهتره...

برو به انجمن
انجمن فعال در هفته گذشته
مدیر فعال در هفته گذشته
آخرین مطالب
  • آلبوم تصاویر بازدید از کلیسای جلفای...
    آلبوم تصاویر بازدید اعضای انجمن نصف جهان از کلیسای جلفای اصفهان.
  • بازدید از زیباترین کلیسای جلفای اصفهان
    جمعی از کاربران انجمن نصف جهان، در روز 27 مردادماه با همکاری دفتر تبیان اصفهان، بازدیدی را از کلیسای وانک، به عمل آورده‌اند. این کلیسا، یکی از کلیساهای تاریخی اصفهان به شمار می‌رود.
  • اعضای انجمن در خانه شهید بهشتی
    خانه پدری آیت الله دکتر بهشتی در اصفهان، امروزه به نام موزه و خانه فرهنگ شهید نام‌گذاری شده است. اعضای انجمن نصف جهان، در بازدید دیگر خود، قدم به خانه شهید بهشتی گذاشته‌اند.
  • اطلاعیه برندگان جشنواره انجمن‌ها
    پس از دو ماه رقابت فشرده بین کاربران فعال انجمن‌ها، جشنواره تابستان 92 با برگزاری 5 مسابقه متنوع در تاریخ 15 مهرماه به پایان رسید و هم‌اینک، زمان اعلام برندگان نهایی این مسابقات فرارسیده است.
  • نصف جهانی‌ها در مقبره علامه مجلسی
    اعضای انجمن نصف جهان، در یك گردهمایی دیگر، از آرامگاه علامه مجلسی و میدان احیا شده‌ی امام علی (ع) اصفهان، بازدیدی را به عمل آوردند.