العودة   مجالس قبيلة عنزة > المجالس التقنيه > مجلس عنزة للكمبيوتر والبرامج
مجلس عنزة للكمبيوتر والبرامج لكل مايتعلق بالبرامج وملحقاتها والأنترنت
أهلا وسهلا بك إلى مجالس قبيلة عنزة.
يسعدنا ويشرفنا أن نرحب بكم في شبكة مجالس قبيلة عنزة، إذا كانت هذه زيارتكم الأولى للمجالس ، فيرجى التكرم بزيارة صفحة التعليمـــات، بالضغط هنا. كما يشرفنا أن تقوم بالتسجيل بالضغط هنا إذا رغبت بالمشاركة معنـــا .... وياهلا ومرحباء بالجميع ,,,

إضافة رد
قديم 09-09-2018, 01:32 AM   المشاركة رقم: 1
المعلومات
الكاتب:
ذكريات باقية
اللقب:
عضو مجالس عنزة

البيانات
التسجيل: Jan 2018
العضوية: 34257
المشاركات: 74 [+]
بمعدل : 0.24 يوميا
اخر زياره : [+]
معدل التقييم: 1
نقاط التقييم: 20
ذكريات باقية is on a distinguished road
التوقيت

الإتصالات
الحالة:
ذكريات باقية متصل الآن
وسائل الإتصال:

المنتدى : مجلس عنزة للكمبيوتر والبرامج
افتراضي الفرق بين لغتي 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 هذا يمكن أن يكون مقالاً بحاله .

منقول

hgtvr fdk gyjd c < c++




hgtvr fdk gyjd c < c++ hgtvr fdk gyjd c < c++












عرض البوم صور ذكريات باقية   رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

جديد منتدى مجلس عنزة للكمبيوتر والبرامج



الذين يشاهدون محتوى الموضوع الآن : 1 ( الأعضاء 0 والزوار 1)
 
أدوات الموضوع
انواع عرض الموضوع

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

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

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

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
ويتساءل لم لا أعبد الذي فطرني..!! الفطرة الراشدة مجلس الشريعة الأسلامية 4 17-11-2015 11:38 PM
الفرق في تناول البطيخ بين العرب والغرب مارايكم مهندال سعيد مجلس ترفيهي , العاب , مسابقات 2 15-01-2013 12:10 AM
اخبار نادي القرن ليوم الثلاثاء 14/6/1432هـ من الصحف سليمان الجعفري مجلس عنزة الرياضي 18 15-08-2011 03:58 PM
س/ ما الفرق بين النجوم والكواكب من حيثُ الشكل ؟ مجموعة آل سهيل مجلس عنزة العام 3 24-01-2011 08:44 AM
الفرق بين https:// و http:// نور عيني مجلس عنزة للكمبيوتر والبرامج 3 20-03-2010 04:31 PM


الساعة الآن 08:04 PM.

Powered by vBulletin Version 3.8.7
Copyright 2018 vBulletin Solutions, Inc. All rights reserved.
(( جميع الحقوق محفوظة لـ شبكة مجالس قبيلة عنزة))