آموزش سی شارپ
فرق زبان پروگرام نویسی #C ++C چیست؟
میدونید تفاوت C# ++C چیه؟ اگه میدونید که هیچی اگه نه این مطلب بخونید به احتمال زیاد یه چیزایی دستگیرتون میشه!!!
اولا با C# تنها پروگرام های تحت .NET میشه نوشت (در واقع C# برای .NET درست شده) اما با 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++ قویترین زبان جهان ست.
- ۹۵/۰۳/۰۲