Friday, August 4, 2017

- ما هو الفرق بين لغة السي والسي بلس ؟ what the different between c and c++ language

4:44 AM

Share it Please

- ما هو الفرق بين لغة السي والسي بلس ؟ what the different between c and c++ language



1- ما هو الفرق بين لغة السي والسي بلس ؟

لغة السي ظهرت قبل لغة السي بلس . بالتالي لغة السي بلس هي إمتداد للغة السي .

فكل الامور الموجودة في السي ستجدها في السي بلس لكن العكس غير صحيح .

2- ما هو الفرق بين

Cpp و Borland Cpp .

Cpp و Visual Cpp

CPP و CPP.NET

CPP و ؟؟؟؟؟؟ . ؟

لغة السي بلس هي لغة واحدة .. ولكن الشيء اللي يحول الكود الذي تكتبه إلى تطبيق هو الذي يختلف ..يوجد العديد من المترجمات .. منها مترجمات مايكروسوفت و بورلاند ..وغيرها .

كلها في النهاية تمكنك من تحويل كود السي إلى تطبيق .

أما لغة Cpp.net وتسمى الان بالCLI ,, فهي مختلفة ... ولايلزمك تعلمها .. فهي خاصة ببيئة الدوت نت ..

3 - هل أتعلم السي أو أتعلم السي بلس وهل اذا تعلمت واحدة منهما اكون قد تعلمت الاخرى ؟

نصيحة :

لاتقل : أريد ان اتعلم السي .. ثم اتعلم السي بلس . ومن هذا الكلام .

فالان أغلب الكتب والدروس هي تدمج السي بالسي بلس او لنقل تركز على السي بلس .

لانك اذا تعلمت فقط السي تكون قد قطعت 75% من المشوار .

اما اذا تعلمت السي بلس فانك تكون قد قطعت 100% من المشوار .

( من هنا وصاعدا وفي هذا الموضوع اذا رأيتني اكتب " لغة السي" فاني اعني السي والسي بلس لا افرق بينهما )

4- ماهي حدود لغة السي ( او السي بلس بلس ) ؟

ليس أمامك حدود فكل شيء تستطيع عمله باستخدام هذه اللغة . ( هذا بشكل عام ولا علينا من الامور الدقيقة ) .

فمثلا برامج التصميم كالفوتوشوب والثري دي ماكس . من انتاج هذه اللغة ,

90% من برامج اللينكس هي من انتاج لغة السي .

لاتنسى أيضا برمجة الالعاب .. اللغة الرئيسية لبرمجة الالعاب هي لغة السي بلس

5- أنا تعلمت لغة برمجة اخرى في السابق ( مثل لغة الفيجوال بيسك او لغة الدلفي او الجافا ) .. هل من الممكن أن يفيدني هذا بشيء عندما أتعلم لغة السي ؟

نعم .. اتقانك للغة اخرى يسهل اتقانك للغة السي ..

فلغات البرمجة تشترك في كثير من الامور .. فهي تتكون من متغيرات ومصفوفات ودوال وتراكيب وكائنات ..

لكن يجب عليك أن تكون مستعدا للتأقلم مع لغة السي .. فستجد بعض الاختلافات والفروق .. وتحتاج وقت لاتقانها .

6- ماهي المدة التي أحتاجها لاتقان لغة السي ؟

هذا يعتمد على طريقتك في التعلم .

فاذا كنت يوميا تتعلم هذه اللغة .. فبامكانك تعلمها في مدة لاتزيد عن خمسة أشهر .

7- أريد تعلم هذه اللغة واشتريت ونزلت وقرأت كتب ... وانا متحمس جدا .. لكن أين أكتب الكود ؟ ؟ ألا يوجد برنامج للغة السي يقوم بتحويل الكود الى برنامج ؟

شكر : للاخ AmR EiSa لتعديله على هذا الجواب:

حسنا, أنت تحتاج لشرح بعض المصطلحات :

البرنامج الذي تكتب فيه ( كود لغة السي ) تستطيع أن تكتبه بأي محرر نصوص .. وليكن المفكرة .. ولكن توجد برامج توصف بأنها بيئة تطوير IDE .. والذي يقوم بتحويل الكود الى ملف معين يسمى (COMPILER) الكومبايلر او المترجم او المصرف ...

طبعا لن اتكلم عن linker والامور الاخرى .. هذه ستعرفها انت اذا بدأت في تعلم اللغة .

ببساطة .. وباختصار .. نسمي البرامج اللي تكتب فيها الكود وتحولها الى تطبيق بالمترجم .

أما اذا أردت مزيد من التفصيل .. فنقول :

يوجد عدة مترجمات .. مثلا مترجمات مايكروسوف و أيضا البورلاند .. وايضا GCC وغيرها .

ثم يوجد ما يسمى بالرابط linker .. المترجم والرابط يقومان في النهاية بإنشاء الملف التطبيقي .

وتترجم الكود عن طريق موجه الاوامر ..

ولكن يوجد برامج تحتوي على واجهة . تختصر لنا الطريق وتعتمد على تلك المترجمات .. وتوصف هذه البرامج بأنها IDE ( بيئة تطوير لغة السي ) .

مسألة أخرى وهي أنواع ملفات السي بلس :

ملفات السي كثيرة وتختلف من مترجم الى آخر ..

ولكن أهمها :

ملف إمتداده

.cpp - c

ملف إمتداده

.h او hpp . ( ويسمى الملف الرأسي ( header file )

ويوجد ملف ثالث هو الذي يقوم بتجميع مشروعك .. يعني لنفرض عندك 15 ملف cpp و 15 ملف h من الصعب أن تفتحها كلها يدويا

بالتالي يوجد ملف ثالث يختلف من مترجم لاخر يقوم بتجميع مشروعك من هذه الملفات :

ملف امتداده :

.dsw او dsp وهو من ملفات مترجم الفيجوال سي 6 .

dev وهو من ملفات المترجم dev-cpp . وغيرها ....

نعود مرة أخرى للمترجمات .. الاسئلة والأجوبة التالية ستوضح لك أي مترجم تختار وكيف تعمل عليه .

8- ما أفضل المترجمات ؟

يجب أن تعرف أنه يوجد فرق بين المترجم والمحررات المرئية IDE ..

بعض المترجمات تأتي بمترجم + واجهة للعمل عليه مثل مترجمات مايكروسوفت ,

وهنا مترجمات تأتي بدون واجهة ... ونستعمل برامج أخرى لتسهيل العمل على هذا النوع من المترجمات .. وتسمى تلك البرامج بالIDE .

أما المترجمات فهي :

1- 1- Visual Cpp : وهو عدة اصدارات .. 6 ثم 2003 ثم 2005 ,والان 2008 وكلها من انتاج مايكروسوفت .. يوجد اصدار مجاني لكن لا انصح به لان ينقصه عدد من المكتبات الاضافية , لذلك حاول الحصول على النسخة الكاملة .. المترجم هو أفضل المترجمات حاليا للويندوز. 2- ِC++ builder : ( شكر للاخ B.M.AbdelAziZ على الاضافة) http://www.codegear.com/products/cppbuilder غير مجاني .. ولست متأكد بعد من وجود نسخة مجانية . من يملك معلومات أكبر عنه فليزودني بها أو يعدل على هذا الموضوع 3- Dev-cpp : هو عبارة عن محرر IDE يستخدم المترجم MinGW .. هو كاف لمن يريد تعلم لغة السي بلس وبرمجة تطبيقات الويندوز .. وهو مجاني . 4- CodeBlocks: أيضا هو عبارة عن IDE يعني محرر .. وستخدم مترجمات أخرى .. منها MinGW .. أيضا مجاني ويعمل على الويندوز و لينكس . http://www.codeblocks.org/ 9- أريد تطبيق أول برنامج لي في لغة السي بلس .. باستخدام Visual Cpp 6 .. هل من الممكن المساعدة ؟ اقرأ هذا الدرس . المترجم : visual c++ 6 10- أريد تطبيق أول برنامج لي في لغة السي بلس .. باستخدام Visual Cpp 2005 .. أو Visual Cpp 2008 , هل من الممكن المساعدة ؟ اقرأ هذا الدرس 11- أريد تطبيق أول برنامج لي في لغة السي بلس .. باستخدام Dev-Cpp .. هل من الممكن المساعدة ؟ اقرأ هذا الدرس 12- طفشت من الشاشة السوداء .. هل يمكنني أن أطور برامج مرئية فيها أزرار ورسومات ؟ نعم .. لكن تذكر أن لغة السي بلس تعمل على أكثر من نظام .. لذلك .. في كل نظام يوجد طريقة خاصة لانشاء برامج مرئية .. نذكر منها : 1- Win32 API : هي عبارة عن مجموعة من الدوال والتراكيب التي منها تم بناء نظام الويندوز .. موجودة في ملفات DLLs مثل GDI .. ( التعريف ليس دقيق) . أي شيء تراه في الويندوز أمامك هو نتيجة لدالة من هذه الدوال .. الجافا والسي شارب والاسمبلي .... كلها ومن اجل انشاء برنامج مرئي .. تستخدم الWin32 API بشكل مباشر أو غير مباشر .. ميزة الWin32 API هي أنها الأساس والقاعدة .. لو فهمتها فهمت أصول البرمجة لويندوز , كما يمكن تطوير برامج من خلالها باستخدام Dev-Cpp أو Visual Cpp , ويكفيك تعلم لغة السي فقط لتتعلمها . وعيوبها .. أنها طويلة + خاصة لنظام الويندوز . 2- MFC : مكتبة تقوم بتغليف الWin32 API بطريقة كائنية OOP .. ميزتها أنها أسهل من Win32 API فقط لمن هو وصل لدرجة الاحتراف في السي بلس بلس ..وفهم الOOP, وعيوبها أنها خاصة بالويندوز وخاصة بمترجمات مايكروسوفت Visual Cpp . 3- QT : تعمل على أكثر من نظام .. وعيوبها انها مجانية فقط للمشاريع الغير تجارية + لاتعمل على Visual Cpp انما على المترجمات المجانية الاخرى . ( أنا هنا أتكلم عن النسخة المجانية من qt ) . 4- .. عشرات المكتبات الاخرى ... لايتسع المقام لذكرها .

0 comments :

Post a Comment