كان يدور في ذهني سؤال اعتقدت أن الإجابة عليه ستكون شائكة ومعقده
إلا أنني بعد مرور سنوات , وجدت الظروف التي هيأتني لأبحث خلال رحلتي عن الإجابــــــه ... رغم أن الرحلة لم تستغرق وقتا طويلا للإجابة إلا أنها كانت زاخرة بالمعرفه اكتشفت أثناءها أن السؤال كان جزءا من الحل ....
س / كيف يمكن أن يفهم الكمبيوتر ما نريد , بل يجيبنا أيضا بما نريد؟
سنجيب عن هذا السؤال بالتدريج ,,
ماهو الكمبيوتر ؟
إلا أنني بعد مرور سنوات , وجدت الظروف التي هيأتني لأبحث خلال رحلتي عن الإجابــــــه ... رغم أن الرحلة لم تستغرق وقتا طويلا للإجابة إلا أنها كانت زاخرة بالمعرفه اكتشفت أثناءها أن السؤال كان جزءا من الحل ....
س / كيف يمكن أن يفهم الكمبيوتر ما نريد , بل يجيبنا أيضا بما نريد؟
سنجيب عن هذا السؤال بالتدريج ,,
ماهو الكمبيوتر ؟
بالنسبة لتعريف الكمبيوتر كما أتى في الكتب الإنجليزية فهو :
وتُرجم إلى العربية : الكمبيوتر هو جهاز غبي .
وبالفعل الكمبيوتر جهاز غبي على عكس ما يظن البعض من كونه جهاز ذكي ... فهو يأخذ منا الأوامر لينفذ فقط لا غير ولا يستطيع تعديل الأخطاء إلا وفقاً لما نبرمجه عليه ..... فإن برمجناه على أن 100+100=1001 فلا يمكن أن يقول لنا هذا خطأ بل سيتقبل ذلك ويسير عليه . وبالنسبة لما يسمى بالذكاء الصناعي ففيه الكثير من الكلام لكي يفهم معناه ..
..........
وهناك عملية المعالجة processing
فهي تحويل البيانات من شكل إلى آخر ثم حفظها أي أن الكمبيوتر يقوم بتحويل البيانات من لغت الآلة إلى اللغة التي نكتب بها ثم يحفظها بتلك الصيغة ويعرضها لنا على صفحة الــ Compiler في لغة البرمجة إن كنا نستخد لغةبرمجة وبالنسبة لبقية البرامج ومعالجتها فهو يعرضها لنا على الشاشة....
هو عبارة عن جهاز الكتروني مصنوع من مكونات منفصله يتم ربطها ثم توجيهها باستخدام أوامر خاصه لمعالجة وإدارة المعلومات بطريقة ما وذلك بتنفيذ ثلاث عمليات أساسية هي :
1-استقبال الحاسب للبيانات المدخله >>>>> in put
2- معالجة البيانات المدخله إلى معلومات
3-إظهار المعلومات المخرجه >>>>> output
كما أن نظام الحاسوب يتكون من Hardware و Software حيث أن
المعدات (hardware ): هي التراكيب الفيزيائيه في الجهاز , ونقصد بها الأجزاء الملموسه من الحاسوب مثل الشاشات والفأرة والطابعات .... ولا فائده منها من دون السوفت وير ....
البرمجيات (software) : هي المكونات غير الملموســـه من برامج ومجموعة
تعليمات التي يمكن التحكم بواسطتها بعمل الحاسوب.....
وجدير بالذكر ,, أننا نحن المستخدمون ( users ) أهم من كل ذلك ,, لأن البرمجيات والمعدات لن تعني شيئا دون المستخدمين , والمستخدم هو شخص ينفذ البرمجيات على الحاسوب لإنجاز المهام ....
أهم النقاط مما ذكر سابقا أربعة نقاط
Input, output, hardware, software
يقوم المستخدم بتبادل المعلومات مع الحاسوب , عن طريق إدخال البيانات
" Input" ومن ثم يتم إخراج المعلومات "output" عن طريق معالجة البيانات بواسطة الحاسوب ...
وكيف يقوم بهذه العملية؟
يقوم الحاسب بتنفيذ سلسلة من الأوامر والتي تتمثل في البرامج , يتم عن طريقها التحكم في عملية إدخال البيانات وإخراج المعلومات للمستخدم
يجب أن نعلم أن لغة التخاطب بين الهاردوير والسوفت وير هي لغة الآله وهذه اللغة لا تعرف سوى الصفر والواحد ....
الهاردوير تتعامل مع النبضات الكهربائيه بينما السوفت وير يتعامل بالنظام الثنائي
( Binary system )
إذا كيف يمكن للهاردوير والسوفت وير التخاطب ؟
ببساطه كل نبضة كهربائيه تمثل الرقم واحد وغياب النبضه يمثل الرقم صفر
,
أي نبضة لكل ثانيه .....
وتتحول إلى رقم ثنائي إما صفر أو واحد , حسب النبضه أو غيابها ....
لماذا يجب معرفة ما ذكرت سابقا؟
لأننا بذلك نكون قد توصلنا إلى حل السؤال الأول
كيف يمكن أن يفهم الكمبيوتر ما نريد , بل يجيبنا أيضا بما نريد؟ ,, حيث أن البيانات التي ندخلها تتحول إلى النظام الثنائي مباشرة , ولا يفهم الكمبيوتر سوى لغة واحدة فقط وهي لغة الآله والتي تستخدم النظام الثنائي .....
لكن ,,
إذا أردنا نحن أن نتخاطب مع الكمبيوتر ,, فنحن بحاجه إلى تعلم لغة الآلة , إلا أنها لغة صعبــــــــه جدا ومعقده , لذلك نحتاج إلى التخاطب معه بلغه مفهومة لنا على الأقل ,, وباستـــــخدام أي لغة من اللغات عالية المستوى والتي هي لغات تستخدم جملا أقرب إلى لغة الإنسان أو التعابير الحسابيه من لغات الآلة ولغة التجميع مثل السي والباسكال والكوبول .... إلخ
ولكن مع مرور السنوات تطورنا إلى لغات أكثر سهوله ولكل منها ميزاتها الخاصه التي تعالج مشكلة من مشاكل البرمجه ,,
مثل السي ++ ......
هذا يوجهنا إلى سؤال صغير
ماهي لغة البرمجه ؟
يتم تطوير برامج الحاسوب باستخدام لغات البرمجه , وتتكون لغة البرمجه من مجموعة من الرموز والقواعد _ كأي لغة أخرى _ لتوجيه العمليات في الحاسوب .
في لغة الفيجوال بيسك والفيجوال بيسك دوت نت تختلف طريقة
تحويل البرنامج من اللغة المستخدمه إلى لغة الآله كالتالي
بعد كتابة البرنامج ,, وكتابة الأوامر المطلوب من البرنامج تنفيذها ,,, باستخدام برنامج خاص يسمى compiler يتم تحويل البرنامج المكتوب بلغة البرمجه المستخدمه إلى لغة متوسطة
Intermediate language ثم بواسطة أداة معينة يتحول البرنامج إلى لغة الآلة
وهذا يختلف عن لغة السي ++ والدلفي حيث يتحول البرنامج مباشرة
بواسطة الـ compiler إلى لغة الآلة
...
وهذه هي الإجابة على السؤال الأساسي ... لماذا نحتاج إلى لغات البرمجه ؟