aStateOfCode
تفاوت برنامه نويسي #C و ++C چيست؟
تفاوت برنامه نويسي #C و ++C چيست؟

توضیحاتی که در این مقاله می دهم ساده و فراگیره امیدوارم خوشتون بیاد 🙂

با C# فقط برنامه هاي تحت .NET ميشه نوشت (در واقع یه زمانی اینجوری بود، حالا dotNetCore آمده و با  C# میشه برای هر پلتفرمی چیزی کد زد !) و با C++ هم برنامه هاي تحت (NET (managed و هم برنامه هاي native ميشه نوشت.

هنوز براي کارهاي سطح پايين (مثل Device Driver) و سنگين (مثل بازي هاي سه بعدي) C++ انتخاب اول و آخر محسوب ميشه.

C# خيلي راحتتر ، تميزتر و خوش ساخت تر از C++ طراحي شده و از نظر شي گرايي هم پشتيباني بهتري داره نسبت به C++ داره ولی در عوض C# کاملا شي گراست و اصلا نميتونيد برنامه غير شي گرا در اون بنويسيد ، در صورتي که با C++ ميتونين هم شي گرا و هم غير شي گرا ، برنامه بنويسيد.

از ويژگي هاي C# :

1- مديريت خودکار حافظه توسط CLR

2- پشتيباني از يک نوع String داخلي

3- پشتيباني از foreach

4- پشتيباني کامل از delegate و event و interface و Property و attribute ها

5 – XML Documentation

6 – checked / unchecked keywords

و …

در C# براي انجام تمام کارها از کلاس هاي .NET استفاده ميشه ، در ضمن در C# چيزي به نام فايلهاي Header و #include و از اين حرفا نداريم. در واقع C# خيلي زيباتر از C++ طراحي شده ، چون به هر حال در طراحي C# از زبانهايي مثل C++ و JAVA و Delphi درس گرفته شده و اشتباهات اون زبانها در C# تکرار نشده ؛ به عنوان مثال در ++C به تعداد انگشتان دست ، نوع داده String داريم. يا Multiple Inheritance که خيلي دردسر سازه ، يا مثلا در JAVA ، enum ها و Operator Overloading و Pointer و Property ها که همگي جزو ضروريات محسوب ميشن ، وجود ندارن. البته کساني که ميخوان کار سنگين يا سطح پايين در .NET انجام بدن ، معمولا همه قسمتهايي رو که امکانش هست با C# مي نويسن و بقيه رو با C++ ؛ و در C# از کلاسهاي نوشته شده در C++ استفاده مي کنن . (Wrapper Classes ) در کل C# ، سطح بالاتر(High Level ) ازC++ است ؛ در C++ حتي ميتونيد مستقيما از کد اسمبلي استفاده کنيد.

در ضمن C# اولين زبان Component Oriented در خانواده C محسوب ميشه.

خيلي تفاوتها و شباهتهاي ديگري هم هست که در صورت پرداختن به اونا بحث خيلي تخصصي ميشه ، فقط در يه جمله بگم : بزرگترين شباهت اين دو زبان اينه که هر دو جزو خانواده C هستن . و بزرگترين تفاوت اينکه : C# يک زبان type-safe هست (بر خلاف ++C ) و فقط باهاش ميشه برنامه هاي تحت .NET نوشت.

البته قصدم از اين مطالب اثبات برتري C# به C++ نبود ، چون به هر حال براي برنامه هاي تحت #NET ، C بهترين گزينه است و در جاهاي ديگه هنوز هم C++ قويترين زبان دنياست.

خونه      c0de      تفاوت برنامه نويسي #C و ++C چيست؟

پاسخی بگذارید

textsms
account_circle
email

aStateOfCode

تفاوت برنامه نويسي #C و ++C چيست؟
با #C فقط برنامه هاي تحت .NET ميشه نوشت (در واقع #C براي .NET درست شده) ، اما با ++C هم برنامه هاي تحت (NET (managed و هم برنامه هاي native ميشه نوشت. هنوز براي کارهاي سطح پايين (مثل Device Driver) و سنگين (مثل بازي هاي سه بعدي) ++C انتخاب اول و آخر محسوب ميشه.
扫描二维码继续阅读
2019-09-09