Boost (مكتبات C++)

الشعار القديم (2006–2025)

مكتبات Boost C++ (المعروفة أيضًا باسم Boost ) هي مجموعة من المكتبات للغة البرمجة C++ ، توفر الدعم لمهام وهياكل مثل الجبر الخطي ، وتوليد الأرقام شبه العشوائية ، والمعالجة المتعددة، ومعالجة الصور ، والتعبيرات النمطية ، واختبار الوحدات . تحتوي حاليًا على 170 مكتبة فردية. [ 3 ]

جميع مكتبات Boost مرخصة بموجب رخصة برمجيات Boost ، المصممة للسماح باستخدام Boost مع مشاريع البرمجيات الحرة والتجارية على حد سواء . [ 4 ] تُستخدم Boost بشكل تكميلي مع مكتبة C++ القياسية لتعزيز ميزاتها. العديد من مؤسسي Boost أعضاء في لجنة معايير C++ ، وقد تم قبول العديد من مكتبات Boost لإدراجها في التقرير الفني C++ 1 ، ومعيار C++11 (مثل المؤشرات الذكية ، والخيوط ، والتعبيرات النمطية ، وتوليد الأرقام العشوائية ، والحساب النسبي (النسبة)، والصفوف ) [ 5 ] [ 6 ] ، ومعيار C++17 (مثل واجهة برمجة تطبيقات نظام الملفات ، وأنواع أي ، وأنواع الخيارات ، وأنواع المتغيرات ، وعروض السلاسل النصية ). [ 7 ]

ظهر مجتمع Boost حوالي عام 1998، عندما صدرت النسخة الأولى من المعيار. وقد نما هذا المجتمع باستمرار منذ ذلك الحين، ويلعب الآن دورًا هامًا في توحيد معايير لغة C++. ورغم عدم وجود علاقة رسمية بين مجتمع Boost ولجنة التوحيد، إلا أن بعض المطورين نشطون في كلا المجموعتين.

تصميم

تستهدف هذه المكتبات مجموعة واسعة من مستخدمي لغة C++ ومجالات التطبيقات. وهي تتراوح من المكتبات ذات الأغراض العامة مثل مكتبة المؤشر الذكي ، إلى تجريدات نظام التشغيل مثل Boost FileSystem ، إلى المكتبات الموجهة بشكل أساسي لمطوري المكتبات الآخرين ومستخدمي لغة C++ المتقدمين، مثل برمجة القوالب الوصفية (MPL) وإنشاء لغة خاصة بالمجال (DSL) (Proto).

لضمان الكفاءة والمرونة، تستخدم مكتبة Boost القوالب على نطاق واسع . وقد شكلت Boost مصدرًا للعديد من الأعمال والأبحاث في مجال البرمجة العامة والبرمجة الوصفية في لغة C++. [ 8 ]

تعتمد معظم مكتبات Boost على ملفات رأسية ، تتألف من دوال وقوالب مضمنة، ولذلك لا تحتاج إلى بناء مسبق قبل استخدامها. بعض مكتبات Boost موجودة كمكتبات مستقلة. [ 9 ] [ 10 ] بعض مكتبات Boost، مثل مكتبة Boost boost.regex، تُقدم كوحدات نمطية ، حيث تبدأ بقية المكتبة بدعم الوحدات النمطية.

الأشخاص المرتبطون

تأسست مكتبة Boost عام ١٩٩٨ على يد ثلاثة أعضاء من لجنة معايير لغة C++: بيمان داوز، وديفيد أبراهامز، وروبرت كلارير. انبثقت الفكرة خلال حوار بين كلارير وداوز في اجتماع لجنة معايير لغة C++ الذي عُقد في مارس ١٩٩٨ في صوفيا أنتيبوليس، فرنسا، وانضم إليهما أبراهامز بعد ذلك بفترة وجيزة لتأسيس أول قائمة بريدية لـ Boost. "تاريخ Boost" . وثائق موقع Boost . تحالف C++ . تاريخ الاطلاع: ٢٦ يناير ٢٠٢٦ .ستروستروب، بيارن؛ سوتر ، هيرب (1 ديسمبر 2020). "تذكر بيمان دوز" . معيار سي++ . تم الاسترجاع في 26 يناير 2026 .

عمل بيمان داوز (توفي في ديسمبر 2020) في لجنة معايير لغة C++ (WG21) منذ عام 1992، وترأس فريق عمل المكتبة لمدة خمس سنوات خلال إنجاز معيار C++98. ستروستروب، بيارن؛ ساتر، هيرب (1 ديسمبر 2020). "تخليدًا لذكرى بيمان داوز" . معيار C++ . تم الاطلاع عليه في 26 يناير 2026 .كان داوز المؤلف الأصلي لمكتبة Boost.Filesystem، التي شكلت لاحقًا أساس مكتبة std::filesystem في لغة C++17. ولعب دورًا محوريًا في تأسيس عملية مراجعة النظراء وثقافة الاختبار في Boost. "تاريخ Boost" . وثائق موقع Boost . تحالف C++ . تم الاطلاع عليه بتاريخ 26 يناير 2026 .

كان ديفيد أبراهامز عضوًا في لجنة معايير لغة C++ من عام 1996 إلى عام 2012، ويُعرف بتطويره لنظرية أمان الاستثناءات في لغة C++، بما في ذلك إطار عمل "ضمانات أبراهامز". "ديفيد أبراهامز (مبرمج حاسوب)" . ويكيبيديا . تاريخ الاطلاع: 26 يناير 2026 .قام بتأليف العديد من مكتبات Boost، بما في ذلك Boost.Python، وشارك في تأليف كتاب C++ Template Metaprogramming (2004). في عام 2001، أسس أبراهامز شركة Boost Consulting (التي أصبحت لاحقًا BoostPro Computing) لتقديم الدعم التجاري لمكتبات Boost. "ديفيد أبراهامز (مبرمج حاسوب)" . ويكيبيديا . تاريخ الاطلاع: 26 يناير 2026 .

روبرت كلارير، الذي كان يعمل في شركة IBM، شارك في إطلاق مفهوم Boost مع داوز، وساهم في المناقشات المبكرة حول أفضل الممارسات لتطوير مكتبات عالية الجودة. "تاريخ Boost" . وثائق موقع Boost . تحالف C++ . تاريخ الاطلاع: 26 يناير 2026 .فالكو، فيني (8 مايو 2023). "مستقبل Boost" . تحالف C++ . تم الاطلاع عليه بتاريخ 26 يناير 2026 . توجد قوائم بريدية مخصصة لاستخدام مكتبة Boost وتطويرها، وهي نشطة اعتبارًا من عام 2023.[ 11 ]

رخصة

يُرخَّص برنامج Boost بموجب ترخيصه الخاص المجاني والمفتوح المصدر ، والمعروف باسم ترخيص برمجيات Boost. [ 14 ] وهو ترخيص متساهل على غرار ترخيصي BSD و MIT ، ولكنه لا يشترط الإسناد عند إعادة التوزيع في شكل ثنائي . [ 15 ] وقد حظي الترخيص بموافقة مبادرة البرمجيات المفتوحة (OSI) منذ فبراير 2008 [ 16 ] [ 17 ] ، وتعتبره مؤسسة البرمجيات الحرة ترخيصًا للبرمجيات الحرة ، متوافقًا مع رخصة جنو العمومية العامة (GNU GPL ) . [ 13 ]

انظر أيضاً

مراجع

  1. "الإصدارات القديمة" . تم الاطلاع عليه بتاريخ 11 أبريل 2017 .
  2. https://github.com/boostorg/boost/releases/tag/boost-1.91.0 .{{cite web}}: مفقود أو فارغ |title=( مساعدة )
  3. "قائمة مكتبات Boost" .
  4. "رخصة برنامج Boost" . www.boost.org . تم الاطلاع عليه بتاريخ 2022-01-06 .
  5. "التقرير الفني للمكتبة" . JTC1/SC22/WG21 - لجنة معايير لغة C++. 2 يوليو 2003. تم الاطلاع عليه في 1 فبراير 2012 .
  6. "واجهة برمجة تطبيقات للخيوط للغة C++" .
  7. "موقع StackOverflow.com" .
  8. أبراهامز، ديفيد؛ غورتوفوي، أليكسي (10 ديسمبر 2004). برمجة القوالب في لغة C++: مفاهيم وأدوات وتقنيات من Boost وما بعدها . بيرسون للتعليم. ص 408. 
  9. "موقع Asio الإلكتروني" .
  10. "موقع إلكتروني للروح" .
  11. "تعزيز القوائم البريدية (المعروفة أيضًا باسم مجموعات المناقشة)" . تم الاطلاع عليه بتاريخ 28 أبريل 2020 .
  12. "رخصة برنامج Boost" . Boost (مكتبات C++) . 3 ديسمبر 2003. مؤرشف من الأصل في 24 أبريل 2025. تم الاطلاع عليه في 21 أبريل 2025 .
  13. 1 2 3 4 "تراخيص متنوعة وتعليقات عليها - مشروع جنو - مؤسسة البرمجيات الحرة (FSF)" .
  14. "رخصة برنامج Boost - الإصدار 1.0" (TXT) . 17 أغسطس 2003. تم الاطلاع عليه في 22 ديسمبر 2023 .
  15. ^ دوز، بيمان. "تعزيز ترخيص البرمجيات" . تم الاسترجاع 2016/08/01 .
  16. "أرشيف قائمة بريد بوست" . مؤرشف من الأصل بتاريخ 2016-11-07.
  17. "رخصة برنامج Boost 1.0 (BSL-1.0) | مبادرة المصادر المفتوحة" . 5 فبراير 2008.

للمزيد من القراءة

  • ديمينغ، روبرت ودوفي، دانيال ج. (2010). مقدمة إلى مكتبات Boost C++ . المجلد  1 - الأساسيات. داتاسيم. ISBN 978-94-91028-01-4.
  • ديمينغ، روبرت ودوفي، دانيال ج. (2012). مقدمة إلى مكتبات Boost C++ . المجلد  2 - المكتبات المتقدمة. داتاسيم. ISBN 978-94-91028-02-1.
  • موخيرجي ، أريندام (2015). مكتبات تعزيز التعلم C++ . حزمة. رقم ISBN 978-1-78355-121-7.
  • بولوخين، أنتوني (2013). كتاب الطبخ لتطوير التطبيقات Boost C++ . حزمة. رقم ISBN 978-1-84951-488-0.
  • بولوخين، أنتوني (2017). كتاب الطبخ لتطوير تطبيقات Boost C++ (  طبعتان). حزمة. رقم ISBN 978-1-78728-224-7.
  • شالينغ، بوريس (2011). مكتبات Boost C++ . دار نشر XML. رقم ISBN 978-0-9822191-9-5.
  • شالينغ، بوريس (2014). مكتبات Boost C++ (  الطبعة الثانية). دار نشر XML. ص  570. ISBN 978-1-937434-36-6.
  • سيك، جيريمي جي؛ لي، لي-كوان ولومسدين، أندرو (2001). مكتبة Boost Graph: دليل المستخدم ودليل المرجع . أديسون-ويسلي. ISBN 978-0-201-72914-6.