مرجع
آخر الزيارات

مكتبة برمجية

776 كلمة•0 مشاهدة•🗒️ منذ 13 يوماً
باختصار: في الحوسبة، المكتبة هي مجموعة من البرامج الفرعية تستعمل لتطوير البرمجيات. تتناول المقالة 4 أقسام، منها «استعمال»، «تاريخها» و«الترحيل».
المحتويات
  1. استعمال
  2. تاريخها
  3. الترحيل
  4. الربط
مكتبة برمجية

تعريفًا بالموضوع، في الحوسبة، المكتبة هي مجموعة من البرامج الفرعية تستعمل لتطوير البرمجيات. تحتوي المكتبات كود «مُساعد» وبيانات توفر خدمات للبرامج المستقلة. يسمح هذا بمشاركة الكود والبيانات على شكل وحدات منفصلة. بعض الملفات التنفيذية مكتبات وبرامج مستقلة في الوقت ذاته، لكن ليست كل المكتبات تنفيذية. تضع التنفيذيات والمكتبات مراجع إلى بعضها البعض تسمى روابط في عملية تعرف بالربط ويقوم بها برنامج يسمى الرابط (linker). وتعرض الأقسام التالية جوانب أخرى من الموضوع.

علاوةً على ذلك، ظهرت المكتبات نحو سنة 1950، وأصبح عنصرا رئيسيا في البرمجة.يتم استخدامها لتنفيذ واجهات برمجة، إطارات عمل، برامج مساعدة و لغات برمجة.الوظائف الواردة في المكتبات البرمجية غالبا ما تكون مرتبطة بالعمليات المتكررة في البرمجة : معالجة واجهات المستعملين، معالجة قاعدة البيانات أو الحسابات الرياضية.

وعلى صعيد آخر، أغلب أنظمة التشغيل الحديثة توفر مكتبات تغطي أغلب خدمات النظام. توفر هذه المكتبات للبرامج الخدمات التي تتوقعها من نظام التشغيل.

استعمال

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

وفي السياق ذاته، في الحوسبة، الوظيفة هي عبارة عن مجموعة من التعليمات التي تدعم عملية معينة وتنتج نتيجة لذلك. ظهرت المكتبات البرمجية نحو سنة 1950، حيث كانت في ذلك الوقت عبارة عن مخزن يحتوي مجموعة من البطاقات المثقبة أو لفات شرائط مغناطيسية التي تخزن بدورها روتين-وظيفة. يمكن للمبرمجين اختيار الشرائط المغناطيسية لاستعمالها في برامجهم.

وفي السياق ذاته، تستعمل المكتبات البرمجية، كما ذكرنا سابقا، لتنفيذ واجهات برمجة، إطارات عمل، برامج مساعدة ولغات برمجة.

تاريخها

في هذا الإطار، في النهاية، يجب أن يذكر مؤرخو هذا المفهوم تأثير لغة البرمجة سيمولا 67. كانت لغة سيمولا أول لغة برمجة غرضية التوجه وصفوفها مشابهة للمفهوم الحديث المستعمل في لغات جافا وسي++ وسي شارب. كان مفهوم الصف في لغة سيمولا سلفًا لمفهوم الحزمة في لغة أيدا ومفهوم الوحدة في لغة موديولا-2. حتى عندما طُورت لغة سيمولا في بداياتها في عام 1965، كان من الممكن تضمين الصفوف فيها في ملفات المكتبة وإضافتها في وقت الترجمة.

من جانب آخر، تضمنت لغة كوبول كذلك «مؤهلات بدائية تدعم نظام المكتبة البرمجية» في سنة 1959، لكن جين ساميت وصفها بأنها كانت في ما مضى «تسهيلات غير كافية للمكتبة».

من جانب آخر، هناك مساهم رئيسي آخر في مفهوم المكتبة الحديثة كان على شكل برامج فرعية مبتكرة بلغة فورتران. يمكن ترجمة برامج فورتران الفرعية بشكل مستقل عن بعضها، لكن المترجم يفتقر إلى الرابط الذي يربط بينها. كان من المستحيل فحص النوع بين البرامج الفرعية المكتوبة بلغة فورتران قبل إدخال نماذج فورتران-90.

ومن ناحية أخرى، كان الهدف من المفاهيم البرمجية الأولى المشابهة للمكتبات البرمجية هو فصل تعاريف البيانات عن تنفيذ البرنامج. لفتت لغة غوفيال الانتباه العام إلى مفهوم كومبول (تجمع الاتصالات) في سنة 1959، مع أنها تبنت الفكرة من برمجيات ساغ الخاصة بالأنظمة الكبيرة. اتباعًا لمبادئ علوم الحاسب من فصل الاهتمامات وإخفاء البيانات، «كان هدف كوم بول هو إجازة مشاركة بيانات النظام بين البرامج من خلال توفير توصيف مركزي لهذه البيانات».

الترحيل

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

من جانب آخر، الترحيل هو عملية تنظيم هذه المراجع، وتتم إمّا من خلال الرابط أو المُحمّل. عمومًا، لا يمكن أن يُجرى الترحيل على المكتبات بمفردها لأن العناوين في الذاكرة قد تختلف اعتمادًا على البرنامج الذي يستعملها وعلى المكتبات الأخرى التي تُدمج معها. يتجنب الترميز المعتمد على الموقع استخدام مراجع لعناوين مطلقة وبالتالي فهو لا يتطلب ترحيلًا.

الربط

ومن جهة أخرى، قد تكون المراجع التي يجري تصميمها عناوينَ لقفزات أو استدعاءات روتينية أخرى. قد تكون في البرنامج الرئيسي، أو في وحدةٍ تعتمد على وحدة أخرى. تُصمم هذه المراجع على شكل عناوين ثابتة أو قابلة للنقل (من قاعدة مشتركة) من خلال تخصيص الذاكرة المستعملة في وقت التنفيذ لأقسام الذاكرة الخاصة بكل وحدة لها مرجع.

من جانب آخر، المكتبات البرمجية مهمة في عملية ربط أو دمج البرنامج التي تُصمم فيها المراجع المعروفة باسم روابط أو رموز لوحدات المكتبة. تُجرى عملية الربط عادةً آليًا عن طريق برنامج رابط أو دامج يبحث في مجموعة من المكتبات ووحدات أخرى مُعطاة في ترتيب معين. لا تُعد إمكانية وجود رابط هدف ما عدة مرات في مجموعة معطاة من المكاتب أنها خطأ عادةً. قد يتم الربط عندما يُنشأ ملف تنفيذي، أو في أي وقت يُستعمل فيه البرنامج في أثناء وقت تنفيذه.

وفي هذا الصدد، قد تستعمل بعض لغات البرمجة الأخرى ميزة تسمى الربط الذكي يكون فيها الرابط مدركًا وجود المترجم أو متكاملًا معه، مثل أن يدرك الرابط كيفية استخدام المراجع الخارجية، وإن وجد ترميز ما في مكتبة لا يُستعمل مطلقًا، على الرغم من وجود مرجعية داخلية له، فقد يُهمل من قبل التطبيق المُترجَم. مثلًا، يمكن لبرنامج ما يستعمل فقط الأعداد الصحيحة في الحساب، أو لا يُجري عمليات حسابية أبدًا، أن يستبعد الصيغ المكتبية للأعداد الحقيقية (ذات الفاصلة العائمة). قد نحصل من خلال ميزة الربط الذكي هذه على ملفات تطبيقات بحجوم أصغر ونُخفض من استخدام الذاكرة.

ما رأيك في هذه المقالة؟

📝 هل في هذه المقالة خطأ؟

إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.