دوا ؟ هو العمل الذي أحبه - لغة مقصورة على فئة معينة (esolang) تمزج بين اللغة التقليدية والبرمجة الحديثة. باعتباري متحدثًا أصليًا للغة الشيشيوا ومبرمجًا، أردت إنشاء شيء فريد من نوعه يسد الفجوة بين تراثي اللغوي وعالم التكنولوجيا. تستخدم Duwa اللغة الشيشيوا، وهي لغة البانتو المستخدمة في ملاوي، باعتبارها جوهرها، مما يجعلها أداة فريدة من نوعها للتعلم والحفاظ على الثقافة.
لقد كان إنشاء Duwa مدفوعًا بعدة أهداف رئيسية:
Duwa هو انعكاس لشغفي بالبرمجة ولغتي الأم، وآمل أن يكون بمثابة منصة ترحيب للآخرين في المجتمع الناطق باللغة الشيشيوا.
إذا كنت ترغب في تجربة Duwa بنفسك، فإليك كيفية البدء:
./duwa -f path/to/your/program.duwa
دعني أوضح لك بعض أساسيات الدعاء.
ndondomeko pano() { lemba("Moni Dziko"); } pano();
في هذا المثال:
Duwa يدعم مجموعة متنوعة من أنواع المتغيرات:
// Numbers nambala yoyamba = 1; nambala yachiwiri = 2; nambala yomaliza = yoyamba yachiwiri; // Strings mawu dzina = "Maliko"; // Maps mgwirizano munthu = { "dzina": "Soma", "zaka": 3 } // Other types like boolean are not strongly typed
اخترت استخدام ngati لعبارات if وkapena لـ else، مما يجعل المنطق يتدفق بشكل طبيعي أكثر في لغة الشيشيوا:
// If statement ngati(yoyamba > yachiwiri) { // panga zinthu (do something) } // If-else statement ngati(yoyamba > yachiwiri) { // panga zinthu } kapena { // panga zinthu }
يدعم Duwa أيضًا حلقات while وfor:
// While loop pamene(yoyamba > 2) { // panga zinthu yoyamba } // For loop za(nambala x = 0; x > 5; x ) { // panga zinthu }
لإعطائك فكرة عما يمكن أن تفعله Duwa، إليك خوارزمية بحث خطية بسيطة.
قم بإنشاء ملف جديد يسمى Kufufuza.duwa في محررك المفضل
ndondomeko kufufuza(arr, x) { za(nambala i = 0; iتشغيل البرنامج عن طريق تشغيل
duwa -f Kufufuza.duwaسوف تحصل على فهرس 10 مطبوعًا على وحدة التحكم الخاصة بك
كسر الكود
- ndondomeko kufufuza(arr, x): تقوم هذه الوظيفة بإجراء البحث الخطي. كلمة "كوفوفوزا" تعني "البحث" في لغة الشيشيوا.
- تتكرر حلقة za خلال المصفوفة، للتحقق من القيمة المستهدفة.
- ngati (arr[i] == x): إذا تم العثور على العنصر، تقوم الدالة بإرجاع فهرسه.
- إذا لم يتم العثور على العنصر، ترجع الدالة -1.
- ndondomeko doLinearSearch(): تقوم هذه الوظيفة بإعداد حالة الاختبار واستدعاء وظيفة البحث.
- تتم طباعة النتيجة باستخدام lembanzr، والتي اخترت أن تعني "خط الكتابة".
يعطي هذا المثال لمحة عن كيفية تعامل Duwa مع الخوارزميات مع الحفاظ على التزامها بلغة الشيشيوا.
ولاية دوا الحالية
لا تزال Duwa قيد التقدم، وهناك بعض الكلمات والتركيبات التي لم تتم ترجمتها بالكامل إلى لغة الشيشيوا بعد. أنا أعمل بنشاط على هذه الترجمات، وأخطط لأن يكون كل شيء جاهزًا بحلول الوقت الذي تصل فيه Duwa إلى الإصدار 1.0.
حتى في حالته الحالية، يعمل Duwa بكامل طاقته، وأنا متحمس لرؤية كيف ينمو بينما أواصل تحسينه. أود أن أسمع تعليقاتك أثناء تجربتك لها!
المكافأة: لقد قمت بإنشاء ملحق vscode بسيط لإضافة دعم لـ Duwa إلى vscode، في الوقت الحالي، ستحصل فقط على تمييز بناء الجملة ولكنك تعمل على إضافة المزيد من الميزات. ابحث عن لغة Duwa في علامة تبويب ملحق vscode، أو قم بالتنزيل هنا
التنمية المستقبلية
بالنظر للمستقبل، لدي بعض الخطط الطموحة لدوا:
تم إنشاء Duwa بالكامل من الصفر في Golang، مع الاستفادة من نقاط قوتها لإنشاء بيئة برمجة سريعة وفعالة وموثوقة. لقد كانت هذه رحلة مليئة بالتحديات ولكنها مجزية، وأنا متحمس لمعرفة إلى أين ستقودنا.
سواء كنت متحدثًا باللغة الشيشيوا مهتمًا بالبرمجة أو متحمسًا للبرمجة وتبحث عن شيء مختلف، آمل أن تلهمك Duwa بقدر ما ألهمتني. هذه الرحلة بدأت للتو، ويسعدني أن أشاركها معكم. من خلال جعل Chichewa جزءًا من عالم البرمجة، تفتح Duwa إمكانيات جديدة للتعليم والحفاظ على الثقافة والتعبير الإبداعي.
راجع المشاركة الأصلية
تحقق من جيثب.
التحقق من المستندات (لا يزال العمل قيد التقدم)
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3