آموزش C#
فرق زبان برنامـه نویسی #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++ قویترین زبان جهان ست.
- ۹۵/۰۳/۰۲