برنامج التجديد

في علوم الحاسوب ، البرمجة الآلية [ 1 ] هي نوع من برمجة الحاسوب حيث تقوم آلية ما بإنشاء برنامج حاسوبي ، للسماح للمبرمجين البشريين بكتابة الكود على مستوى تجريد أعلى.

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

يُعد توليف البرامج أحد أنواع البرمجة الآلية حيث يتم إنشاء إجراء من الصفر، بناءً على متطلبات رياضية.

أصل

توضح ميلدريد كوس ، وهي من أوائل مبرمجي UNIVAC ، قائلةً: "تضمنت كتابة لغة الآلة عدة خطوات شاقة، منها تقسيم العملية إلى تعليمات منفصلة، ​​وتخصيص مواقع ذاكرة محددة لكل أمر، وإدارة مخازن الإدخال/الإخراج. بعد اتباع هذه الخطوات لتنفيذ إجراءات رياضية، ومكتبة إجراءات فرعية، وبرامج فرز، كان علينا النظر إلى عملية البرمجة ككل. كنا بحاجة إلى فهم كيفية إعادة استخدام التعليمات البرمجية المختبرة، وكيفية مساعدة الآلة في البرمجة. أثناء البرمجة، كنا ندرس العملية ونحاول التفكير في طرق لتجريد هذه الخطوات ودمجها في لغة برمجة عالية المستوى. أدى ذلك إلى تطوير المفسرات، والمجمعات، والمترجمات، والمولدات - وهي برامج مصممة للعمل على برامج أخرى أو إنتاجها، أي البرمجة الآلية ." [ 3 ]

البرمجة التوليدية

البرمجة التوليدية والمصطلح المرتبط بها البرمجة الفوقية [ 4 ] هما مفهومان يمكن من خلالهما كتابة البرامج "لتصنيع مكونات البرمجيات بطريقة آلية" [ 5 ] تمامًا كما حسّنت الأتمتة "إنتاج السلع التقليدية مثل الملابس والسيارات والمواد الكيميائية والإلكترونيات". [ 6 ] [ 7 ]

الهدف هو تحسين إنتاجية المبرمجين . [ 8 ] وغالبًا ما يرتبط ذلك بمواضيع إعادة استخدام التعليمات البرمجية مثل هندسة البرمجيات القائمة على المكونات .

توليد الشفرة المصدرية

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

تحظى لغات البرمجة الحديثة بدعم جيد من أدوات مثل Json4Swift [ 10 ] ( Swift ) و Json2Kotlin [ 11 ] ( Kotlin ).

تتضمن البرامج التي يمكنها توليد كود COBOL ما يلي:

كانت مولدات التطبيقات هذه تدعم عمليات إدخال وتجاوز COBOL.

يُعدّ المعالج الكلي ، مثل معالج C المسبق ، الذي يستبدل الأنماط في شفرة المصدر وفقًا لقواعد بسيطة نسبيًا، شكلًا بسيطًا من أشكال مولد شفرة المصدر. كما توجد أدوات لتوليد شفرة المصدر من مصدر إلى مصدر . [ 13 ] [ 14 ]

تستطيع نماذج اللغة الكبيرة مثل ChatGPT توليد شفرة المصدر لبرنامج ما من وصف للبرنامج مكتوب بلغة طبيعية. [ 15 ]

توفر العديد من أنظمة إدارة قواعد البيانات العلائقية ( RDBMS ) وظيفة تقوم بتصدير محتوى قاعدة البيانات كاستعلامات تعريف بيانات SQL ، والتي يمكن تنفيذها بعد ذلك لإعادة استيراد الجداول وبياناتها، أو ترحيلها إلى نظام إدارة قواعد بيانات علائقية آخر.

تستخدم بعض اللغات التعليقات التوضيحية لتوليد شفرة المصدر وحقنها. على سبيل المثال، يتم ذلك في لغتي جافا وكوتلن باستخدام التعليقات التوضيحية ، كما في مكتبة مشروع لومبوك التي تعمل في وقت الترجمة باستخدام معالج التعليقات التوضيحية . وقد طُرح اقتراح في لغة C++ لإضافة حقن تسلسل الرموز باستخدام البرمجة الانعكاسية في وقت الترجمة . [ 16 ]

تطبيقات منخفضة البرمجة

منصة تطوير البرمجيات منخفضة التعليمات البرمجية (LCDP) هي برنامج يوفر بيئة يستخدمها المبرمجون لإنشاء برامج التطبيقات من خلال واجهات المستخدم الرسومية والتكوين بدلاً من برمجة الكمبيوتر التقليدية .

ترميز الحالة المزاجية

البرمجة المرئية هي تطوير برمجيات مدعوم بالذكاء الاصطناعي ، حيث يصف مطور البرمجيات مشروعًا أو مهمةً في نموذج لغوي ضخم ، يقوم بدوره بتوليد شفرة المصدر تلقائيًا. قد تتضمن البرمجة المرئية قبول الشفرة المولدة بواسطة الذكاء الاصطناعي دون مراجعة دقيقة للمخرجات، والاعتماد بدلًا من ذلك على النتائج والتوجيهات اللاحقة لتوجيه التغييرات. [ 17 ] [ 18 ]

صاغ هذا المصطلح عالم الحاسوب أندريه كارباثي ، أحد مؤسسي OpenAI والقائد السابق للذكاء الاصطناعي في شركة تسلا ، في فبراير 2025. وأدرجه قاموس ميريام-ويبستر في مارس 2025 ضمن مصطلحات "عامية وشائعة". [ 19 ] وحصل على لقب كلمة العام من قاموس كولينز الإنجليزي لعام 2025. [ 20 ] [ 21 ]

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

انظر أيضاً

ملحوظات

  1. ريكاردو ألير مور، " البرمجة الاستقرائية التلقائية " مؤرشفة في 2016-03-04 على موقع Wayback Machine ، برنامج تعليمي لمؤتمر ICML 2006. يونيو 2006.
  2. دي إل بارناس. " الجوانب البرمجية لأنظمة الدفاع الاستراتيجية ". مجلة ساينتست الأمريكية . نوفمبر 1985.
  3. تشون، ويندي. "حول البرمجيات، أو استمرار المعرفة البصرية". الغرفة الرمادية 18. بوسطن: 2004، ص 30.
  4. "حول البرمجة التوليدية" . البرمجة التوليدية، كمجال فرعي من البرمجة الفوقية، تصف ممارسة كتابة البرامج التي تولد برامج أخرى كجزء من تنفيذها.
  5. بي. كوينت (2005). "نحو البرمجة التوليدية". نماذج البرمجة غير التقليدية . سلسلة محاضرات في علوم الحاسوب. المجلد 3566. الصفحات 315-325 . doi : 10.1007/11527800_24 . ISBN   978-3-540-27884-9البرمجة التوليدية (GP) هي محاولة لتصنيع مكونات البرمجيات بطريقة آلية من خلال تطوير برامج تقوم بتوليف برامج أخرى.
  6. "البرمجة التوليدية: المفاهيم والخبرات (GPCE)" .
  7. من المقرر عقدمؤتمر SIGPLAN حول هذا الموضوع في نوفمبر 2018. وشملت المحاولات السابقة / في السبعينيات في هذا المجال Yacc وبرامج Lex ذات الصلة.
  8. جيمس ويلكوكس، " دفع مبالغ طائلة لتطوير التطبيقات المخصصة "، مارس 2011.
  9. "مولد التطبيقات" . PCMag.com . برنامج يُنشئ برامج تطبيقية من وصف المشكلة بدلاً من البرمجة التقليدية. وهو ذو مستوى أعلى وأسهل استخدامًا من لغات البرمجة عالية المستوى مثل...
  10. فريق العمل. "مولد نماذج JSON إلى Swift عبر الإنترنت" . Json4Swift.com . تم الاطلاع عليه بتاريخ 19 أبريل 2026 .
  11. فريق العمل. "مولد فئات البيانات من JSON إلى Kotlin عبر الإنترنت" . Json2Kotlin.com . تم الاطلاع عليه بتاريخ 19 أبريل 2026 .
  12. "صيغة أوامر DYL-280" (ملف PDF) . مؤرشف من النسخة الأصلية (PDF) بتاريخ 30 يوليو 2018. تم الاطلاع عليه بتاريخ 3 سبتمبر 2018 .
  13. نواج، غابرييل، كريستوف جيليه، وميشيل كراجيكي. " مترجم الشفرة المصدرية: من OpenMP C إلى CUDA ". المؤتمر الدولي الثالث عشر للحوسبة عالية الأداء والاتصالات (HPCC)، IEEE، 2011. IEEE، 2011.
  14. كوينلان، دان، وتشونهوا لياو. " بنية مُترجم ROSE من المصدر إلى المصدر ". ورشة عمل مستخدمي Cetus وبنية المُترجم، بالاشتراك مع PACT. المجلد 2011. 2011.
  15. تونغ، ليام (26 يناير 2023). "يستطيع ChatGPT كتابة التعليمات البرمجية. ويقول الباحثون الآن إنه بارع في إصلاح الأخطاء أيضًا" . ZDNET . مؤرشف من الأصل في 3 فبراير 2023. تم الاطلاع عليه في 22 يونيو 2023 .
  16. أندريه ألكسندرسكو، باري ريزفين، دافيد فانديفورد (16 يوليو 2024). "حقن التعليمات البرمجية باستخدام تسلسلات الرموز" . open-std.org . WG21.{{cite web}}: صيانة CS1: أسماء متعددة: قائمة المؤلفين ( رابط )
  17. 1 2 إدواردز، بنج (5 مارس 2025). "هل سيعتمد مستقبل تطوير البرمجيات على الذبذبات؟" . آرس تكنيكا . مؤرشف من الأصل في 6 مارس 2025. تم الاسترجاع في 3 يونيو 2025. لقد جذبت هذه التقنية، التي تُمكّنها نماذج اللغة الكبيرة (LLMs) من شركات مثل OpenAI وAnthropic، الانتباه لقدرتها المحتملة على خفض عوائق إنشاء البرمجيات. لكن لا تزال هناك تساؤلات حول ما إذا كان هذا النهج قادرًا على إنتاج شفرة برمجية مناسبة للتطبيقات العملية بشكل موثوق، حتى مع تزايد سهولة استخدام أدوات مثل Cursor Composer وGitHub Copilot وReplit Agent، مما يجعل العملية في متناول غير المبرمجين بشكل متزايد.
  18. «ما هو "رمز الأجواء"؟ أندريه كارباثي، المدير السابق للذكاء الاصطناعي في تسلا ، يُعرّف حقبة جديدة في التطوير القائم على الذكاء الاصطناعي» . صحيفة تايمز أوف إنديا . 2 مارس 2025. مؤرشف من الأصل في 4 مارس 2025. تم الاطلاع عليه في 3 يونيو 2025. يُعدّ "رمز الأجواء" الذي ابتكره كارباثي اعترافًا بمدى تطور أنظمة الذكاء الاصطناعي. وفي معرض حديثه على منصة X (تويتر سابقًا)، أضاف أن أنظمة التعلم الآلي، مثل Cursor Composer مع Sonnet، تتقدم إلى درجة تكاد تُغني عن استخدام آليات البرمجة التقليدية. وصف كارباثي تجربته الشخصية، موضحًا كيف يتفاعل مع أدوات الذكاء الاصطناعي بطريقة شبه سلبية - مجرد التحدث إليها وترك الباقي للذكاء الاصطناعي. تُغني هذه الطريقة عن كتابة التعليمات البرمجية يدويًا، بالإضافة إلى تتبع جميع التفاصيل الدقيقة في البرنامج.
  19. "البرمجة التفاعلية" . مصطلحات عامية رائجة . قاموس ميريام-ويبستر. 8 مارس 2025. تاريخ الاطلاع: 2 يونيو 2025. البرمجة التفاعلية (أو البرمجة المرئية) (Vibecode/Vibecoder) مصطلح حديث يُطلق على ممارسة كتابة البرامج، أو تصميم صفحات الويب، أو إنشاء التطبيقات، بمجرد إخبار برنامج ذكاء اصطناعي بما تريده، وتركه يُنشئ المنتج نيابةً عنك. في البرمجة التفاعلية، لا يحتاج المبرمج إلى فهم كيفية عمل الكود أو سببه، وغالبًا ما يضطر إلى تقبّل وجود عدد من الأخطاء والمشاكل التقنية. الفعل المشتق من الكلمة هو "البرمجة التفاعلية".
  20. غارنسوورثي، جيني (6 نوفمبر 2025). "قاموس كولينز يُتوّج مصطلح الذكاء الاصطناعي كلمة العام" . صحيفة الإندبندنت . تاريخ الاسترجاع: 6 نوفمبر 2025 .
  21. ""مصطلح 'Vibe coding' يُختار ككلمة العام من قِبل قاموس كولينز" . بي بي سي نيوز . 6 نوفمبر 2025. تاريخ الاطلاع: 6 نوفمبر 2025 .
  22. لانز، خوسيه أنطونيو (23 مارس 2025). "البرمجة التفاعلية: كيف يستخدم المطورون والهواة على حد سواء الذكاء الاصطناعي لإنشاء التطبيقات والألعاب" . Decrypt.co .
  23. 1 2 تشودري، حسن؛ مان، جيوتي (13 فبراير 2025). "الخطوة التالية لوادي السيليكون: تقديم "ترميز المشاعر" للعالم" . بزنس إنسايدر . مؤرشف من الأصل في 26 فبراير 2025. تم الاسترجاع في 3 مارس 2025 .

مراجع