تفاوت زبان ++C با سایر زبان ها

در چارت وزارت علوم مقطع کارشناسی رشته مهندسی کامپیوتر دو درس به اسم “مبانی برنامه نویسی” و “برنامه نویسی پیشرفته” ارائه می‌شود. معمولاً اساتید در درس مبانی برنامه نویسی به آموزش C و در درس برنامه نویسی پیشرفته به آموزش برنامه نویسی c++ می‌پردازند. بنابراین یادگیری زبان برنامه نویسی c و c++  از واجبات رشته مهندسی کامپیوتر است. این زبان‌ها پایه‌های اولیه ساختن برج‌های برنامه‌های کاربردی شما به حساب می‌آید.

در این مقاله ما قصد داریم به تفاوت زبان برنامه نویسی c++ و سایر زبان های برنامه نویسی بپردازیم.

 

فرق بين سي C با ++C چيست؟


زبان C زبان برنامه نویسی Structured (ساخت یافته) است اما ++‍C زبان برنامه نویسی Object Oriented ( شی ء گرا ) می باشد.

از لحاظ دستوری فرق زیادی با هم ندارند، اماتفاوت عمده این است که ++C از شی گرایی پشتیبانی می کند که سی C این قابلیت رو ندارد…
امروزه دیگر بدون شی گرایی اصلا نمي توان نرم افزار های بزرگ نوشت.
اکثر زبان های برنامه نویسی رایج و قوی الان شیگرا هستند.

 

فرق بين سي شارپ #C با ++C چيست؟


1- با C#‎ فقط برنامه های تحت .NET میشه نوشت (در واقع C#‎ برای .NET درست شده) ، اما با C++‎ هم برنامه های تحت .داتNET و هم برنامه های 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 بیشتر بدانید مقاله زبان برنامه نویسی ++C را مطالعه کنید.