المحاضرة الخامسة "البرمجيات".
##########
-أهمية البرمجيات: تحتاج معدات الحاسوب إلى برمجيات تديرها وتشغلها (مثل أن الدماغ يحتاج إلى العقل [فكر] يشغله).
-البرنامج (Program): مجموعة من التعليمات المتسلسلة والمرتبة بشكل منطقي تقوم بتوجيه الحاسوب لأداء وظيفة ما، مكتوب بلغة برمجة معينة.
-البرمجيات (Software): هي عبارة عن برنامج أو مجموعة من البرامج والبيانات والمعلومات المخزنة مع التوثيق الخاص بهذه البرامج.
-المبرمج (Programmer): الشخص الذي يقوم بكتابة البرامج مستخدماً لغة برمجة واحدة أو أكثر.
#
-أنواع البرمجيات: برمجيات النظام (System Software)، البرمجيات التطبيقية (Application Software).
#
--برمجيات النظام (System Software): هي البرمجيات التي يستخدمها الحاسوب ليقوم بعمله على أكمل وجه (أساس لعمل الحاسوب) [مثل: لغات البرمجة (Programming Languages)، المترجمات (Compilers)، المفسرات (Interpreters)، نظم التشغيل (Operating Systems)].
--البرمجيات التطبيقية (Application Software): البرمجيات التي تطوع الكمبيوتر من أجل تنفيذ وظائف مفيدة عامة خاصة بالمستخدم (ليست أساساً ليعمل الحاسوب).
#
---لغات البرمجة (Programming Languages): من خلالها يتم تطوير برامج الحاسوب، تتكون من مجموعة من الرموز والقواعد لتوجيه العمليات الحاسوبية (أمثلة: C, C++, Pascal, Basic, Java).
---أجيال لغات البرمجة: لغة الآلة (Machine Language)، لغة التجميع (Assembly Language)، اللغات عالية المستوى (High Level Language)، مولدات التطبيقات "لغات الجيل الرابع" (Application Generator, 4th Generation Language)، برمجيات الكائنات الموجهة (Object Oriented Languages).
----لغة الآلة (Machine Language): هي اللغة الأساسية لجهاز الحاسوب، تتكون البرامج المكتوبة بهذه اللغة من أرقام ثنائية (0.1)، تتصف بصعوبة استخدامها بشكل كبير، تحتاج إلى وقت كبير في إعداد البرامج، تعد أكثر اللغات عرضةً للأخطاء.
----لغة التجميع (Assembly Language): تتكون من اختصارات (رموز مختصرة سهلة التذكر، مثل: ADD, STO, MUL)، تتميز باستخدام العنونة الرمزية، يمكن استخدام الأرقام الثمانية أو السادس عشرية أو العشرية في قيم البيانات، تحتاج البرامج المكتوبة بلغة التجميع (Assembly) للترجمة إلى لغة الآلة (0.1) ولهذا يتم استخدام برنامج خاص يسمى (Assembler).
----اللغات عالية المستوى (High Level Language): تعد من أقرب اللغات إلى الإنسان (حيث أنها تستخدم جملاً يستخدمها الإنسان)، تحتاج إلى مترجمات ومفسرات ليفهمها الحاسوب، تتميز بسهولة استخدامها في حل المشاكل المعقدة، يمكن استخدامها على أنواع مختلفة من الحواسيب. (من أشهرها: C++, Java,
VB).
----مولدات التطبيقات "لغات الجيل الرابع" (Application Generator, 4th Generation Language): تسمى لغات الجيل الرابع، وهي لغات قواعد البيانات، تقوم هذه اللغات بصناعة الملفات والشاشات والتقارير دون كتابة البرامج (من أشهرها: Access, Oracle).
----برمجيات الكائنات الموجهة (Object Oriented Languages): تعتبر من أحدث التقنيات في كتابة البرامج، تتكون من مجموعة من "الكينونات" وكل كينونة تحمل مجموعة من "الصفات". يميزها وجود كل مجموعة بيانات مع العمليات الخاصة بها في كينونة واحدة ولا يمن الوصول إلى البيانات إلا من خلال العمليات فقط.
#
---المترجمات والمفسرات (Compilers & Interpreters): برنامج يقوم بتحويل البرنامج المصدري (Source Code)، المكتوب بلغة عالية المستوى إلى البرنامج الهدفي (Object Code) المكتوب بلغة الآلة. "المترجم (Compiler)" يقوم بترجمة جميع البرامج المكتوبة بلغات عالية المستوى مرة واحدة فقط. "المفسر (Interpreter)" يقوم بترجمة وتنفيذ جملة واحدة في الوقت الواحد بمجرد إدخالها إلى الحاسوب، يعد المفسر أبطأ من المترجم في تنفيذ البرامج، كما أنه يأخذ حيزاً أكبر في الذاكرة الرئيسية.
#
---نظم التشغيل (Operating System): مجموعة من البرامج التي تتحكم وتشرف وتدعم الحاسوب والحزم التطبيقية، لايمكن لجهاز الحاسوب أن يعمل إلا عند توفر نظام التشغيل، يتكون نظام التشغيل من مجموعة من البرامج التي تعمل كفريق واحد في أداء المهام [أمثلة: دوس (DOS)، ويندوز (Windows)، لينوكس (Linux)، يونيكس (Unix)، آي بي إم (IBM OS/2)، ماكنتوش (Mac OS)].
----وظائف نظم التشغيل: استنهاض الحاسوب والاستعداد للعمل، واجهة لربط المستخدم مع البرمجيات المختلفة، إدارة المهام والمصادر، مراقبة النظام وإعاقة العمليات غير المسموح بها، إدارة الملفات وتنظيمها ونسخها ونقلها، المحافظة على سرية النظام والوصول غير الخول لبيانات وبرمجيات الجهاز.
----أنواع نظم التشغيل: متعدد المهام (Multitasking)، متعدد المعالجة (Multiprocessing)، متعدد المستخدمين (Multi Users)، المشاركة الزمنية (Time Sharing)، نظام تشغيل الشبكات (Network OS)، نظام تشغيل أجهزة الوقت الحقيقي (Real Time OS).
#
---البرمجيات التطبيقية (Application SW): برامج تعد من أجل تنفيذ وظائف مفيدة عامة (مثل: برامج مايكروسوفت أوفس (Microsoft Office) [مثل: Word, Excel, Access, PowerPoint]، برامج استعراض الويب (Internet Explorer)، برامج المحاسبة (Accounting)، برمجيات الرسوم [مثل: CAD]، التطبيقات المتخصصة التي يتم اعدادها بناء على طلب المستخدم).
###
-الواجهة في البرمجيات (Interface): هي الطريقة التي يتخاطب بها مستخدم البرنامج مع الحاسوب.
--أنواع الواجهات: التخاطب بكتابة الأوامر، الواجهة الرسومية (GUI).
---التخاطب بكتابة الأوامر: يكتب المستخدم الأمر كاملاً من خلال لوحة المفاتيح ليظهر على الشاشة، وتعد هذه الطريقة قديمة وبطيئة وتحتاج لمعرفة أكثر بنظام الحاسوب.
---الواجهة الرسومية (GUI): تستخدم الصور والأيقونات والقوائم حيث يختار المستخدم الأمر المطلوب أو الأيقونة بتوجيه الفأرة والنقر عليها لتفعيل الأمر (أو عبر شاشات اللمس وهذه تتميز بالسهولة والمتعة).
##########
انتهت المحاضرة الخامسة.
هالمحاضرة "عويصة" حبتين؛ لكن إن شاء الله أفكفكها بالتلخيص النهائي.