مایکروسافت در مصاف با جاوا، بدنبال ارائه زبان کامل بود که سایه جاوا را در میادین برنامـه نویسی کم رنگ تر نماید. شاید بهمین باشد که #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 بمنزله کسب یک پتانسیل ارزشمند بوده که ثمرات آن برای پروگرام نویسان در حال و آینده ای نه چندان دور بیشتر هویدا خواهد شد. استاندارد بودن و وجود کتابخانه ای مملو از کلاس این اطمینان را بوجود خواهد آورد که با فراگیری زبان فوق و کسب، مهارت های ضروری ، به یک توانائی فرا محیطی جدید دست پیدا خواهیم کرد که امکان مصرف از آن بر روی محیط های مفرق وجود خواهد داشت. خصوصیات و امکانات بیشمار این زبان از عبارت دلایل قانع کننده دیگری است که فراگیری آن را توجیه پذیر و منطقی می نماید .
مرداد ۱۵, ۱۳۹۸
مرداد ۱, ۱۳۹۷
تیر ۲, ۱۳۹۷
دی ۲۴, ۱۳۹۶