PDA

توجه ! این یک نسخه آرشیو شده می باشد و در این حالت شما عکسی را مشاهده نمی کنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : تفاوت هاي اصلي ++c با ‎ c#‎



TAHA
09-30-2009, 07:44 AM
1- با C#‎ فقط برنامه های تحت .NET میشه نوشت (در واقع C#‎ برای .NET درست شده)
، اما با C++‎ هم برنامه های تحت .NET (managed) و هم برنامه های native میشه نوشت.
2-هنوز برای کارهای سطح پایین (مثل Device Driver) و سنگین (مثل بازی های سه بعدی)
C++‎ انتخاب اول و آخر محسوب میشه.
3- 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++‎ استفاده می کنن (WrapperClasses )
در کل C#‎ ، سطح بالاتر(High Level ) از C++‎ است ؛ در C++‎ حتی میتونید مستقیما از
کد اسمبلی استفاده کنید.
در ضمن C#‎ اولین زبان Component Oriented در خانوادۀ C محسوب میشه.

خیلی تفاوتها و شباهتهای دیگری هم هست که در صورت پرداختن به اونا بحث خیلی
تخصصی میشه ، فقط در یه جمله بگم :

بزرگترین شباهت این دو زبان اینه که هر دو جزو خانوادۀ C هستن .

و

بزرگترین تفاوت اینکه : C#‎ یک زبان type-safe هست (بر خلاف C++‎ ) و فقط باهاش میشه برنامه های تحت .NET نوشت.