سی شارپ(#C) چیست و تفاوت آن با سی پلاس پلاس(++C)
سی شارپ (C#) یک زبان برنامه نویسی شی گرا است که توسط شرکت مایکروسافت ساخته شده و ترکیبی از قابلیتهای خوب C++ و Java است.اگر با این دو زبان آشنایی دارید این شانس را دارید زبان سی شارپ را راحت یاد بگیرید. این زبان به قدری راحت است که هم کسانی که قبلا برنامه نویسی نکرده اند و هم دانش آموزان می توانند راحت آن را یاد بگیرند. از سی شارپ می توان برای ساخت برنامه های تحت ویندوز ،تحت وب ،وب سرویس ها ،برنامه های موبایل و بازی ها استفاده کرد. می توان به جای واژه ویژوال سی شارپ از کلمه سی شارپ استفاده کرد اما ویژوال سی شارپ به معنای استفاده همزمان از سی شارپ و محیط گرافیکی ویژوال استودیو می باشد.این زبان برنامه نویسی تنها زبانی است که مخصوصا برای دات نت فریم ورک طراحی شده است. سی شارپ از کتابخانه کلاس دات نت که شامل مجموعه بزرگی از اجزا از قبل ساخته شده است، استفاده می کند.این اجزا به ساخت هر چه سریعتر برنامه ها کمک می کنند.سی شارپ یک برنامه بسیار قدرتمند و شی گرا است و با آن می توان برنامه هایی با قابلیت مدیریت بیشتر و درک آسان ایجاد کرد. ساختار این زبان نسبت به زبانهای دیگر بسیار آسان و قابل فهم است.
برای اجرای یک برنامه سی شارپ ابتدا باید دات نت فریم ورک نصب شود. سی شارپ یکی از زبانهایی است که از تکنولوژی های دیگر دات نت مانند ASP.NET, Silverlight و XNA پشتیبانی میکند. همچنین یک محیط توسعه یکپارچه دارد که آن نیز به نوبه خود دارای ابزارهای مفیدی است که به شما در کدنویسی در سی شارپ کمک می کند. این زبان به طور دائم توسط مایکروسافت به روز شده و ویژگیهای جدیدی به آن اضافه می شود. سی شارپ یکی از بهترین زبانهای برنامه نویسی دات نت است.
تفاوت زبان برنامه نويسي #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++ قویترین زبان دنیاست.
لام برای شروع برنامه نویسی کسی که هیچچچچچی نمیدونه معنی اصطلاحات مثل پلاگین و … نمیدونه از زبان سی شارپ شروع کنه یا پایتون؟
یا چیز دیگه