تم استخدام لغة البرمجة Move في البداية لبناء سلسلة الكتل Diem. تم إنشاؤها من قبل جمعية Diem، وهي كونسورتيوم تقني مدعوم من Meta. على الرغم من أن سلسلة الكتل تم التخلي عنها في النهاية، لا تزال Move قيد الاستخدام اليوم.

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

من خلال القيام بذلك، تعظم Move الأمان بينما تحافظ على تصميم مبسط وتكاليف غاز أقل بكثير من سلاسل الكتل التي لم تُبنى على Move.

كيف تعمل لغة البرمجة Move؟

تستخدم Move المنطق الخطي، مما يعني أن الموارد يمكن استخدامها مرة واحدة فقط ولا يمكن نسخها أو التخلص منها بشكل ضمني. وهذا يسمح للمطورين بترميز أنواع الموارد المخصصة التي لا يمكن محوها أو تكرارها وتُعامل بشكل أفضل من غيرها.

نظام النوع الثابت في Move هو حيث يجب تعريف المتغيرات كنوع (رقم/كلمة). وهو يحمي الموارد ذات الأولوية. ومع ذلك، يمكن استخدامها مثل العناصر العادية وتخزينها في هياكل البيانات أو تقديمها كقيم في الحسابات. الموارد أيضًا شفافة في الوحدات ومخفية عن أن يتم استدعاؤها من مصادر خارجية.

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

يمكن لـ Move أيضًا التحقق من جميع سمات الأمان على السلسلة ودعم أدوات التحقق الثابت الخارجي. وهذا يقلل بشكل كبير من التعقيدات حول التحقق على السلسلة. تصميمها يعتمد على ثلاثة قرارات أساسية:

—> عدم وجود نشر ديناميكي يتجنب بناء رسم بياني للاستدعاءات ويسمح بالتحديد الثابت لموقع الاستدعاء. وهذا يسمح لـ Move بتحديد آثار استدعاء إجراء بسهولة أكبر ودون تعقيدات إضافية.

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

—> أخيرًا، يسمح لها عدم قابليتها المحدودة للاستخدام بأن تستخدم أنواع المراجع المشابهة لـ C++. تعتبر المراجع ضرورية لتغيير كل قيمة Move، وعادة ما يتم إنشاء القيم المؤقتة وتدميرها داخل نص النسخ. مشابهة لـ Rust، يتحقق مصدق بايت كود Move من "التحقق من الاقتراض" للتأكد من وجود مرجع قابل للتغيير واحد على الأقل.

—> أخيرًا، ترفض Move البرامج التي لا تتبع أمان النوع، أمان الذاكرة وأمان الموارد. بدلاً من ذلك، يمكن استخدام لغة برمجة عالية المستوى مع مترجم، مسؤول عن التحقق من الخصائص. البديل هو تجميع غير مصنف منخفض المستوى مع فحوصات أمان.

#Write2Earn #TrendingTopic #