في الوحدة الأولى
"انطلق مع السي بلس بلس" تناولت فيهـا أساسـيات هـذه اللغــة وقد عزمت فيها ألا تكون نظريــة لدرجــة مملــة ، كمـا هــو حـال أغلـب الكتـب ، وهـذه الوحدة تبدأ فوراً بكـود بسـيط للغايـة ثـم يـتم شرحــه فيمـا بعــد ، وعلـى الأقـل فهـذه طريقـة أبجد هـوز لتعلم اللغة العربية والتي استخدمها العرب القـدامى ، لـم أركـز فـي هذه الوحدة علـى معلومـات نظريـة تفصـيلية مملــة بـل ركـزت علـى الجانـب الكــودي وتطبيق الجانب النظري ، فلم أرد الوقوع في عيب الفصـل بـين النظريـة والتطبيـق كمـا هـو حال الكثيرين ، وبالرغـم من حرصي على ما قلت ، فتعتبر هذه الوحدة أصعب وحدة قمت بتأليفها في الكتاب ، أقصد من ناحية التأليف. في الوحدة الثانيـة "بنى التحكم" تعرضت لمواضيع أكثر تقدماً نسـبياً بالنسـبة للوحـدة الأولى وهـي بنى التحكم التي تمكنك من كتابة الخوارزميـات ، وقـد أطلـت فـي كتابـة هذه الوحدة لأهـميتها وبالرغـم من طولها فلم يكـن تأليفهـا صـعباً كمـا هــو الحـال فـي الوحدة الأولى ، تتناول هذه الوحدة الحلقات التكرارية for و while .. وغيرهـا بالإضـافة إلى تناولها للمكتبة math . في الوحدة الثالثة "المصفوفات والسلاسل" تناولت موضوع المصفوفات وبعض تقنياتها ، كيف بإمكانـك السـيطرة علـى المصـفوفة ، ولـم أركـز فـي هـذه الوحـدة علـى موضـوع المصفوفات بحد ذاتها بل على إعلام القـارئ أن هـذه المصـفوفة مجـرد حاويـة للبيانـات بإمكانك إنشاء ما هـو أفضل منها ، وتناولت في نهايـة هـذه الوحـدة موضـوع السلاسـل في لغـة السي القديمـة ، نظراً لأن بعض المشاكل لا يتم حلها إلا بها وأيضاً بعض توابع أو دوال العرض. في الوحدة الرابعـة "المؤشرات Pointers" حاولت قـدر جهــدي ألا تكـون هـذه الوحـدة غامضـة كغموض موضوعها ، تعتبـر المؤشـرات تقنيــة فعالـة للغايـة وبدايـة لـك للتفكيـر كمبرمج حقيقي يسيطر على اللغـة وليس كمبرمج تسيطر عليه اللغـة ، وكما ترى فإن الوحـدات الأربـع السابقــة تعتبـر صـغيرة نسـبياً ولـيس كمثـل الوحـدات القادمــة ، قـد يشاطرني البعض في تقسيم الكتاب بهذه الطريقـة وقد لا يشاطرني الآخرون ، عـموماً هذا رأيي وأتمنى أن يكون صحيحاً. تعرض الوحدة الخامسة موضوع "التوابع Function " حينمـا تعــمل علـى برنـامج كبيـر نسبياً قد تود تقسيمـه إلى أجزاء صغيرة حتى يسهل عليك العــمل وأيضـاً يفيـدك فـي تصميم البرنامج فكل تابع سيقوم بمهـمـة بسيطـة مما يمكنك من تطوير البرنامج على مراحل وليس على مرحلة واحدة كما هـو الحال في الوحدات السابقــة ، تتعـرض هـذه الوحدة للقوالب التحـميل الزائد والتي هـي أحد التقنيات الجديدة في لغـة السي بلس بلس عـن القديمـة السي. تعرض الوحدة السادســة موضـوع " الكائنــات Object " وهــي فـي الحقيقــة تحـاول إفهام القارئ مبدأ تجريد المعطيات وفائدتـه على مستوى البرمجـة ، في هـذه الوحـدة تبدأ بالسيطرة أكثر فأكثر على اللغـة من خلال مبادئ البرمجـة الشيئيــة أو الكائنيــة ، ولم أركز في هذه الوحدة إلا على كيفية تصميم الكـائن والأسـاليب الآمنــة ولـو لمحـت بشيء إلى ذلك. تعرض الوحدة السابعـة موضوع "التحميل الزائـد للمعـاملات Overloading Operator " حيث يتم تعليمك كيفيـة إنشاء أنـواع جـديدة مـن البيانـات بواسطــة التحميـل الزائـد للمعاملات فبإمكانك صناعـة أنواع خاصـة بك ، وفي نهايـة الوحـدة تعرضـنا (أقصـد هــنا المؤلف الذي هـو أنا والقارئ الذي هـو أنت) لمثال بسيط للغاية وهــو عبـارة عــن نـوع جـديد من الأنماط وهـو نمط الاعداد الكسرية Fraction وبالرغم من بدائيـة الصنف إلا أنه يعتبر فرصـة مناسبة لك للتعرف أكثر على البرمجـة الكائنيــة وإسـتقلالية الصـنف عــما سيؤثر عليه. تعرض الوحدة الثامنـة موضوع "الصنف string " حيث تجـد الفرق الكبير بين السلاسل في لغـة السي ومعالجتها التي تعرضنا لها في الوحدة الثالثة ومعالجـة السلاسل فـي لغـة السي بلس بلس ، حيث تناولت الوحدة أغلب مميـزات الصـنف string ، وأتــمنى منك في هذه الوحدة أن تتطلـع أكثـر وأكثـر علـى إمكانـات البرمجــة الكائنيــة وفائـدتها والحلول التي تقدمها والتي تعجـز لغـات البرمجــة الهيكليـة أو تـدفع ثمنـاً غاليـاً للقيـام بنفس العـمليات. تعرض الوحدة التاسعـة موضوع "الوراثـة Inheritance " وهـو المبدأ الثاني من مبادئ البرمجـة الكائنيـة ، لم أتعـرض فـي هـذه الوحـدة أو فـي هـذا الكتـاب لموضـوع الوراثــة الخاصة ولا سبب لذلك إلا قصر الوقت في تأليف الكتاب ولم أتعرض بشـكل أكثـر عــمقاً لمبدأ تعــدد الأوجــه فلـم أتنـاول منــه إلا الأساسـيات وأيضـاً لـم أتنـاول تـابع النسخــة الظاهري وطريقتـه ، وبالرغـم من هذا القصـور إلا أن هذه الوحدة تعتبر بدايـة جيـدة لـك في مبادئ البرمجـة الكائنيـة. تعـرض الوحـدة العاشـرة "مقدمــة فـي القـوائم المترابطــة List Linked " وهـــو أحـد الخدمات التي تقدمها لغات البرمجـة الكائنية بشكل جيد ، وهذه الوحدة لا تدور إلا فـي مثال واحد يتم شرحـه وتطويره على ثلاث مراحل ، لـم أتعـرض فـي هـذه الوحـدة إلـى بنى معطيات أكثر تقدماً كالأشجار وتعتبر هذه الوحدة بداية جيدة لك للتعامـل مـع بنـى المعطيات. تعرض الوحدة الحادية عشر موضوع "التعامل مع الاستثناءات Exceptions Handling " وتتنــاول هــذه الوحــدة الموضــوع مــن ناحيــة هيكليــة ثــم تتطــور حتــى تــرى كيفيــة استخدامـه من ناحية كائنية أو على مستوى الكائنـات وبالرغـم من ذلك فلا تـزال هـذه الوحدة تقدم لك القليل إذا ما أردت التطور أكثر وأكثر. تعرض الوحـدة الثانيـة عشـر موضـوع "التعامـل مـع الملفـات Files With Handling " وتتناول هذه الوحدة الموضوع من بدايته حيث تبدأ من تطبيقـه على مستوى التوابع ثم تنتقل إلى متسوى تطبيقـه إلى الكائنـات ، وهذا الأسلوب أفضل فحتى لو كنت مبرمجاً كائنياً بحتاً فقد تحتـاج لتخزين متغيرات في ملفاتك وليس كائنـات ، وبالرغــم مـن تطـور هذه الوحدة إلا أنها لم تتناول كيفية تخزين الكائنات المتوارثـة. تعرض الوحدة الثالثة عشر موضوع " مكتبة القوالب القياسـية Template Standard
Library " وبالرغم من كبر حجم الموضوع وكبر حجم هذه المكتبات إلا أن هذه الوحـدة تحاول أن تبين لك أوجـه الشبـه بين هـذه المكتبـات وكيفيــة أن تسـتفيد منهـا دون أن يكون هـناك أمثلة حقيقيـة في هذه الوحدة. تعرض الوحدة الرابعـة عشر موضوع "مثال عـملي" حرصـت فـي هـذه الوحـدة أن يكـون المثـال الـذي سـأتناوله شـاملاً لموضـوع البرمجــة الكائنيــة وقـد تعرضـت مـرة أخــرى لمشكلة قصر الوقت وقد أردتـه أن يكون مثال آلة حاسـبة كاملـة ، حتـى يفهـم القـارئ العلاقات بين الكائنـات والتصميم الموجـه ولغــة النمذجــة الموحـدة UML ، إلا أن رأيـي استقر أخيراً ونظراً للمشكلة السابقة على إنشاء حاوية تسلسلية. أيضاً هـناك بعض الملاحق في الكتـاب ومنهـا الملحـق "جــ" والـذي يعـرض لـك موضـوع المعالج التمهيدي والذي أردتـه أن يكون وحدة كاملة إلا أن الوقت لـم يسعفنــي سـوى أن أجعله ملحقاً بسيطاً في نهاية الكتاب . هذا الكتاب يركز على البساطـة والسهـولة وقد حاولـت تجنـب الشـرح الممـل الـذي لا طائل منـه وركزت أكثر على أن تكون المعلومـة أكثر تشويقاً دون أن تكون على حسـاب الناحية العلمية. ستجـد في هذا الكتاب هذه النافذة :
CODE
1. CODE
2. CODE
3. CODE
وهذه النافذة تستثمر لأغراض كتـابة الكـود. أرجـو من قراء هذا الكتاب إبداء آرائهـم أو على الأقل تنبيهي إلى الأخطاء التي ارتكبتهـا في هذا الكتاب حتى أستفيد منها على الأقل. أعتذر أيضاً بسبب أخطائي في المصطلحات العربيـة ، فلقد تعلمـت أكثـر مـن نصـف مـا تعلمتـه من هذه اللغـة بواسطـة اللغـة الإنجليزية وليس بواسطـة اللغـة العربيـة ، وأكثر ما أتخبط فيه من المصطلحات هـو مصطلح الـ Function حيث تارةً أرمز له بالتابع وتارةً أخرى أرمز له بالدالة. بقي أن أشير هـنا إلى أنه في حال عـدم قدرتك على فتح ملـف فـي برنـامج Visual
++C ، فكل ما عليك هـو الذهاب النقر على ملـف أو file بعــد تشـغيل البرنـامج ثـم إلى جـديد أو New ثم عبـر علامــة التبويـب Files اختـر file source ++C ، ثـم أكتب الكـود الذي تـود كتابتـه وبعـد انتهاءك أنقر على الخيار Build ومنـه إلى المتـرجم
compile وبعـد أن ينبهك البرنامج إلى أخطائك اضغط على الاختصـار F5+Ctrl حتـى يتم تشغيل برنامجك.
"انطلق مع السي بلس بلس" تناولت فيهـا أساسـيات هـذه اللغــة وقد عزمت فيها ألا تكون نظريــة لدرجــة مملــة ، كمـا هــو حـال أغلـب الكتـب ، وهـذه الوحدة تبدأ فوراً بكـود بسـيط للغايـة ثـم يـتم شرحــه فيمـا بعــد ، وعلـى الأقـل فهـذه طريقـة أبجد هـوز لتعلم اللغة العربية والتي استخدمها العرب القـدامى ، لـم أركـز فـي هذه الوحدة علـى معلومـات نظريـة تفصـيلية مملــة بـل ركـزت علـى الجانـب الكــودي وتطبيق الجانب النظري ، فلم أرد الوقوع في عيب الفصـل بـين النظريـة والتطبيـق كمـا هـو حال الكثيرين ، وبالرغـم من حرصي على ما قلت ، فتعتبر هذه الوحدة أصعب وحدة قمت بتأليفها في الكتاب ، أقصد من ناحية التأليف. في الوحدة الثانيـة "بنى التحكم" تعرضت لمواضيع أكثر تقدماً نسـبياً بالنسـبة للوحـدة الأولى وهـي بنى التحكم التي تمكنك من كتابة الخوارزميـات ، وقـد أطلـت فـي كتابـة هذه الوحدة لأهـميتها وبالرغـم من طولها فلم يكـن تأليفهـا صـعباً كمـا هــو الحـال فـي الوحدة الأولى ، تتناول هذه الوحدة الحلقات التكرارية for و while .. وغيرهـا بالإضـافة إلى تناولها للمكتبة math . في الوحدة الثالثة "المصفوفات والسلاسل" تناولت موضوع المصفوفات وبعض تقنياتها ، كيف بإمكانـك السـيطرة علـى المصـفوفة ، ولـم أركـز فـي هـذه الوحـدة علـى موضـوع المصفوفات بحد ذاتها بل على إعلام القـارئ أن هـذه المصـفوفة مجـرد حاويـة للبيانـات بإمكانك إنشاء ما هـو أفضل منها ، وتناولت في نهايـة هـذه الوحـدة موضـوع السلاسـل في لغـة السي القديمـة ، نظراً لأن بعض المشاكل لا يتم حلها إلا بها وأيضاً بعض توابع أو دوال العرض. في الوحدة الرابعـة "المؤشرات Pointers" حاولت قـدر جهــدي ألا تكـون هـذه الوحـدة غامضـة كغموض موضوعها ، تعتبـر المؤشـرات تقنيــة فعالـة للغايـة وبدايـة لـك للتفكيـر كمبرمج حقيقي يسيطر على اللغـة وليس كمبرمج تسيطر عليه اللغـة ، وكما ترى فإن الوحـدات الأربـع السابقــة تعتبـر صـغيرة نسـبياً ولـيس كمثـل الوحـدات القادمــة ، قـد يشاطرني البعض في تقسيم الكتاب بهذه الطريقـة وقد لا يشاطرني الآخرون ، عـموماً هذا رأيي وأتمنى أن يكون صحيحاً. تعرض الوحدة الخامسة موضوع "التوابع Function " حينمـا تعــمل علـى برنـامج كبيـر نسبياً قد تود تقسيمـه إلى أجزاء صغيرة حتى يسهل عليك العــمل وأيضـاً يفيـدك فـي تصميم البرنامج فكل تابع سيقوم بمهـمـة بسيطـة مما يمكنك من تطوير البرنامج على مراحل وليس على مرحلة واحدة كما هـو الحال في الوحدات السابقــة ، تتعـرض هـذه الوحدة للقوالب التحـميل الزائد والتي هـي أحد التقنيات الجديدة في لغـة السي بلس بلس عـن القديمـة السي. تعرض الوحدة السادســة موضـوع " الكائنــات Object " وهــي فـي الحقيقــة تحـاول إفهام القارئ مبدأ تجريد المعطيات وفائدتـه على مستوى البرمجـة ، في هـذه الوحـدة تبدأ بالسيطرة أكثر فأكثر على اللغـة من خلال مبادئ البرمجـة الشيئيــة أو الكائنيــة ، ولم أركز في هذه الوحدة إلا على كيفية تصميم الكـائن والأسـاليب الآمنــة ولـو لمحـت بشيء إلى ذلك. تعرض الوحدة السابعـة موضوع "التحميل الزائـد للمعـاملات Overloading Operator " حيث يتم تعليمك كيفيـة إنشاء أنـواع جـديدة مـن البيانـات بواسطــة التحميـل الزائـد للمعاملات فبإمكانك صناعـة أنواع خاصـة بك ، وفي نهايـة الوحـدة تعرضـنا (أقصـد هــنا المؤلف الذي هـو أنا والقارئ الذي هـو أنت) لمثال بسيط للغاية وهــو عبـارة عــن نـوع جـديد من الأنماط وهـو نمط الاعداد الكسرية Fraction وبالرغم من بدائيـة الصنف إلا أنه يعتبر فرصـة مناسبة لك للتعرف أكثر على البرمجـة الكائنيــة وإسـتقلالية الصـنف عــما سيؤثر عليه. تعرض الوحدة الثامنـة موضوع "الصنف string " حيث تجـد الفرق الكبير بين السلاسل في لغـة السي ومعالجتها التي تعرضنا لها في الوحدة الثالثة ومعالجـة السلاسل فـي لغـة السي بلس بلس ، حيث تناولت الوحدة أغلب مميـزات الصـنف string ، وأتــمنى منك في هذه الوحدة أن تتطلـع أكثـر وأكثـر علـى إمكانـات البرمجــة الكائنيــة وفائـدتها والحلول التي تقدمها والتي تعجـز لغـات البرمجــة الهيكليـة أو تـدفع ثمنـاً غاليـاً للقيـام بنفس العـمليات. تعرض الوحدة التاسعـة موضوع "الوراثـة Inheritance " وهـو المبدأ الثاني من مبادئ البرمجـة الكائنيـة ، لم أتعـرض فـي هـذه الوحـدة أو فـي هـذا الكتـاب لموضـوع الوراثــة الخاصة ولا سبب لذلك إلا قصر الوقت في تأليف الكتاب ولم أتعرض بشـكل أكثـر عــمقاً لمبدأ تعــدد الأوجــه فلـم أتنـاول منــه إلا الأساسـيات وأيضـاً لـم أتنـاول تـابع النسخــة الظاهري وطريقتـه ، وبالرغـم من هذا القصـور إلا أن هذه الوحدة تعتبر بدايـة جيـدة لـك في مبادئ البرمجـة الكائنيـة. تعـرض الوحـدة العاشـرة "مقدمــة فـي القـوائم المترابطــة List Linked " وهـــو أحـد الخدمات التي تقدمها لغات البرمجـة الكائنية بشكل جيد ، وهذه الوحدة لا تدور إلا فـي مثال واحد يتم شرحـه وتطويره على ثلاث مراحل ، لـم أتعـرض فـي هـذه الوحـدة إلـى بنى معطيات أكثر تقدماً كالأشجار وتعتبر هذه الوحدة بداية جيدة لك للتعامـل مـع بنـى المعطيات. تعرض الوحدة الحادية عشر موضوع "التعامل مع الاستثناءات Exceptions Handling " وتتنــاول هــذه الوحــدة الموضــوع مــن ناحيــة هيكليــة ثــم تتطــور حتــى تــرى كيفيــة استخدامـه من ناحية كائنية أو على مستوى الكائنـات وبالرغـم من ذلك فلا تـزال هـذه الوحدة تقدم لك القليل إذا ما أردت التطور أكثر وأكثر. تعرض الوحـدة الثانيـة عشـر موضـوع "التعامـل مـع الملفـات Files With Handling " وتتناول هذه الوحدة الموضوع من بدايته حيث تبدأ من تطبيقـه على مستوى التوابع ثم تنتقل إلى متسوى تطبيقـه إلى الكائنـات ، وهذا الأسلوب أفضل فحتى لو كنت مبرمجاً كائنياً بحتاً فقد تحتـاج لتخزين متغيرات في ملفاتك وليس كائنـات ، وبالرغــم مـن تطـور هذه الوحدة إلا أنها لم تتناول كيفية تخزين الكائنات المتوارثـة. تعرض الوحدة الثالثة عشر موضوع " مكتبة القوالب القياسـية Template Standard
Library " وبالرغم من كبر حجم الموضوع وكبر حجم هذه المكتبات إلا أن هذه الوحـدة تحاول أن تبين لك أوجـه الشبـه بين هـذه المكتبـات وكيفيــة أن تسـتفيد منهـا دون أن يكون هـناك أمثلة حقيقيـة في هذه الوحدة. تعرض الوحدة الرابعـة عشر موضوع "مثال عـملي" حرصـت فـي هـذه الوحـدة أن يكـون المثـال الـذي سـأتناوله شـاملاً لموضـوع البرمجــة الكائنيــة وقـد تعرضـت مـرة أخــرى لمشكلة قصر الوقت وقد أردتـه أن يكون مثال آلة حاسـبة كاملـة ، حتـى يفهـم القـارئ العلاقات بين الكائنـات والتصميم الموجـه ولغــة النمذجــة الموحـدة UML ، إلا أن رأيـي استقر أخيراً ونظراً للمشكلة السابقة على إنشاء حاوية تسلسلية. أيضاً هـناك بعض الملاحق في الكتـاب ومنهـا الملحـق "جــ" والـذي يعـرض لـك موضـوع المعالج التمهيدي والذي أردتـه أن يكون وحدة كاملة إلا أن الوقت لـم يسعفنــي سـوى أن أجعله ملحقاً بسيطاً في نهاية الكتاب . هذا الكتاب يركز على البساطـة والسهـولة وقد حاولـت تجنـب الشـرح الممـل الـذي لا طائل منـه وركزت أكثر على أن تكون المعلومـة أكثر تشويقاً دون أن تكون على حسـاب الناحية العلمية. ستجـد في هذا الكتاب هذه النافذة :
CODE
1. CODE
2. CODE
3. CODE
وهذه النافذة تستثمر لأغراض كتـابة الكـود. أرجـو من قراء هذا الكتاب إبداء آرائهـم أو على الأقل تنبيهي إلى الأخطاء التي ارتكبتهـا في هذا الكتاب حتى أستفيد منها على الأقل. أعتذر أيضاً بسبب أخطائي في المصطلحات العربيـة ، فلقد تعلمـت أكثـر مـن نصـف مـا تعلمتـه من هذه اللغـة بواسطـة اللغـة الإنجليزية وليس بواسطـة اللغـة العربيـة ، وأكثر ما أتخبط فيه من المصطلحات هـو مصطلح الـ Function حيث تارةً أرمز له بالتابع وتارةً أخرى أرمز له بالدالة. بقي أن أشير هـنا إلى أنه في حال عـدم قدرتك على فتح ملـف فـي برنـامج Visual
++C ، فكل ما عليك هـو الذهاب النقر على ملـف أو file بعــد تشـغيل البرنـامج ثـم إلى جـديد أو New ثم عبـر علامــة التبويـب Files اختـر file source ++C ، ثـم أكتب الكـود الذي تـود كتابتـه وبعـد انتهاءك أنقر على الخيار Build ومنـه إلى المتـرجم
compile وبعـد أن ينبهك البرنامج إلى أخطائك اضغط على الاختصـار F5+Ctrl حتـى يتم تشغيل برنامجك.
ليست هناك تعليقات:
إرسال تعليق