الترميز الناشئ

البرمجة الناشئة هي نموذج لتطوير البرمجيات اللامركزية يستخدم نوعًا من مكونات البرمجيات التي لا يمكن نسخها أو إعادة استخدامها، وذلك بهدف تحقيق تخصص عملي للمطورين، وسوق فعّالة لمكونات البرمجيات. [ 1 ] [ 2 ]

وصف

البرمجة الناشئة هي نموذج تطوير برمجيات لا مركزي يستخدم نوعًا جديدًا من مكونات البرمجيات غير القابلة للنسخ أو إعادة الاستخدام. [ 1 ] تضمن هذه الطريقة للمطورين إمكانية عرض مكونات برمجياتهم للبيع العام بأمان دون المساس بفرص تكرار التعامل معهم ، [ 3 ] وهي ميزة أساسية لتخصص المطورين الفعال، وتحقيق رؤية دوغلاس ماكلروي عام 1968 لسوق مكونات البرمجيات. [ 2 ]

يمثل هذا التغيير انعكاسًا لمسؤولية التكامل، فبدلًا من جلب المكون بالطريقة التقليدية، يُقدّم المطور موقع بناء المشروع للمورد، الذي يقوم بدوره بدمج مكونه في المشروع. ويُحوّل هذا التغيير النظرة إلى المكونات من مكتبة إجراءات إلى فهرس خدمات تصميم. [ 1 ]

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

تاريخ

لاحظ دوغلاس ماكلروي ، خلال مؤتمر لحلف الناتو عام ١٩٦٨، أن "صناعة البرمجيات ليست صناعية" [ ٢ ] ، واقترح سوقًا لمكونات البرمجيات مع "توزيع المكونات عبر روابط الاتصال "، حيث "يمكن تسويق حتى أصغر المكونات بشكل مربح". تخيّل ماكلروي كتالوجًا على غرار " سيرز روبوك " "ليقتنيه بنفسه لو كان يشتري المكونات". لم يتناول اقتراح ماكلروي كيفية تحقيق تخصص المطورين بشكل عملي إذا أردنا تحويل " المزارعين " إلى " صناعيين ". تحديدًا، بينما يسهل على المطور التخصص، يكاد يكون من المستحيل عليه بناء مشروع تجاري ناجح كمتخصص.

في أواخر عام ١٩٩٤، اقترح نويل لوفيزا عكس مسؤولية التكامل كوسيلة لحماية الملكية الفكرية للموردين ، وبالتالي الحفاظ على فرص تكرار الأعمال، وإرساء أساس عملي لتخصص المطورين. أسس لوفيزا شركة كود فالي كورب بي تي واي المحدودة [ ٤ ] في مايو ٢٠٠٠ لإنشاء سوق عملي لمكونات البرمجيات قائم على هذا المبدأ، ونشر ورقة بحثية في عام ٢٠١٦ [ ١ ] ، وأجرى تجارب على سوق مركزي لمكونات البرمجيات في العام نفسه. في يونيو ٢٠١٨، ألقى لوفيزا كلمة رئيسية في مؤتمر ICSE ٢٠١٨ في غوتنبرغ ، السويد [ ٥ ] [ ٦ ] ، والذي صادف الذكرى الخمسين لمؤتمر هندسة البرمجيات لحلف الناتو عام ١٩٦٨ [ ٧ ] [ ٨ ] [ ٢ ] ، وحضره ماكلروي وغيره من رواد الصناعة. في سبتمبر 2023، وجه ماكلروي دعوة إلى لوفيزا لتقديم عرض حول البرمجة الناشئة في كلية دارتموث ، نيو هامبشاير. [ 9 ]

في أواخر عام 2023، بدأت Code Valley تجارب سوق مكونات البرمجيات اللامركزية وغير الخاضعة للوصاية بالكامل والتي تتميز ببيئة تطوير متكاملة مخصصة (IDE)، وأكثر من 5000 مكون برمجي تشغل 4 مستويات من التجريد (السلوك، والأنظمة، والبيانات، والبايت)، ونظام تتبع الأخطاء الموزع (DFT)، ونظام دفع نقدي إلكتروني من نظير إلى نظير ، وكتالوج تفاعلي لأسعار المكونات، وأوراق البيانات، ومواصفات العقود، والتصاميم المرجعية.

من المتوقع إطلاق التطبيق، الذي تم بناؤه باستخدام البرمجة الناشئة، بشكل علني في أواخر عام 2026.

تطوير البرمجيات باستخدام الترميز الناشئ

بيئة تطوير متكاملة للبرمجة الناشئة (IDE)

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

يقوم كل مقاول متعاقد بالتحقق من الدفع وتخصيص مهمة له بموجب العقد، مع الحرص على إعادة رقم المهمة إلى العميل ليتمكن من إرسال تفويضات التواصل للتعاون بين المقاولين كما هو مفصل في بنود العقد. يتلقى هؤلاء المقاولون جزءًا من متطلباتهم مباشرةً بموجب بنود العقد، بينما يتم تحديد الباقي من خلال التعاون مع نظرائهم وفقًا لما هو مصرح به في بنود العقد. بمجرد حصول كل مقاول على متطلبات المشروع، يقوم بالتعاقد من الباطن على مكونات أصغر وفقًا لخبرته المتخصصة ، والتي بدورها تقوم بالمثل. يُعيد كل مقاول من الباطن جزءًا من التعليمات البرمجية والبيانات، والتي عند دمجها، تُشكل أجزاءً كاملة من التعليمات البرمجية والبيانات لتسليمها إلى العميل عند إبرام العقد. [ 1 ]

يقوم المقاولون الفرعيون في شجرة التعاقدات الخاصة بالمشروع بالتحقق من الدفع وتخصيص مهمة لكل عقد، مع الحرص على إعادة رقم المهمة إلى العميل ليتمكن من إرسال تفويضات التواصل للتعاون بين المقاولين وفقًا لخبراتهم المتخصصة. وكما في السابق، يتلقى هؤلاء المقاولون جزءًا من متطلباتهم مباشرةً بموجب بنود العقد، بينما يُحدد الباقي من خلال التعاون مع نظرائهم وفقًا لبنود العقد. ومع ذلك، ونظرًا لاكتسابهم فهمًا كافيًا لسياق التصميم، فإنهم يُقدمون أجزاء من التعليمات البرمجية والبيانات مباشرةً للعميل لإتمام العقد. [ 1 ]

انظر أيضاً

ملحوظات

مراجع

  1. 1 2 3 4 5 6 7 8 "ورقة عمل حول البرمجة الناشئة، متاحة على الموقع الإلكتروني" . كود فالي . تم الاطلاع عليها بتاريخ 6 أغسطس 2024 .
  2. 1 2 3 4 ماكيلروي، دوغلاس (11 أكتوبر 1968). "مكونات البرمجيات المنتجة بكميات كبيرة" . هندسة البرمجيات، تقرير عن مؤتمر برعاية اللجنة العلمية لحلف الناتو، غارميش، ألمانيا . تم الاطلاع عليه في 6 أغسطس 2024 .
  3. فيثارانا، بادمال. "مخاطر وتحديات تطوير البرمجيات القائمة على المكونات" . ACM.org . اتصالات ACM . تم الاطلاع عليه بتاريخ 30 سبتمبر 2024 .
  4. "سجل الأعمال الأسترالي" .
  5. "بث مباشر من ICSE: منتدى الصناعة - نويل لوفيزا" . تم الاطلاع عليه بتاريخ 19 سبتمبر 2024 .
  6. "ICSE 2018" . المؤتمر الدولي الأربعون لهندسة البرمجيات، 27 مايو - 3 يونيو 2018، غوتنبرغ، السويد .
  7. "هندسة البرمجيات" (ملف PDF) .
  8. "تقنيات هندسة البرمجيات" (ملف PDF)
  9. "البرمجة الناشئة - نموذج جذري لتطوير البرمجيات" . 15 سبتمبر 2023. تم الاطلاع عليه بتاريخ 19 سبتمبر 2024 .