السلام عليكم و رحمة الله و بركاته
هذه هي الدورة الاول لتعلم لغة السي بلس بلس و سوف تكون مثل بوابة جيدة لكي تصبح مبرمج جيدا فيها
و الدرس الاول سيكون مقدمة بسيطة لكل من البرمجة و السي بلس بلس
للعلم فقط :-
محتويات الدرس توضيحية و لا يشترط ان تكون دقيقة و ايضا تختلف فيه بعض الامور حسب وجهة النظر .
=========================
الكمبيوتر :-
في بداية دعونا نتعرف الكمبيوتر ....
في الحقيقة الكمبيوتر لم يتطور كثيرا منذ ستينات ... التطورات كلها التى تشاهدها تكون 99 % من خارج و تتعلق بالمستخدم لكن من الداخل فهو تقريبا كما هو ... و الفكرة العامة لعمله بسيطة جدا
حيث يقوم على اساس 1 و 0
فهو لا يفهم اي شيء غير هذان الرقمان و ايضا لا يراهما بطريقة الاعتيادية ... بل يرى الرقم واحد هو مرور التيار ام الصفر فهو عدم مرور التيار .
فهو يقسم الثانية الواحدة الى ملايين الاقسام و كل جزء يرى فيه هل يمر التيار ( اقصد التيار الكهربائي ) فإذا مر يسجلها على انها 1 و اذا لم يمر يسجله على انه صفر
وهكذا يكون لديه مجموعة ضخمة من 1010101110111
وهذا له مفهوم معين عند الرياضيات و يلقب بنظام العد الثنائي
و المبرمج شغلته يمسك الكمبيوتر و يعلمه انه مجموعة الارقام هذه ( مثال 1011011101 ) تعني قم بالعملية كذا او ترمز الى قيمة ما ... و لنظام العد الثنائي قواعد بسيطة سواء خاصة بالرياضيات ( من جمع و طرح و ضرب و قسمة ... الخ ) او منطقية ( من truth table او intersection او union ... الخ ) لكنها بالنهاية قواعد محدودة من صعب جدا صنع قاعدة جديدة او تمديد قاعدة قديمة
و هذه العملية الاساسية التى يسير عليها كمبيوتر منذ اكثر من 50 سنة .
و هذه رسالة ارسلها لكل من اغترى بالحضارات الغربية او معتقد انهم تفوقوا كثيرا علينا و اخترعوا شغلات من صعب نلحق بهم
فالتطور الذي تراه مجرد عملية فبركةو خداع بصري تقريبا ... فهم كم مجموعة من نظريات و اختراعات جديدة احقاقا للحق نسجلها لهم ( مثل قوانين نيوتين الثلاثة , الكهرباء , الكمبيوتر .. الخ ) و بقية مجرد عملية تكرير للكلام السابق و تغيير شكل تقريبا دون اضافة جديد بالمضمون نفسه .
و ليس مثل ايام جابر بن حيان او ابن سينا عندما يقعد الشخص خلال كل فترة يطلع لك مادة علمية جديدة .
لغات البرمجة :-
نعود لبرمجتنا ... ترون طبعا ان شغلة المبرمج صعبة خاصة انه عليه يتعامل مع 1 و 0 كثيرا و من صعب تميز هذه الرموز عن غيرها , و هكذا كان الحال في بداية الستينات من قرن الماضي , لذا كان المبرمجين يعانون الامرين لصنع برنامج يقوم بعملية الجمع فقط .... لكن مع ظهور لغات البرمجة حدثت طفرة قوية ( بالنسبة للمبرمجين فقط ) .
فالبرمجة مفهومها بإختصار شديد هي عملية تحويل الكلام العادي الذي نتعامل معه نحن ( كلام بشري ) الى لغة الآلة ( binary numbers ) فقط ... اي لغة البرمجة لا تجيب حاجة جديدة
لا كل شغلنا يبقى و يظل فقط بالــ 1 و 0 و هكذا يراها الكمبيوتر و يتعامل على اساسها
اي لغات البرمجة كلها ليست بديل للغة الآلة ... بل هي لغة الآلة لكن بشكل خاص و جديد يسهل علينا البرمجة .
الم اقل لكم كله فبركة
طبعا لاحظ بعضكم اني عندما قلت ظهور لغات البرمجة في ستينات كان طفرة فقط للبرمجين ... اما المستخدم العادي لم تهمه بشيء لان البرمجة ظلت بالنسبة له ... فاللغات البرمجة القديمة ( مثل لغة c , باسكال ... الخ ) كانت صعبة و معقدة و ايضا بعيدة عن لغة البشر المعتادة و قريبة من لغة الآلة .
لذا بقي التطور الشكلي و التعامل مع المستخدمين ضعيف لفترة طويلة الى ان ظهرت لغات البرمجة الجديدة مع بداية التسعينات و طبعا الذي ميزها انها سهلة و اقوى من ناحية المفهوم البرمجي مثل لغة c++ و php و java .... الخ
السي بلس بلس :-
بوجهة نظري الشخصية ارى ان اقوى لغة جديدة هي سي بلس بلس لأنها لغة برمجة حقيقة اي تعامل معها مباشر لغة الآلة .
لذا هي تفتح على الاجهزة و تعمل على كل انظمة و برامجها تحفظ بصيغة exe اي ملف تنفيذي وهي نوعية البرامج الاساسية
او بالاحرى الوحيدة ... حيث كل برامج هي من نوع exe حتى التى تكون بصيغ اخرى مثل .txt او pdf. فهي تحتاج الى برنامج يفتحها هذا برنامج لابد يكون بصيغة exe اي هي بالاساس exe ... ( نعود الى موضوع الفبركة اياه , و اطمئن كل من اتقرف من تكراري له ان سوف يتكرر كثيرا ان شاء )
اما معظم لغات البرمجة الاخرى ( مثل php و غيرها ) فأنا اسميها لغات غير حقيقية فهي تحتاج الى متصفح يفتحها و هذا متصفح هو بالاساس مصنوع بلغة برمجة حقيقة مثل سي بلس بلس .
هذه كانت الميزة الاساسية لغة c++ اما الميزات الثانوية و الاضافية كثيرة لكن اهمها ... انها لغة الاختصارات .
كل شغله اختصار الكلام .... فهذه تسهل عملية حفظ الاوامر و ايضا كتابتها ... ناهيك ان للآوامر لها معنى مفهوم و قريب جدا من لغة البشر لذا مفهومة و يسهل حفظها و تطبيقها .
وحدات الكمبيوتر الأساسية:-
يتكون الكمبيوتر من ستة وحدات اساسية :-
1 - المدخلات
2 - المخرجات
3 - وحدة ذاكرة مؤقتة
4 - ALU
5 - CPU
6 - وحدة ذاكرة الدائمة
مهم نعرف رقم 1 و 2 في دورتنا هذه
فالمدخلات اي مجموعة قطع الاجهزة التى من خلالها تدخل المعلومات الى الكمبيوتر منها ... الكيبورد , السكانر , مايكروفون , ... الخ
اما المخرجات فهي قطع الاجهزة التى من خلالها يخرج الكمبيوتر المعلومات لك ... منها الشاشة , السماعات , الطابعة ... الخ
و المدخلات الاعتيادية المتعارف عليها بلغة سي بلس بلس ( STANDERED ) هي الكيبورد
و المخرجات الاعتيادية هي الشاشة .
===============================
هنا نتوقف بدرسنا الاول و نعود معكم بدرس القادم باذن الله