لغة البرمجة المرئية

كتلة برمجية مخصصة بسيطة في لغة البرمجة المرئية Snap!، والتي تعتمد على Scratch ، لحساب مجموع جميع الأرقام التي تقع قيمها بين a و b

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

تعريف

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

الهدف العام من VPLs هو جعل البرمجة في متناول المبتدئين ودعم المبرمجين على ثلاثة مستويات مختلفة [ 4 ].

بناء الجملة
تستخدم لغات البرمجة المرئية الرموز/الكتل والنماذج والرسوم البيانية في محاولة لتقليل أو حتى القضاء على احتمالية حدوث أخطاء نحوية، مما يساعد في ترتيب العناصر البرمجية الأساسية لإنشاء برامج جيدة التكوين.
علم الدلالة
قد توفر لغات البرمجة الافتراضية بعض الآليات للكشف عن معنى العناصر البرمجية الأساسية. وقد يشمل ذلك وظائف المساعدة التي توفر وظائف التوثيق المدمجة في لغات البرمجة.
البراغماتية
تدعم لغات البرمجة الافتراضية (VPLs) دراسة دلالات البرامج في مواقف محددة. يتيح هذا المستوى من الدعم للمستخدمين وضع العناصر المُنشأة باستخدام لغة برمجة افتراضية في حالة معينة لاستكشاف كيفية تفاعل البرنامج مع تلك الحالة. على سبيل المثال: في AgentSheets أو AgentCubes، يمكن للمستخدمين ضبط الألعاب أو المحاكاة في حالة معينة لمعرفة كيفية تفاعل البرنامج. باستخدام لغة برمجة Thymio، يمكن للمستخدمين وضع روبوت في حالة معينة لمعرفة كيفية تفاعله، أي تحديد المستشعرات التي سيتم تفعيلها.

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

لغات البرمجة Visual Basic و Visual C# و Visual J# وغيرها، المتوفرة في بيئة التطوير المتكاملة (IDE) Microsoft Visual Studio، ليست لغات برمجة مرئية؛ فتمثيل الخوارزميات وغيرها نصي، على الرغم من أن بيئة التطوير المتكاملة تُحسّن عمليات التحرير والتصحيح بواجهة مستخدم غنية. وينطبق الأمر نفسه على معظم بيئات التطوير السريع الأخرى ، التي تدعم عادةً مصمم نماذج ، وتتضمن أحيانًا أدوات رسومية لتوضيح (وليس تعريف) تدفق التحكم وتبعيات البيانات.

يمكن تنفيذ المحللات للغات البرمجة المرئية باستخدام قواعد الرسم البياني . [ 6 ] [ 7 ]

أنواع اللغات البصرية

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

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

لغات بصرية متعددة الأغراض

صُممت معظم لغات البرمجة المرئية لأغراض تعليمية أو لاستخدامات محددة في مجالات معينة، حيث يكون المستخدمون المستهدفون هم المبرمجون المبتدئون. ولكن هناك بعض المشاريع البحثية التي تسعى إلى توفير لغة برمجة مرئية عامة الأغراض يمكن استخدامها من قبل المبرمجين المحترفين في أي مشروع برمجي بدلاً من استخدام لغات البرمجة النصية (مثل C و C++ و Java وغيرها).

فعلى سبيل المثال، صُممت مشاريع بحثية مثل PWCT وEnvision لتحقيق هذا الهدف. [ 8 ] [ 9 ] [ 10 ]

قائمة اللغات البصرية

تتضمن القائمة التالية بعض لغات البرمجة المرئية البارزة.

تعليمي

الوسائط المتعددة

ألعاب الفيديو

  • يحتوي Babylon.js على محرر مواد العقدة الذي يمكن استخدامه لإنشاء التظليلات، والقوام الإجرائي، وأنظمة الجسيمات، وتأثيرات ما بعد المعالجة. [ 16 ]
  • محرك ألعاب بلندر (محرر المنطق الرسومي)
  • صندوق البناء
  • برنامج Clickteam Fusion ، وهو برنامج لإنشاء ألعاب ثنائية الأبعاد مزود بنظام تحرير الأحداث، تم تطويره بواسطة شركة Clickteam SARL، والمعروفة سابقًا باسم Klik n' Play وThe Games Factory وMultimedia Fusion 2
  • Construct 2-3 عبارة عن محررات ألعاب ثنائية الأبعاد تعتمد على HTML5، تم تطويرها بواسطة Scirra Ltd.
  • يحتوي محرك CryEngine على لغة برمجة مرئية قائمة على العقد تسمى FlowGraph.
  • تتميز لعبة Dreams ، التي تعمل على جهاز PlayStation، بلغة بصرية واسعة النطاق تسمح للاعبين بإنشاء أي نوع من الألعاب
  • Game Builder Garage ، أداة لإنشاء ألعاب ثلاثية الأبعاد وثنائية الأبعاد لجهاز Nintendo Switch ، تم تطويرها بواسطة Nintendo .
  • يحتوي برنامج GameMaker Studio على نظام إنشاء ألعاب يعتمد على السحب والإفلات، وقد تم تطويره بواسطة شركة YoYo Games.
  • GameSalad هي أداة لإنشاء الألعاب المرئية تم تطويرها بواسطة شركة GameSalad, Inc.
  • GDevelop هي أداة لإنشاء الألعاب المرئية تم إنشاؤها بواسطة فلوريان ريفال (4ian).
  • يُتيح محرك الألعاب Godot إمكانية إنشاء نصوص الألعاب ومُظللات الرسومات باستخدام لغات البرمجة المرئية القائمة على رسم بياني للعقد. وقد أُزيلت هذه الميزة، ولكن لا يزال من الممكن استخدامها مع إضافة.
  • لعبة Human Resource Machine هي لعبة ألغاز تعتمد على البرمجة المرئية، وقد طورتها شركة Tomorrow Corporation .
  • Kodu ، وهو برنامج مصمم لبرمجة الألعاب بواجهة ثلاثية الأبعاد تم تطويره بواسطة Microsoft Research.
  • Pixel Game Maker MV هي أداة لتطوير ألعاب الفيديو ثنائية الأبعاد تعتمد على واجهة المستخدم.
  • يحتوي برنامج Resonite على لغة بصرية مشابهة لبرنامج Rec Room تسمى protoflux، والتي تُستخدم في الكائنات والصور الرمزية والأنظمة الأخرى.
  • يتضمن برنامج Rec Room نظامًا لإنشاء الألعاب باستخدام لغة برمجة مرئية قائمة على العقد تسمى Circuits.
  • RPG Maker ، سلسلة من أدوات إنشاء ألعاب الفيديو ذات الأدوار مع أنظمة تحرير الأحداث.
  • يحتوي Snowdrop على نظام برمجة مرئي.
  • ستنسيل ، أداة لإنشاء ألعاب الفيديو.
  • يحتوي محرك Unity على نظام برمجة مرئية منذ إصدار ECS. (كان يُعرف سابقًا باسم Bolt)
  • يحتوي محرك Unreal Engine 4 على لغة برمجة مرئية قائمة على العقد تسمى Blueprints، بالإضافة إلى التظليل.

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

الأنظمة / المحاكاة

الأتمتة

تخزين البيانات / ذكاء الأعمال

متنوع

  • Bubble ، لإنشاء تطبيقات ويب جاهزة للإنتاج .
  • كويك بوينت ، مترجم بصري للأنماط المتساوية، من ابتكار آلان ستيلمان
  • تُسهّل مورفيك (البرمجيات) إنشاء وتعديل الكائنات الرسومية من خلال المعالجة المباشرة ومن داخل البرامج؛ وقد بُنيت بيئة برمجة سيلف (لغة البرمجة) بأكملها باستخدام مورفيك.
  • لغة بييت ، وهي لغة باطنية، البرنامج عبارة عن صورة تمثل وحدات البكسل فيها عناصر اللغة
  • Shortcuts ، وهي لغة برمجة مرئية طورتها شركة Apple لإنشاء وحدات ماكرو على أنظمة macOS و iOS و iPadOS و watchOS .
  • StreamBase Systems ، StreamBase EventFlow هي لغة برمجة مرئية لمعالجة أحداث البث المباشر
  • WebML هي لغة مرئية لتصميم تطبيقات ويب معقدة وكثيفة البيانات يمكن إنشاؤها تلقائيًا
  • Yahoo! Pipes هو نظام برمجة تدفق البيانات المرئي لمعالجة بيانات الويب [ 19 ]
  • YAWL ، لغة سير العمل الرسومية

إرث

الأنماط المرئية

انظر أيضاً

مراجع

  1. براغ، إس دي؛ دريسكيل، سي جي (1994). "لغات البرمجة التخطيطية الرسومية ومعيار وزارة الدفاع الأمريكية 2167A". وقائع مؤتمر AUTOTESTCON '94 . الصفحات 211-220 . doi : 10.1109/AUTEST.1994.381508 . ISBN  0-7803-1910-9. S2CID 62509261 . 
  2. كحيل، م.أ؛ فاروق، س.؛ حماد، ر.؛ بهجة، م. (2021). "توصيف مناهج البرمجة المرئية لمطوري المستخدم النهائي: مراجعة منهجية" . IEEE Access . 9 : 14181-14202 . Bibcode : 2021IEEEA...914181K . doi : 10.1109/ACCESS.2021.3051043 .
  3. جوست، بيات؛ كيترل، ماركوس؛ بودي، راينهارد؛ ليمباخ، ثورستن (2014). "بيئات البرمجة الرسومية للروبوتات التعليمية: أوبن روبرتا - واحدة أخرى؟". ندوة IEEE الدولية للوسائط المتعددة لعام 2014. الصفحات 381-386 . doi : 10.1109/ISM.2014.24 . ISBN  978-1-4799-4311-1. S2CID 8272806 . 
  4. ريبينينغ، ألكسندر (2017). "تجاوز بناء الجملة: دروس مستفادة من 20 عامًا من برمجة الكتل في AgentSheets" . مجلة اللغات المرئية والأنظمة الواعية . 3 : 68-91 . doi : 10.18293/vlss2017-010 .
  5. جونستون، دبليو إم؛ حنا، جيه آر بي؛ ميلار، آر جيه (2004). "تطورات في لغات برمجة تدفق البيانات" ( ملف PDF) . مجلة ACM Computing Surveys . 36 (1): 1–34 . doi : 10.1145/1013208.1013209 . S2CID 5257722. مؤرشف (ملف PDF) من الأصل بتاريخ 16-05-2018 . تم الاطلاع عليه بتاريخ 16-02-2011 . 
  6. ريكرز، ج.؛ شور، أ. (1997). "تعريف وتحليل اللغات المرئية باستخدام قواعد الرسم البياني الطبقية". مجلة اللغات المرئية والحوسبة . 8 (1): 27-55 . doi : 10.1006/jvlc.1996.0027 . S2CID 40088910 . 
  7. تشانغ، د. كيو. (2001). "صيغة نحوية للرسوم البيانية حساسة للسياق لتحديد اللغات المرئية". مجلة الحاسوب . 44 (3): 186-200 . doi : 10.1093/comjnl/44.3.186 . hdl : 10397/17637 . S2CID 14139133 . 
  8. فايد، ماجستير، القرشي، م.، العمري، أ.، حسين، ماجستير، والدراسه، أ.أ.، 2020. PWCT: لغة برمجة مرئية عامة الأغراض جديدة لدعم تطوير التطبيقات واسعة الانتشار. مجلة CCF للمعاملات في الحوسبة والتفاعل واسع الانتشار، 2(3)، ص 164-177.
  9. أسينوف، د. ومولر، ب.، يوليو 2014. إنفيجن: محرر أكواد مرئي سريع ومرن بتفاعلات سلسة (نظرة عامة). في ندوة IEEE لعام 2014 حول اللغات المرئية والحوسبة المتمحورة حول الإنسان (VL/HCC) (ص 9-12). IEEE.
  10. "تصوّر" . مؤرشف من الأصل بتاريخ 27-01-2024 . تم الاطلاع عليه بتاريخ 06-02-2024 .
  11. "محرر التظليل - دليل بلندر" . docs.blender.org . تم الاطلاع عليه بتاريخ 22-01-2021 .
  12. "التركيب - دليل بلندر" . docs.blender.org . تم الاطلاع عليه بتاريخ 22-01-2021 .
  13. "تحرير الخامات - دليل بلندر" . docs.blender.org . مؤرشف من الأصل بتاريخ 18 أبريل 2021. تم الاطلاع عليه بتاريخ 22 يناير 2021 .
  14. "مرجع/ملاحظات الإصدار/2.92/عُقد الهندسة - ويكي مطوري بلندر" . wiki.blender.org . مؤرشف من الأصل بتاريخ 29-01-2021 . تم الاطلاع عليه بتاريخ 22-01-2021 .
  15. "عُقد الهندسة - دليل بلندر" . docs.blender.org . مؤرشف من الأصل بتاريخ 2021-10-02 . تم الاطلاع عليه بتاريخ 2021-10-02 .
  16. "محرر مواد Node لـ Babylon.js" . nme.babylonjs.com . تم الاطلاع عليه بتاريخ 22-01-2021 .
  17. "الصفحة الرئيسية لبرنامج Construct Classic" . مؤرشف من الأصل بتاريخ 24 يناير 2016. تم الاطلاع عليه بتاريخ 16 يناير 2016 .
  18. "صفحة Construct Classic على SourceForge" . مؤرشفة من الأصل بتاريخ 25-06-2025 . تم الاطلاع عليها بتاريخ 11-08-2025 .
  19. "أنابيب ياهو!" . مؤرشف من الأصل بتاريخ 2015-01-03 . تم الاسترجاع بتاريخ 2015-01-03 .