مرحبا بك فى ملتقى طلاب وطالبات جامعه الامام عبدالرحمن بن فيصل


انت الان تتصفح ملتقى طلاب وطالبات جامعه الامام عبدالرحمن بن فيصل

العودة   ملتقى طلاب وطالبات جامعه الامام عبدالرحمن بن الفيصل multqa-ud.com > الاقسام الإلكترونية > منتدى الكمبيوتر والبرامج


الفرق بين لغتي c , c++


الفرق بين لغتي c , c++

لغة C هي لغة تصنف كـ لغه متوسطة المستوى وفي بعض الاحيان متدنية المستوى لانها قريبا جدا من المعالج و الذاكره و سريعه جداً وهذه احد مميزات اللغات متدنية المستوى

إضافة رد
 
أدوات الموضوع انواع عرض الموضوع
قديم 09-09-2018   #1
ذكريات باقية
عضو


الصورة الرمزية ذكريات باقية
ذكريات باقية غير متواجد حالياً

بيانات اضافيه [ + ]
 رقم العضوية : 5116
 تاريخ التسجيل :  Jan 2018
 أخر زيارة : 09-09-2018 (12:54)
 المشاركات : 2 [ + ]
 التقييم :  11
Post Thanks / Like
شكرا (اعطاء): 0
شكرا (تلقي): 0
أعجبنى (اعطاء): 0
أعجبنى (تلقي): 1
لم يعجبنى (اعطاء): 0
لم يعجبنى (تلقي): 0
افتراضي الفرق بين لغتي c , c++



لغة C هي لغة تصنف كـ لغه متوسطة المستوى وفي بعض الاحيان متدنية المستوى لانها قريبا جدا من المعالج و الذاكره و سريعه جداً وهذه احد مميزات اللغات متدنية المستوى عن اللغات عالية المستوى , صممت لغة C في الاصل لتستخدم للتطوير والعمل على نظام يونكس , سميت بلغة C لان جزئاً كبيراً منها مقتبس من لغة B و ظهرت لغة C في اوائل السبعينيات على يد كل من كن تومسون , برايان كرنيغان و دينيس ريتشي.

لغة C ++ بدأ تطويرها كـ لغة من لغة C على يد بيارن ستروستروب في 1979 اي بعد ظهور لغة C ب حوالي 9 اعوام وسميت ب C++ من باب الدعاية لكي تكون هي الجزء الثاني من لغة C , لاقت لغة C++ شيوعاً كبيراً و استخدمت في بناء انظمة التشغيل و التعامل مع البنية الصلبة للحاسوب (المكونات الماديه).

بعد ان قرأت نبذه عن كل من اللغتين دعونا ندخل في لب الموضوع

هناك العديد من اللغات بنية من لغة C او يعتبرها البعض قريباً جداً منها مثل C++ , C# ,JAVA وغيرها .

ان الفرق بين لغة C و لغة C++ بحسب نظري

اولاً : في الحجز الديناميكي , في لغة C نستخدم الدوال malloc and free , اما في C++ نستخدم new and delete .

ثانياً : في تعريف المتغيرات , في C كنا نعرف المتغيرات في بداية البرنامج , اما في

C++ نقوم بتعريف المتغيرات متى مااحتجنا لها في اي مكان بالبرنامج .

ثالثاً : عند التصريح عن المتغيرات من نوع struct او enum , كنا نعيد كتابة الكلمة فيC قبل تعريف المتغيرات
مثل
struct STRUCT_NAME a,b;


أما فى ال++C نكتفي ب
STRUCT_NAME a,b;

رابعاً : اوامر الادخال والاخراج ,في C printf & scanf في C++ cout & cin
خامساً : دوال التعامل مع الملفات
سادساً : سطور التعليقات في C كنا نستخدم \**\ اما في C++ فنستخدم \\



سابعاً : لغة C++ اسهل من حيث الاوامر مثل اوامر الحجز الديناميكي مثلا في C type *ptr = (type)malloc(sizeof(type)); لاكن في C ++ type *ptr =new type;


ثامناً: وهو بنظري اهم فرق بين اللغتي ال Classes

إضافة لذلك, فاللغتان لغتان مختلفتان, و الشبه بينهما يرجع لأسباب تاريخية, و السبب الرئيسي هو تأثر لغة ++C بلغة C, كما تأثرت عشرات اللغات المستخدمة حالياً في عالم البرمجة و التطوير, لكن ما يميز لغة ++C هو أنها لم تكتفي باتباع نهج لغة C في الـ Syntax و لكنها أكملت مسيرة و مفهوم لغة C, هناك فروق عديدة, فمن ناحية لغة ++C تعتبر ذات أنواع قوية يتم التحقق من العمليات فيما بينها وقت الترجمة كمعظم اللغات الأخرى كـ Java بينما لغة C هي لغة حرة, أي أنها تسمح بكل شيء, و ما يكتبه المبرمج هو ما يحصل بعبارة أخرى, إضافة إلى ذلك, فإن لغة C هي لغة Procedural أو لغة إجرائية, و هذا النوع هو السهل الممتنع في عالم البرمجة, بينما لغة ++C لا تتبع منهجاً معيناً و لكنها توفر للمبرمج أدوات عدة مناهج يمكن اتباعها, فمثلاً يمكنك اتباع طريقة الـ C و هذا ما يحصل مع المبرمجين الجدد في العادة, إضافة إلى ذلك فإنها توفر البرمجة الكائنية, و الـ Generic Programming و كل منهج له أدواته و عدته في ++C و اختر ما يحلو لك, لغة ++C ليست لغة كائنية المنحى OOP و لكنها توفر امكانية تطبيق هذا المنهج,
إضافة إلى ذلك و هو الأهم, ما الهدف الذي أنشأت لأجله اللغتان ؟


مثلاً لغة Java هي لغة موجهة في الغالب للـ Portable Applications و لذلك تشتهر في عالم الشبكات و تطبيقات هواتف الاندريد كما أعتقد,
لغة C تعتبر لغة برمجة عامة جداً أي أنها ليست موجهة نحو تطبيق معين في عالم البرمجة و لكنها لغة Very General و في منتصف الطريق بين اللغات عالية المستوى و اللغات منخفضة المستوى,
لغة ++C ليست عامة جداً كما هو الحال في لغة C, و لكنا صممت لحل مدى واسع من المسائل البرمجية, بالطبع هناك غمار لا تخوضها ++C و تستخدم C في برمجتها في الغالب,

فالفرق في كيفية حجز الذاكرة بين اللغتين يمكن أن يوضح هذا المفهوم, في C ليس هناك في اللغة نفسها ما لا يمكن تطبيقه دون وجود مكتبات أو وظائف عالية المستوى, أي أن ما تحتاجه لتشغيل برامج لغة C هو معالج و ذاكرة فقط و بالنسبة لـ ++C فيمكن تطبيق هذا الأمر إذا لم نستخدم بعض الطرق التي توفرها اللغة في لبها, أن ننتج برنامجاً يعمل كما تعمل برامج لغة C, و مثال ذلك هو الاستغناء عن طريقة حجز الذاكرة في ++C الذي يعتبر من أصل اللغة و لكنه يعتمد على مكتبات خارجية.

ومثل ما تكلمت في اول التدوينة , لغة C بطبعها لغة متوسطة المستوى (أو فى بعض الاحيان تصنف لغة منخفضة المستوي ), و بالتالي فهي قريبة من المعالج و الذاكرة و سريعة جداً,
و لكن في لغة ++C زيادة الأداء يكون بطرق أكثر أماناً و تعطي تلك الطرق كفاءة تفوق كفاءة C في أحيان عدة,


كـ Inlining و الـ MetaProgramming و الـ Templates و اللذان يعتبران أدوات الـ Generic Programming في لغة ++C,
لن يسعني طبعا الحديث عن هذه الميزات كلها , أعتقد أن Google كفيل بذلك,

عموماً الناحية الوحيدة, التي ينتقدها مناصرو C هي الكائنات في لغة ++C, بالطبع لا تنسى أن برامج عملاقة كتبت بـ ++C كـ Office و غيره, و باستخدام البرمجة الكائنية على ما أعتقد.
الآن لماذا يحدث هذا البطئ المنشود عند استخدام OOP في لغة ++C هذا يمكن أن يكون مقالاً بحاله*


 
التعديل الأخير تم بواسطة EMILLY ; 09-09-2018 الساعة 03:01

رد مع اقتباس
إضافة رد

الكلمات الدلالية (Tags)
أغبى, c++, الفرق, بين

أدوات الموضوع
انواع عرض الموضوع

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML متاحة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
[ دعوة ]: ترقبوا نشاط يوم الأربعاء باذن الله .. "لغتي هويتي" rola كلية التربية - الجبيل 0 28-02-2017 08:55
يهود يصلون على أنغام أغنية لعبد الحليم حافظ! ELEGANT الاخبار المتفرقة 1 14-07-2016 22:15
نظرة من داخل معبد الفئران بالهند... قرية تعبد 20 ألف فأر ELEGANT الاخبار المتفرقة 0 03-07-2016 18:21
مصرع أكثر من 100 شخص بحريق معبد في الهند واصابة 350 اخرين (فيديو) ELEGANT الاخبار المتفرقة 0 10-04-2016 11:45
أغبى 6 أشياء نفعلها باستخدام الجوالات وهذه طريقة علاجها! ELEGANT منتدى الطفل - الحياة الزوجية - الاسرة - المجتمع 0 05-11-2015 17:25

ملتقى طلاب وطالبات جامعة الامام عبدالرحمن بن فيصل  multqa-ud.com


الساعة الآن 03:13


Powered by vBulletin® Copyright ©2000 - 2019, Jelsoft Enterprises Ltd. TranZ By Almuhajir
adv helm by : llssll
HêĽм √ 3.1 BY: ! ωαнαм ! © 2010
لا يتحمّل الملتقى وإداراته أيّة مسؤوليّة عن المواد والمواضيع والمشاركات الّتي يتم عرضها أو نشرها في موقعنا ويتحمل المستخدمون بالتالي كامل المسؤولية عن كتاباتهم وإدراجاتهم التي تخالف القوانين أو تنتهك حقوق الملكيّة أو حقوق الآخرين أو أي طرف آخر وجميع الحقوق من برمجيات وخلافه حقوق خاصة لايسمح المساس بها وملتزمون بحذف اي مادة بها انتهاك للحقوق الملكية والفكرية بشرط اثبات ذلك من مالك المادة
This Forum used Arshfny Mod by islam servant

الاشتراك بالقائمة البريدية

اشترك بالقائمة البريدية ليصلك جديد المنتدى