Worgle هو Web ORg TangLEr. على أقل تقدير، يهدف إلى أن يكون قادرًا على تشابك البرامج المتعلمة المكتوبة في مجموعة فرعية من علامات المؤسسة المتوافقة مع org-babel. يتضمن ذلك توسيع كود نمط noweb، وهو جانب مهم لتعلم البرمجة (والذي غالبًا ما يبدو أنه يتم تجاهله في أدوات التشابك الأخرى ذات الوضع التنظيمي غير التابعة لـ emacs). في نهاية المطاف، الأمل هو تقديم المزيد من بناء الجملة الشبيه بشبكة الويب وإنشاء واجهة خلفية للنسج (التصدير إلى HTML وTeX وما إلى ذلك).
الدافع الأولي لبناء Worgle هو الأداء. إن التشابك الذي تقوم به org-babel بطيء بشكل محرج إلى درجة أنه لا فائدة منه لأي مشاريع أكبر من البرنامج النصي. يهدف Worgle إلى جعل org-tangle قابلاً للاستخدام في مشاريع البرامج الفعلية.
الهدف الأكبر هو بناء خليفة روحي لبرنامج CWEB، وهو برنامج أستخدمه يوميًا لكتابة برامج متعلمة بلغة C. وربما يكون واحدًا من أفضل أدوات البرمجة المتعلمة المتوفرة. الآن بعد مرور أكثر من 3 عقود، تظهر على CWEB بالتأكيد علامات الشيخوخة.
في الوقت الحالي، تمتلك Worgle ما يكفي من الميزات لتكون مفيدة.
لن يتم تنفيذ أي من الميزات المتقدمة لوضع org-mode تقريبًا. يعد Emacs جيدًا جدًا في التعامل مع ذلك إذا كنت في حاجة إليه.
للتجميع، قم بتشغيل make
.
للتثبيت، قم بتشغيل sudo make install
.
وكما تبين، فإن هذا الملف التمهيدي (README) هو نموذج التعليمات البرمجية. رائع، أليس كذلك؟
تبدو كتلة التعليمات البرمجية لبرنامج helloworld البسيط في لغة C كما يلي:
#include
int main ( int argc , char * argv [])
{
<< say_the_worgle_greeting >>
return 0 ;
}
يحتوي الكود المذكور أعلاه على كتلة تعليمات برمجية تسمى say_the_worgle_greeting
.
يتم توسيع هذا ليشمل كتلة التعليمات البرمجية أدناه:
printf ( "Orgle Worgle Borgle!n" );
يتم تشابك كود C باستخدام برنامج التشغيل orgle
، والذي يمكن بعد ذلك تجميعه وتشغيله باستخدام مترجم C مثل دول مجلس التعاون الخليجي.
./orgle README.org
gcc hello.c -o hello
./hello
يشير اختبار الأداء غير الرسمي إلى أن Worgle قادر على تشابك نفسه بشكل أسرع من Emacs بعامل 1300x (!). يتم الاختبار باستخدام البرنامج النصي shell Measure_performance.sh.
النتائج المطبوعة أدناه مأخوذة من جهاز MacBook pro في منتصف عام 2015 يعمل بنظام High Sierra.
Org-babel-tangle (عبر Emacs): 0 دقيقة و 1.318 ثانية العمل: 0m0.001s
يتم وضع هذا المشروع تحت الملكية العامة. قرصنة سعيدة أيها البشر.