ألطريق إلى C++

الكاتب : 3laa3sam   المشاهدات : 1,008   الردود : 7    ‏2004-05-08
      مشاركة رقم : 1    ‏2004-05-08
  1. 3laa3sam

    3laa3sam عضو فعّال

    التسجيل :
    ‏2003-06-21
    المشاركات:
    619
    الإعجاب :
    0
    بسم الله الرحمن الرحيم

    مرحباً ... اليوم قررت ان اتحدث عن لغه (عجوز) طبعاً هذا الاسم انا إبتدعته لها ، مارئيكم !!!؟. بدايه الموضوع ليس بجديد إذ هوا قديم وازلي في بعض الاوقات ....!!!!؟

    أخي العزيز (رشيد) كان قد طلب من فتره ليست بقليله بعض المعلومات عن لغه السي بلاس بلاس (C++) فأنا توقعت أن بضخ كم هائل من المعلومات له إلا لاسباب دعوني أقول (مجهوله) لم يتم الرد على سؤاله ...!!!، طبعاً أنا لاقول بانيي ذلك الفتى المغوار الذي سيتكلم بإسهاب شديد للغايه عن هذه اللغه لسبب انني لست على علاقه وطيده بها إذ الموضوع أشبه (بالفرض) ليس إلا !!!!....لذا أرجوا أن لاتتوقع مني الكثير والكثير .

    دعوني وقبل ان أبدء بالحديث عن هذه اللغه، دعوني اتحدث عن بعض الامور فيها ...في اول محاضره لهذه اللغه في الجامعه مازلت أحمل تلك الذكريات الجميله الاليمه بل المرهقه على ذاكرتي في بعض الاوقات كانت المقدمه على هذه اللغه العجوز بسيطه حاول فيها الاستاذ المختص ان يجنبنا الدخول بعالم المتاهات .

    طبعاً... كلنا يعرف بان لغه التجميع هي اللغه الام بل هنالك بعض اللغات من هيا أقدم وادنى مستوى منها (الستعشريه والثنائيه) لكن لكي لانتوه بهما دعونا فقط نتلكم عن الاسمبلي... كما قيل لنا انذاك ان لغه التجميع هي الاساس التي أنبثق منه فيما بعد لغه (B) !!، مهلاً لاتحاول ان تستبق الامور فكما قيل لنا ايضاً من ان لغه ال(B) هي اللغه التي طورت فيما بعد ليطلق عليها (C) وهكذا إلى ان وصلت (VC++.NET) ....

    إن لغه ال(C) كانت اللغه التي إستخدمت لبناء نظام التشغيل طبعاً بمساعده من لغه التجميع إلا ان لغه (C) ظهرت هناك حاجات ملحه لتطويرها وإضافه مكتبات خاصه بها لتتلائم مع التغييرات التي حصلت فيما بعد ليتم ظهورها بعد إذن بلغه (C++) ....

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

    اعتقد ان هذا ما اردت ان أقوله لهذا اليوم اعتقد انني سوف اقوم بمتابعه الموضوع بوقت أخر ...لكي أبدء ببدايات هذه اللغه العجوز ... إلى أن اعود في امان الله.
     
  2.   مشاركة رقم : 2    ‏2004-05-09
  3. فايع

    فايع عضو متميّز

    التسجيل :
    ‏2002-10-13
    المشاركات:
    1,451
    الإعجاب :
    0
    مشكور جداً أخي العزيز على النبذة التعريفية عن اللغة العجوز :D
    ونتمنى ان تواصل في طرح دروس للمبتدئين أمثالنا حتى يتسنى لنا تعلم هذه اللغة القوية وبعدها نستطيع تطوير انفسنا .

    مشكور مرة اخرى وبانتظار اولى دروس الـ (++C)
    :)
     
  4.   مشاركة رقم : 3    ‏2004-05-09
  5. alhammady

    alhammady عضو

    التسجيل :
    ‏2003-07-09
    المشاركات:
    119
    الإعجاب :
    0
    thank's 4 u
     
  6.   مشاركة رقم : 4    ‏2004-05-11
  7. نجيب المجيدي

    نجيب المجيدي عضو فعّال

    التسجيل :
    ‏2003-12-08
    المشاركات:
    527
    الإعجاب :
    0
    بسم الله الرحمن الرحيم

    السلام عليكم

    بصراحة أنا أنجذب بشدة لهكذا مواضيع , ولذا أود أن أبدأ المداخلة بطلب للمبدع الرائع الأستاذ علاء بأن يستمر بالكتابة في هذا الموضوع ,,,



    طبعاً لغة كلغة c++ غنية عن التعريف فهي باختصار (أم اللغات) و المبرمج الذي لا يجيدها يعتبر poor programming (معليش لو اتحاملت شوي على مبرمجي vb و java ) عموماً أنا من هؤلاء ولذلك فقد قررت أن ألحق نفسي وابدأ بتعلمها بجدية طبعاً أنا لا أعني بتعلمها أن أتعلم جمل الشرط و الدوران و البرنامج الذي يرسم مثلث بالنجوم و الذي يطبع الأرقام الفردية أو الزوجية ألخ ... من هذا الكلام الذي عفا عليه الزمن ....
    .



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




    حسنا دعوني أقول لكم سراً :








    ولكن لا تخبروا أحداً







    هذا وعد





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





    هاي ... يبدوا أنني أطلت في الكلام عموماً ما رأيكم أن نبدأ بتعلم أساسيات اللغة وهذا أستطيع الإفادة به إن شاء الله ومن ثم بالتأكيد سنجد من يساعدنا لتعلم واحتراف اللغة أعني c++ طبعاً


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




    تحياتي ...
     
  8.   مشاركة رقم : 5    ‏2004-05-11
  9. 3laa3sam

    3laa3sam عضو فعّال

    التسجيل :
    ‏2003-06-21
    المشاركات:
    619
    الإعجاب :
    0
    إلى القريب...وإستمر استاذ نجيب المجيدي

    بسم الله الرحمن الرحيم

    أخي العزيز نجيب المجيدي مداخله أنا أعتز بها شخصياً...الموضوع طويل للغايه بالحديث عن الفوارق لكن أنا سوف أحاول وبقدر الامكان الدخول ببيانات اللغه ومن ثم الدخول بشرايينها والتي أعني بها الادوات البرمجيه على ان نتحدث بالموضوع من ناحيه الجواب الاخرى بوقت أخر.....

    لي عوده....



    في امان الله.....
     
  10.   مشاركة رقم : 6    ‏2004-05-15
  11. 3laa3sam

    3laa3sam عضو فعّال

    التسجيل :
    ‏2003-06-21
    المشاركات:
    619
    الإعجاب :
    0
    اليوم الاول

    بسم الله الرحمن الرحيم

    بعدما تكلمت عن المقدمه البسيطه للغايه عن هذه اللغه العجوز دعوني أستمر معكم بالحديث لبعض الوقت ولندخل مباشره بالدرس الاول .

    كي نبدء البدايات التي يمشي عليها معظم دور النشر أحببت ان أبتدء بكتابه البرنامج الشهر (Hello world) دعونا أولاً نكتب البرنامج التالي بلغه C++ .
    #include <iostream.h>

    //This is comment in C++

    void main ()
    {
    cout <<”Hello World””;
    }

    كما ترى هذا هوا البرنامج الاول بلغه C++ وهوا كود بسيط جداً حيث لايقوم بأي عمل بإستثناء رساله (Hello world) المرحه فقط .
    لو تمعنا النظر بالكود الاول للبرنامج والذي يتمثل ب(#include <iosream.h>) سنجد التالي ... من المهم ان تعرف ان أي برنامج في هذه اللغه العجوز يجب وان يبدء بالبادئه التاليه (#include) لكن دعوني أشرح الموضوع بصوره اعمق ...!!!

    في الوقع ... تقسيم برنامج مكتوب بلغه C++ العجوز يفتح لنا الطريق للدخول إلى كيفيه عمليه المعالجه من قبل الكومبايلر ...مفهوم !!!؟
    إن كتابه الصيغه (#include <iostream.h>)تسمى (بالمعالجه الاوليه) إذ من المفيد ان تعرف انه وقبل ان يقوم الكومبايلر بعمليه ترجمه البرنامج إلى برنامج تنفيذي او ملف تنفيذي لكي نكون اكثر دقه بالحديث يجب عليه أن يجد العباره السابقه في اول البرنامج وإلا لن تتم عمليه الترجمه على أكمل وجه وسنصاب بالاحباط الشديد لعدم تمكننا من كتابه هذا البرنامج اسهل او أي برنامج أخر... بالمثل يقوم الكومبايلر الخاص بلغه C++ وقبل ان يقوم بعمليه الترجمه بتفحص كود البرنامج فإن وجد العباره السابقه تمكن من مواصله عمليه فحصه للبرنامج . الحقيقه أحبتي عن عمل الكومبايلر عمل مرهق وشاق في معظم الوقت إذ يتطلب منه ان يقوم اولاً بفحص الاشاره (#) ومن ثم الكلمه (include) فإن وجدها يقوم مباشره للبحث عن ملف النظام او الهيدر المعني بلغه C++ وهوا هنا بالبرنامج مثلناه بالملف (iostream.h) الغرض من وضع العباره (<>) او الاشاره السابقه حولين الملف الرئسي هيا بشكل مختصر لفت إنتباه الكومبايلر ليقوم بعمليه البحث في المجلد الرئيسي للبرنامج للغه البرمجه C++ والذي هوا (Include Directory) فلو الملف الرئسي كان حوليه الاشاره التاليه كالمثال التالي (# include ”myfile.h”) فسيقوم الكومبايلر بالقيام بعمليه البحث في الجلد (Include Directory) كما أشرت سابقاً ....

    إن الملف الرئسي (iostream.h) يحتوي على جميع العمليات الرئيسيه التي يحتاجها البرنامج من عمليات الدخل والخرج (Input & Output stuff) فإذا لم نقم بعمليه الاشاره له في بدايه البرنامج هذا كفيل كي يجعل البرنامج لايسير بالصوره التي لطالما أردناها ...وأعتقد اننا نريده أي يعمل بالشكل المطلوب لذا عليك التقيد بمتطلبات هذه اللغه العجوز .
    ملاحظه بسيطه... جميع البرامج يجب أن تبدا بالصيغه التاليه (# include <iostream.h>) ، لذا وجب التنبيه . حسناً فيما يتعلق بالسطر الاخر وهوا (//This is comment in C++) فهوا عباره عن تعليق واعتقد ان المبرمجين الذين لهم تجاربهم ببعض لغات البرمجه الاخرى يعون جيداً اهميه التعليقات فالتعليقات مهمه للغايه فمن فوائدها ان التعليقات تستخدم لتوضيح فقره ما برمجيه او تستخدم التعليقات لوضعها على فقره كود كي نتذكر فيما بعد عمل الكود لو أردنا الرجوع إليه مره أخرى...ألا تتفق معي بأهميه التلعيقات !!!

    الحقيقه... لكل لغه برمجه (خصائصها الخاصه) وهذا هوا المهم ان نعرفه!!!، لكل لغه برمجه (خصائصها) التي ربما قد تتشابه مع بعض لغات البرمجه الاخرى لكن قد تختلف مع بعض لغات البرمجه الاخرى في بعض الامور منها على سبيل المثال (طريقه المعالجه ، حساسيه كتابه الكود، البادئه والنهايه......وغيرها ) من هنا أجدها مناسبه كي أقول ام من خصائص لغه البرمجه العجوز هي (مراعاه قواعد كتابه الكود) فهناك إختلاف كبير بين كتابه الكود بالاحرف الكبيره او الصغيره لذا يجب ان نعي جيداً هذه النقطه وكتابه البرنامج بلغه العجوز يتطلب منك ان يكون مكتوباً بالاحرف الصغيره.....تذكر ذلك .

    اعود واقول ... إن كتابه التعليق مهم للغايه في عالم لغات البرمجه إذ يمكنك تقسيم عمليع كتابه الكود في اللغه العجوز إلى طريقتين إثنتين، الاولى (تعليق لسطر واحد فقط) والاخرى (لفقره كامله)... حسناَ سوف أقوم بالتوضيح ، أقرب مثال يمكننا الاستعانه به هوا (//This is comment in C++) إن التعليق السابق يستخدم للتعليق عن سطر واحد فقط بينما يمكننا إستخدام الصيغه التاليه :
    /* this is also an Example of a
    two line comment in C++ */

    بص !!!...مهلاً اعني أرئيت !!!، يبدو وان حمى الكلام بالكنه المصريه مازلت اعاني منها J ، المهم الكود السابق هوا صوره لكيفيه كتابه الكود لفقره وأعتقد انني قد وضحت ذلك عن طريق تعليقي باللغه الانجليزيه. إذن لنتفق الان ان لدينا طريقتين لعمل التعليق أحدها (//) وهي لكتابه تعليق لسطر برمجي واحد والاخرى بال(/* and */) وهي للتعليق عن فقره كامله .....
    نأتي بعدها بنجد (void main ())... من المهم ان تعلم ان العباره (Void) مهمه جداً لبدايه برنامج بلغه C++ العجوز ، كما يجب ان تعلم ان الفانكشن (main ()) مهم أيضاً بالمقابل .
    لا تقلق الان.. سوف أتكلم أكثر لاحقاً عن الفانكشن (main ()) فيما بعد ، اما فيما يتعلق بالرموز ({ and }) فتلك ضروريه فهي تعني بدايه جسم برنامج وإنتهاء جسم البرنامج حالها حال لغه التربو باسكال تماماً ففي التربو باسكال لدينا العبراه (Begin..End) كما أشرت سابقاً خصائص اللغات !!!
    #include <iostream.h>

    //This is comment in C++

    void main ()
    { //بدايه جسم البرنامج
    cout <<”Hello World””;
    } //نهايه جسم البرنامج


    اما فعن داله الاخراج cout فهي الداله المعنيه لاخراج مايتم عمله او النتائج إلى شاشه الكمبيوتر ....أممم اعتقد انني اتحدث بسرعه كبيره جداً أرجوا ان تعذروني لكن هذا هوا لهذا اليوم لي عوده عن شاء الله أكمل بها حديثي في الوقت المناسب....في امان الله .
     
  12.   مشاركة رقم : 7    ‏2004-05-15
  13. 3laa3sam

    3laa3sam عضو فعّال

    التسجيل :
    ‏2003-06-21
    المشاركات:
    619
    الإعجاب :
    0
    يامحقق كونان أرجو أن تقوم بتنسيق الكود....:(
     
  14.   مشاركة رقم : 8    ‏2004-05-16
  15. نجيب المجيدي

    نجيب المجيدي عضو فعّال

    التسجيل :
    ‏2003-12-08
    المشاركات:
    527
    الإعجاب :
    0
    عمل رائع يا علاء ,

    وين مشاركات الأعضاء متقولوا فاهمين ولا لأ ؟
    فين الاستفسارات و التعليقات ؟؟؟
     

مشاركة هذه الصفحة