البرمجة الهيكلية / المرئية

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






- MetaIDE. / . ( for, if, while) , . - , . , AST - Abstract syntax tree ( ). MetaIDE AST, .





. , MetaIDE : wh while, fo for .. , . , , , , . . . , IDE . , , . . , .. , - () VR. - , - .





سكراتش ، UML ، محرك غير واقعي
Scratch, UML, Unreal Engine

, . , (Scratch, Blockly), (UML, ), (blueprints - Unreal, Unity). MetaIDE . .





, . , , -, .





. , . (enum) . - , . - ( ), ( ), ( " " ).





. MetaIDE ( ), - , . (, , ), , . , . . , , . , . MetaIDE . . , .





MetaIDE MVC (Model-View-Controller, --) . . , ( , , ) , - . , , .





- ( ), , . . .





MetaIDE , IDE, . . , IDE IDE - ( SDK API, ).





, DSL

fix code main table
	name: varLocal node: var get local fn: varLocal switch: ndPtr
	name: varMember node: var get member fn: varMember switch: ndPtr
	name: varGlobal node: var get global fn: varGlobal switch: ndPtr
	name: varUnkn node: var unknown fn: varUnkn switch: ndPtr
	
	name: call node: call fn fn: call switch: ndPtr
	name: inline node: inlineCall fn: inline switch: ndPtr
	
	name: subClass node: getSubClass fn: subClass switch: ndPtr
	name: subNode node: var get subnode fn: subNode switch: ndPtr
	
	name: nextFn node: nextFn fn: nextFn switch: ndPtr
      
      



, , , enum, , .. . , , , . , - . . , . MetaIDE - DSL ( UI) , . .





IDE

شريحة ذاكرة

MetaIDE , . MetaIDE ( ) - (mind map), (outliner), ( HSB, LCH, HSLuv, HPLuv). , MetaIDE, , , (undo/redo) . ( git), , .





اختيار الألوان للقائمة

, . – , , , . , , .





Delight

قائمة المشغلين

MetaIDE Delight. ++, , - ( ), .





وصف العقد والأدوات والقوائم
,

MetaIDE. Lazarus, . , . , . , ( , ). , , . , . Delight, – , Delight. ( ), . IDE Delight. , - . . , , , . . , . , , Delight - . . MetaIDE Delight - , .





. , , . , , IDE .





№2

يجري حاليًا تطوير MetaIDE و Delight وهما متاحان فقط كمعاينة (وليس حتى كإصدار ألفا). بعيدًا عن كل شيء تم الانتهاء منه ولم يتم صنع كل الأشياء بشكل ملائم. حجم التطوير ضخم للغاية ولا يوجد وقت كافٍ للعمل على كل التفاصيل دفعة واحدة.





قائمة مهام شاملة
قائمة مهام شاملة

الاستنتاجات

في الوقت الحالي ، تمثل MetaIDE طريقة جديدة تمامًا لكتابة البرامج ، مما يفتح آفاقًا جديدة للمبرمج في تنظيم سير العمل بأكمله. كلاهما يعمل مع الكود ككل ويتم تبسيط الجوانب الفردية للبرمجة بشكل كبير.












All Articles