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 نوشت.
، اما با 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 نوشت.