الأربعاء، 20 نوفمبر، 2013

لغات البرمجة


lلغة البرمجة هي همزة الوصل بين الإنسان والحاسب.
lيقوم الانسان بتغذية الحاسب بمجموعة من التعليمات المتسلسلة التي تسمى برنامجا لتوجيهه للقيام بالأعمال التي يريدها.
lتستخدم لغات البرمجة في كتابة هذه البرامج.
lالحاسب لا يفهم إلا اللغة الثنائية (1,0) وهو ما يسمى بلغة الآلة.
lتصنف اللغات بناء على قربها من لغة الآلة وبالتالي بعدها عن لغة الإنسان.  

لغة الآلة Machine Languages

تسمى اللغة الثنائية حيث أنها تتكون من سلسلة من 0,1
هي اللغة الوحيدة التي يفهمها الحاسب وكل حاسب له لغته الخاصة.
التعليمات في لغة الآلة لابد أن تكون سلسلة من 0, 1 لأن الدوائر الإلكترونية الداخلية للحاسب مصنعة من عناصر إلكترونية عادة ما تكون في حالة من اثنين (Off 0) أو .(On 1)
تحول جميع اللغات إلى لغة الآلة حتى تتمكن معدات الحاسب من التفاهم معها.
تتميز بسرعة التنفيذ لأنها تخاطب CPU مباشرة دون وسيط.


عيوب لغة الآلة
لغة غير مرنة
لصعوبة كتابتها وتعديلها وتصحيحها.
يجب على المبرمج معرفة تركيب الحاسب وعناوينه الداخلية.
لغة غير عمومية
خاصة بكل جهاز على حدة لأنها مرتبطة بالمعالج نفسه.
لا تصلح لجهاز أخر.

لغة التجميع Assembly Languages
في أوائل الخمسينات قام عالم الرياضيات Grace Hopper مع فريق من البحرية الأمريكية بتطوير لغة تمثل التعليمات المختلفة في لغة الآلة باستخدام رموز symbolic وسميت اللغة الرمزية Symbolic Language
تستخدم مختصرات ورموز يسهل حفظها وكتابتها لكل تعليمة من لغة الآلة.
مثال تستخدم LA A,D لتحميل المسجل A بمحتوي المسجل D
يتم تحويل البرنامج المكتوب بها إلى لغة الآلة عن طريق المجمع Assembler وهو برنامج خارجي.

عيوب لغة التجميع
مازالت لغة غير عمومية تصمم للعمل على جهاز معين.
لغة مملة.
 
اللغات ذات المستوى العالى
سميت بهذا الاسم لبعدها عن لغة الآلة وقربها من اللغة الطبيعية للإنسان.
لا ترتبط بجهاز معين بل تنفذ على أكثر من جهاز.
تحتاج لبرنامج وسيط يقوم بتحويل البرنامج المصدر Source Code المكتوب بها إلى البرنامج الهدف Object Code المكتوب بلغة الآلة.


 اللغات ذات المستوى العالى



مميزات وعيوب اللغات ذات المستوى العالى
1- المرونة نظرا للأتي:
سهولة كتابة وتعديل البرامج المكتوبة بهذه اللغات
سهولة اكتشاف الأخطاء وتعديلها وتصحيحها
2- العمومية
نظرا لاستقلالها عن نوع وتفاصيل الجهاز الذي تعمل عليه.
العيوب
يعيبها البطء مقارنة بلغة الآلة.
 بناء البرنامج Building a program
الحاسب يفهم البرنامج فقط إذا ترجم إلى لغة الآلة لكن كيف يتم ذلك؟
يقوم المبرمج بكتابة البرنامج ثم يحوله إلى ملف تنفيذي Executable file بلغة الآلة.
تتم هذه العملية في خطوات ثلاث:
كتابة البرنامج Writing and editing the program
ترجمة البرنامج Compiling the program
ربط البرنامج مع مكتبة البرامج الفرعية المطلوبة
Linking the program with the required library modules
 



تنفيذ البرنامجProgram Execution
بمجرد ربط البرنامج فإنه يكون قابلا للتشغيل وجاهزا للتنفيذ
لتنفيذ البرنامج فإنه ينبغي استخدام أحد أوامر برنامج التشغيل مثل Run لتحميل البرنامج إلى الذاكرة الرئيسية لتنفيذه.
تحميل البرنامج في الذاكرة هو وظيفة أحد برامج نظام التشغيل ويدعي المحمل Loader
يقوم Loader بتحديد مكان البرنامج التنفيذي وتحميله في الذاكرة
عندما يصبح كل شيء جاهزا تسلم عملية التحكم في الحاسب إلى البرنامج ويبدأ التنفيذ الفعلي

  التنفيذ الفعلي للبرنامج
يقرأ البرنامج المنفذ البيانات لمعالجتها إما من خلال إدخال المستخدم لها أو يقرأها من ملف.
بعد معالجة البيانات يقوم البرنامج بإخراج النتائج إما على شاشة المستخدم أو كتابتها في ملف.
بعد انتهاء البرنامج يقوم بإخبار نظام التشغيل ليقوم بإزالة البرنامج من الذاكرة.
المحاضرة القادمة نتناول الأنظمة العددية