<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" >
<channel>
<title>برنامه نويسي</title>
<link>http://irandoosty5.ParsiBlog.com</link>
<description>نسخه XML از وبلاگ " برنامه نويسي "</description>
<language>fa</language>
<generator>ParsiBlog.com RSS Generator</generator>
<lastBuildDate>Thu, 23 Feb 2012 13:15:42 GMT</lastBuildDate>
<author>محمد رحماني</author>
<item>
<title>آموزش سي شارپ</title>
<link>http://irandoosty5.ParsiBlog.com/Posts/2/%d8%a2%d9%85%d9%88%d8%b2%d8%b4+%d8%b3%d9%8a+%d8%b4%d8%a7%d8%b1%d9%be/</link>
<description>&lt;TABLE id=post521005 cellSpacing=0 cellPadding=6 width=&quot;100%&quot; align=center border=0&gt;&lt;br&gt;&lt;TBODY&gt;&lt;br&gt;&lt;TR vAlign=top&gt;&lt;br&gt;&lt;TD id=td_post_521005 style=&quot;BORDER-RIGHT: #d1d1e1 1px solid&quot;&gt;&lt;br&gt;&lt;DIV id=post_message_521005&gt;سلام&lt;BR&gt;براي يادگيري C# تا حدي که گليم خودتون رو از آب بتونيد بکشيد بيرون با اين 20 جلسه آموزش همراه باشيد.&lt;BR&gt;منبع رو هم آخر جلسه ي بيستم مي گم.&lt;BR&gt;&lt;BR&gt;&lt;FONT color=blue&gt;آشنايي با زبان C#&lt;/FONT&gt;&lt;BR&gt;&lt;BR&gt;مايكروسافت در مصاف با جاوا، بدنبال ارائه يك زبان كامل بود كه سايه جاوا را در ميادين برنامه نويسي كم رنگ تر نمايد. شايد بهمين دليل باشد كه #C را ايجاد كرد. شباهت هاي بين دو زبان بسيار چشمگير است. مايكروسافت در رابطه با ميزان استفاده و گسترش زبان فوق بسيار خوشبين بوده و اميدوار است بسرعت زبان فوق گستردگي و مقبوليتي به مراتب بيشتر از جاوا را نزد پياده كنندگان نرم افزار پيدا كند.&lt;BR&gt;&lt;BR&gt;با توجه به نقش محوري اين زبان، از آن بعنوان مادر زبانهاي برنامه نويسي در دات نت نام برده مي شود. مورد فوق به تنهائي، مي تواند دليل قانع كننده اي براي يادگيري اين زبان باشد، ولي دلايل متعدد ديگري نيز وجود دارد كه در ادامه به برخي از آنها اشاره مي گردد.&lt;BR&gt;&lt;BR&gt;&lt;B&gt;مطرح شدن بعنوان يك استاندارد صنعتي&lt;/B&gt;&lt;BR&gt;انجمن توليدكنندگان كامپيوتر اروپا (ECMA) زبان #C را در سوم اكتبر سال 2001 بعنوان يك استاندارد پذيرفته (ECMA-334) و بدنبال آن تلاش هاي وسيعي براي كسب گواهي ISO نيز انجام شده است. زبان فوق در ابتدا توسط شركت مايكروسافت و بعنوان بخشي از دات نت پياده سازي و بلافاصله پس از آن توسط شركت هاي اينتل، هيوليت پاكارد و مايكروسافت مشتركا، جهت استاندارسازي پيشنهاد گرديد.&lt;BR&gt;&lt;BR&gt;زبان #C بگونه اي طراحي شده است كه نه تنها وابستگي به يك Platform خاص را ندارد، بلكه در اغلب موارد وابستگي RunTime نيز ندارد. كامپايلر #C مي تواند بر روي هر نوع معماري سخت افزاري طراحي و اجرا گردد. در برخي از نسخه هاي اوليه كامپايلر زبان فوق كه توسط برخي از شركت هاي جانبي ارائه شده است، كدهاي #C را به بايت كدهاي جاوا كمپايل مي كنند. يكي از چنين كامپايلرهائي را مي توان در سايت Halcyonsoft.com مشاهده نمود. بنابراين كدهاي #C براحتي قابليت حمل بر روي محيط هاي متفاوت را دارا خواهند بود.&lt;BR&gt;&lt;BR&gt;مشخصات تعريف شده زبان #C با ساير استاندارهاي تعريف شده ECMA نظير (ECMA-335) CLI (Common Language Infrastructure) بخوبي مطابقت مي نمايند. CLI قلب و روح دات نت و CLR(Common Language Runtime) است. اولين نسخه از كامپايلر زبان #C كه از CLI استفاده مي كند، NET Framwork. مايكروسافت است.&lt;BR&gt;&lt;BR&gt;با توجه به موارد گفته شده، مشخص مي گردد كه اين زبان بسرعت بسمت استاندارد شدن حركت و با تاييد استانداردهاي مربوطه از طرف انجمن هاي معتبر بين المللي و حمايت فراگير شركت هاي معتبر كامپيوتري در دنيا مسير خود را بسمت جهاني شدن بخوبي طي مي نمايد.&lt;BR&gt;&lt;BR&gt;&lt;B&gt;#C چيست ؟&lt;/B&gt;&lt;BR&gt;طراحان زبان #C با تاكيد و الگوبرداري مناسب از مزاياي زبانهائي نظير ++C، C و جاوا و ناديده گرفتن برخي از امكانات تامل برانگيز و كم استفاده شده در هر يك از زبانهاي فوق، يك زبان برنامه نويسي مدرن شي گراء را طراحي كرده اند. در مواردي، برخي از ويژگي هاي استفاده نشده و درست درك نشده در هر يك از زبانهاي گفته شده، حذف و يا با اعمال كنترل هاي لازم بر روي آنها، زمينه ايجاد يك زبان آسان و ايمن براي اغلب پياده كنندگان نرم افزار بوجود آمده است. مثلا C و ++C مي توانند مستقيما با استفاده از اشاره گرها عمليات دلخواه خود را در حافظه انجام دهند. وجود توانائي فوق براي نوشتن برنامه هاي كامپيوتري با كارائي بالا ضرورت اساسي دارد. اما در صورتيكه عملياتي اينچنين بدرستي كنترل و هدايت نگردند، خود مي تواند باعث بروز مسائل (Bugs) بيشماري گردد.&lt;BR&gt;&lt;BR&gt;طراحان زبان #C، با درك اهميت موضوع فوق، اين ويژگي را كماكان در آن گنجانده ولي بمنظور ممانعت از استفاده نادرست و ايجاد اطمينان هاي لازم مسئله حفاظت نيز مورد توجه قرار گرفته است. جهت استفاده از ويژگي فوق، برنامه نويسان مي بايست با صراحت و به روشني خواسته خود را از طريق استفاده از Keyword هاي مربوطه اعلان نمايند( فراخواني يك توانائي و استفاده از آن).&lt;BR&gt;&lt;BR&gt;#C بعنوان يك زبان شي گراء عالي است. اين زبان First-Class را براي مفهوم Property (Data Member) بهمراه ساير خصائص عمومي برنامه نويسي شي گراء حمايت مي كند. در C و ++C و جاوا يك متد get/set اغلب براي دستيابي به ويژگي هاي هر Property استفاده مي گردد. CLI همچنان تعريف Property را به متدهاي get/ser ترجمه كرده تا بدين طريق بتواند داراي حداكثر ارتباط متقابل با ساير زبانهاي برنامه نويسي باشد. #C بصورت فطري Events ، Declared Value، Reference Type ، Operator Overloading را نيز حمايت مي كند.&lt;BR&gt;&lt;BR&gt;&lt;B&gt;كد مديريت يافته&lt;/B&gt;&lt;BR&gt;با استفاده از نسخه پياده سازي شده #C توسط مايكروسافت، مي توان همواره كد مديريت يافته اي را توليد كرد. يك برنامه #C پس از كامپايل، بصورت برنامه اي در خواهد آمد كه شامل دستورالعمل هاي تلفيق شده ( CIL (Common Intermediate Language است (درست بر خلاف دستورالعمل هاي مختص يك ماشين خاص). CIL (گاها با نام MSIL(Microsoft Intermediate Language) با به اختصار IL نيز ناميده مي شود ) ، در مفهوم مشابه بايت كدهاي جاوا بوده و شامل مجموعه اي از دستورالعمل هاي سطح پايين قابل فهم توسط تكنولوژي مبتني بر CLI نظير CLR مايكروسافت خواهد بود. اين برنامه ها بدين دليل كد مديريت يافته، ناميده مي شوند كه CLR مسئوليت تبديل اين دستورالعمل ها به كدهاي قابل اجرا برروي ماشين و ارائه اغلب سرويس هاي اساسي براي كدينگ نظير : Garbage Collection، مديريت Heap و عمر مفيد يك Object و يا Type Verification را فراهم مي كند.&lt;BR&gt;&lt;BR&gt;&lt;B&gt;روش يادگيري #C&lt;/B&gt;&lt;BR&gt;يادگيري اين زبان براي افراديكه داراي سابقه آشنائي با يكي از زبانهاي برنامه نويسي ++C، C و يا جاوا باشند كار مشكلي نخواهد بود، حتي افراديكه داراي آشنائي اوليه با جاوااسكريپت و يا ديگر زبانهاي برنامه نويسي نظير ويژوال بيسك مي باشند، امكان پذير و راحت خواهد بود. برخي از برنامه نويسان حرفه اي بر اين باور هستند كه #C نسبت به VB.NET با اقبال بيشتر و سريعتري مواجه خواهد شد، چراكه #C نسبت به ويژوال بيسك خلاصه تر است. حتي برنامه هاي بزرگ و پيچيده اي كه توسط #C نوشته مي گردند خواناتر، كوتاه و زيبا خواهند بود. برخي از ويژگي هاي ارائه شده در #C نظير Unsigned Integer، Operator OverLoading و امنيت بيشتر Type ها، در VB.NET وجود نداشته و اين امر مي تواند دليلي بر فراگيرتر شدن #C نسبت به VB.NET نزد برنامه نويسان با تجربه باشد.&lt;BR&gt;&lt;BR&gt;براي يادگيري هر يك از زبانهاي حمايت شده در دات نت، مي بايست از BCL (Basic Class Library) مربوط به NET Framework. شروع كرد. #C خود صرفا داراي &amp;#1783;&amp;#1783; کلمه کليدي يا Keyword بوده كه براي اكثر برنامه نويسان غريب نخواهند بود. در مقابل BCL، داراي &amp;#1780;&amp;#1781;&amp;#1776;&amp;#1776; كلاس و تعداد بيشماري متد و Property است كه برنامه نويسان #C، مي توانند از آنها براي انجام عمليات دلخواه خود استفاده نمايند. شايد يكي از مسائل قابل توجه جهت يادگيري اين زبان براي برخي از برنامه نويسان حرفه اي عدم وجود برخي از ويژگي ها و امكاناتي باشد كه در گذشته و از طريق ساير زبانهاي استفاده شده، بخدمت گرفته م&amp;#1740; شدند. مثلا عدم وجود امكانات&amp;#1740; جهت توارث چندگانه (MI) سلسله مراتب&amp;#1740; يك شئ.&lt;BR&gt;&lt;BR&gt;&lt;B&gt;خلاصه&lt;/B&gt;&lt;BR&gt;بدون شك فراگير&amp;#1740; و تسلط بر زبان #C بمنزله كسب يك پتانسيل با ارزش بوده كه ثمرات آن برا&amp;#1740; برنامه نويسان در حال و آينده ا&amp;#1740; نه چندان دور بيشتر هويدا خواهد شد. استاندارد بودن و وجود كتابخانه ا&amp;#1740; مملو از كلاس اين اطمينان را بوجود خواهد آورد كه با فراگير&amp;#1740; زبان فوق و كسب، مهارت ها&amp;#1740; لازم، به يك توانائ&amp;#1740; فرا محيط&amp;#1740; جديد دست پيدا خواهيم كرد كه امكان استفاده از آن بر رو&amp;#1740; محيط ها&amp;#1740; متفاوت وجود خواهد داشت. ويژگ&amp;#1740; ها و قابليت ها&amp;#1740; بيشمار اين زبان از جمله دلايل قانع كننده ديگر&amp;#1740; است كه فراگير&amp;#1740; آن را توجيه پذير و منطق&amp;#1740; م&amp;#1740; كند.&lt;/DIV&gt;&lt;br&gt;&lt;DIV&gt;__________________&lt;BR&gt;&lt;br&gt;&lt;DIV align=right&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;br&gt;&lt;DIV&gt;&lt;br&gt;&lt;HR style=&quot;COLOR: #d1d1e1&quot; SIZE=1&gt;&lt;br&gt;&lt;/DIV&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;br&gt;&lt;TR&gt;&lt;br&gt;&lt;TD style=&quot;BORDER-RIGHT: #d1d1e1 1px solid; BORDER-TOP: #d1d1e1 0px solid; BORDER-LEFT: #d1d1e1 1px solid; BORDER-BOTTOM: #d1d1e1 1px solid&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/TD&gt;&lt;br&gt;&lt;TD style=&quot;BORDER-RIGHT: #d1d1e1 1px solid; BORDER-TOP: #d1d1e1 0px solid; BORDER-LEFT: #d1d1e1 0px solid; BORDER-BOTTOM: #d1d1e1 1px solid&quot; align=left&gt;&lt;A href=&quot;http://forum.p30world.com/newreply.php?do=newreply&amp;amp;p=521005&quot; rel=nofollow&gt;&lt;/A&gt;&amp;nbsp;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;br&gt;&lt;br&gt;&lt;DIV&gt;__________________&lt;BR&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;br&gt;&lt;DIV align=center&gt;&amp;nbsp;&lt;/DIV&gt;&lt;br&gt;&lt;DIV align=center&gt;&amp;nbsp;&lt;/DIV&gt;</description>
<pubDate>Mon, 03 Sep 2007 13:40:00 GMT</pubDate>
<comments>http://irandoosty5.parsiblog.com/Comments/2</comments>
<wfw:commentRss>http://Www.parsiblog.com/RSS.aspx?NID=281294</wfw:commentRss>
 <dc:creator>محمد رحماني</dc:creator>
<guid>http://irandoosty5.ParsiBlog.com/Posts/2/%d8%a2%d9%85%d9%88%d8%b2%d8%b4+%d8%b3%d9%8a+%d8%b4%d8%a7%d8%b1%d9%be/</guid>
</item>

</channel>
</rss>  


