ماهي البرمجة؟ - مدونة تبادل الأفكار

جديد التدوينات

إعلان فوق التدوينة

إعلانك هنا

الجمعة، 10 نوفمبر 2017

ماهي البرمجة؟


إن تعريف البرمجة كما هو شائع، توجيه الأوامر للحاسب لينفذ مهام محددة، و هو ما ذُكر أيضاً في موقع ويكيبيديا :
تعرف البرمجة بأنها عملية كتابة تعليمات وتوجيه أوامر لجهاز الحاسوب أو أي جهاز آخر مثل قارئات أقراص الدي ي دي أو أجهزة استقبال الصوت والصورة في نظم الاتصالات الحديثة، لتوجيه هذا الجهاز وإعلامه بكيفية التعامل مع البيانات أو كيفية تنفيذ سلسلة من الأعمال المطلوبة تسمى خوارزمية. 
بأي يتم كتابة هذه التعليمات والتوجيهات؟
حاسوبك هو آلة غريبة جدا ً، هذا أقل ما يمكن أن نقوله عنه. يمكننا أن نخاطبه فقط بالصفر والواحد، فمثلا إذا طلبنا منه حساب  3+5 فيمكن لهذا أن يعطينا نتيجة كالتالي(هذه ليست ترجمة دقيقة ولـكنها تشبه ما يحدث بالفعل:)
0010110110010011010011110
ما تراه هنا يسمى اللغة الثنائية (Binary language)  أو لغة الآلة (Machine language) ، وحاسوبك لا يفهم سوى هذه اللغة، وكما تلاحظ، هذه اللغة غير مفهومة على الإطلاق !
كيف يمكننا التعامل مع حاسوب لا يفهم سوى اللغة الثنائية ؟
حاسوبك لا يتحدث الإنجليزية، ولا العربية، ولا أي لغة غير هذه اللغة، ولـكنها صعبة جدا لدرجة أن حتى أكبر خبراء الحاسوب لا يستخدمونها. لهذا قام بعض مهندسي الحواسيب باختراع لغات يمكن أن تترجم إلى اللغة الثنائية، لـكن الشيء الأصعب هو إنشاء البرامج التي تقوم بهذه الترجمة. ولحسن الحظ فقد قاموا بهذا العمل نيابة عنا. هذه البرامج تقوم بترجمة الأوامر التي تكتبها (مثلا : أحسب  3+5) إلى شيء يشبه هذا : . 0010110110010011010011110
هذا المخطط يلخص ما كنت أشرح :
حتّى الآن كنت أتحدّث إليك بكلمات بسيطة، لـكن يجب أن تعلم أنه في المعلوماتية توجد مصطلحات علمية لكل ما ذكرت. طوال هذا الكتاب، سوف ٺتعلم استخدام المفردات المناسبة. هذا سيفيدك كثيرا خصوصا عندما تتحدث مع مبرمجـين آخرين، حيث أنك سوف ٺتفاهم معهم بكل سهولة.
نعود إلى الحديث عن المخطط السابق. في المستطيل الأول قلت أن "برنامجك مكتوب بلغة مُبسّطة"، في الواقع هذا النوع من اللغات يعرف باسم لغات البرمجة عالية المستوى (High-level programming languages). هناك مستويات عديدة من لغات البرمجة، وكلما كان مستوى اللغة أعلى كانت أقرب إلى اللغة الحقيقية وكان استخدامها أسهل. إذن، اللغات عالية المستوى سهلة الاستخدام لـكنها ٺتضمن بعض السلبيات سوف نتعرّف عليها لاحقا.
توجد العديد من لغات البرمجة، وهي متفاوتة المستوى، منها :
- C 
- C++ 
- Java 
- Visual Basic 
- Delphi 
والعديد غيرها .....
كما تلاحظ، لم أرتبها حسب مستوياتها، لذلك لا تعتقد أن اللغة الأولى في القائمة هي الأسهل أو العكس. عموما، لائحة اللغات الموجودة طويلة جدا لدرجة أنه لا يمكنني كتابتها كلها هنا.
مصطلح آخر يجب تذكّره هو الشفرة المصدرية (Source code)، وهي ببساطة الشفرة الخاصة ببرنامجك الذي تكتبه بلغة عالية المستوى والذي يتم ترجمته فيما بعد إلى اللغة الثنائية.
ثم يأتي دور البرنامج الذي يحوّل هذه اللغة عالية المستوى إلى اللغة الثنائية، هذا النوع من البرامج يعرف باسم المترجم أو المصنف، والعملية التي يقوم بها تسمى الترجمة أو التصنيف.
يوجد لكل لغة عالية المستوى مترجم خاص، وهذا شيء منطقي، فاللغات مختلفة فيما بينها، فلا  مكننا ترجمة لغة C بنفس الطريقة التي نترجم بها Delphi  مثلا. بعض اللغات مثل C تملك العديد من المترجمات، فمنها من هو مكتوب من طرف Microsoft، و منها من GNU، إلخ ... 
أخيرا، البرنامج الثنائي المنشئ بواسطة المترجم يسمى الملف القابل للتنفيذ أو التنفيذي (Executable). لهذا السبب تملك البرامج (على الأقل برامج Windows) الامتداد exe. والذي هو اختصار كلمة EXEcutable.
إلى هنا نصل إلى نهاية هذا الدرس، نلتقي في الدروس المقبلة إن شاء الله.
المراجع: موقع openclassrooms

ليست هناك تعليقات:

إرسال تعليق

إعلان أسفل التدوينة

إعلانك هنا