ويكي دوال:عن
- الهدف الأول من ويكي دوال هو دعم مشاريع ويكيميديا، لكنّه سيدعم أهدافً تتجاوز ذلك، تمامًا كما هو الحال مع ويكي بيانات. هذا وصفٌ لويكي دوال يتعدّى ويكيبيديا.
- بيان المهمة
- مشروع ويكيميديا للتعاون الجماعي في إنشاء وصيانة مكتبة من نصوص الدوال البرمجية التي تدعم مشاريع ويكيميديا وما يتعدّاها، يمكن للجميع استدعاءها وإعادة استخدامها بكلٍ من لغات العالم الطبيعية ولغات البرمجة
ويكي دوال هي مستودع مفتوح للنصوص البرمجية يمكن لأي شخص استخدامه والمساهمة فيه.
تشتمل ويكي دوال على دوال. يمكن لكل دالة منها أن تحتوي وصفٍا بعدّة لغات، بالإضافة لقائمة من المعاملات، حالات اختبار وقائمة تنفيذات بلغات برمجة مختلفة، كذلك بيانات وصفية إضافية، وكل ذلك متاح بعدّة لغات (من بين اللغات التي تدعمها ويكيميديا). هذه التنفيذات يمكن إعادة استخدامها في مشاريع برمجية أخرى «تطبيقات خاصة أو برامج نصيّة»، أو استدعاؤها وتنفيذها عبر الإنترنت «ببساطة في المتصفح، أو في بيئة سحابية، أو في كتيبات ملاحظة Jupyter[1] أو PAWS[2]»، أو دمجها للحصول على دوال أكثر تعقيدًا، أيضًا يمكن توقيعها، تحليلها، أو التحقق من صحتها، وغيرها الكثير.
ويكي دوال مشروع على غرار ويكيبيديا، ويكي بيانات، ويكاموس، وغيرها من مشاريع عالمية تعاونية مشابهة للثقافة الحرّة: يُتيح للمساهمين من جميع أنحاء العالم إنشاء وصيانة مكتبة متعددة اللغات من الدوال، بإمكان أي شخص استخدامها لأي غرض كان. يمكن تدعيم كل دالة بتنفيذات متعددة ضمن لغات برمجة مختلفة، كذلك بحالات اختبار، شروط مسبقة ولاحقة، توثيقات، وبيانات وصفية في شكل تقديرات لوقت التشغيل وضمانات التعامل مع التعقيد للتنفيذات المختلفة، وما إلى ذلك. يمكن للمستخدمين استدعاء دالة ما مباشرًة على الموقع الإلكتروني، أو من خلال نصوصهم البرمجية أو التطبيقات الخاصة بهم، أو من واجهة سطر الأوامر، أو من تطبيق محلي. قد تنفّذ الدالة محليًا في المتصفح، أو في السحابة، أو محليًا مدمجةً في تطبيق خاص بالمستخدم.
يسعى ويكي دوال لإنشاء كتالوج دوال مشترك ومُعرَّف جيدًا بحيث يمكن إعادة استخدام الدوال على نطاق واسع، بالإضافة إلى إيجاد بيئة يمكن فيها دمج الدوال وتنفيذها بسرعة عند الطلب. يهدف ويكي دوال إلى تسهيل عمل المطورين فيمكّنهم من الاعتماد على هذا المستودع كأي مكتبة خارجية، ويمكّن مستعملي الدوال من استدعاءها حسب الحاجة، بطريقة غير متوفرة حاليًا إلا عبر مواقع ويب معينة وبتغطية متفاوتة للغاية، والتي غالبًا ما تكون مكتوبة على شكل مواقع ويب التسعينيات مع تطبيقات جافا مصغرّة.
جميع الدوال نقية، وذلك لتمكين تنفيذ آمن ومعزول. كذلك، يمكن إضافة بيانات وصفية لكل تنفيذ وتوقيعه رقميًا. يمكن للمستعملين الاختيار والتمعّن في أي تنفيذ يرغبون في استخدامه لكل دالة، وذلك حسب مواردهم العتادية المتاحة وإعدادات شبكة الثقة الخاصة بهم.
سيسمح ويكي دوال بالوصول السهل إلى قواعد المعرفة الكبيرة مثل ويكي بيانات، بالإضافة إلى ملفات الإدخال والإخراج الثنائية. من الممكن تمامًا تحميل صورة كملف إدخال ومن ثم إرجاع نتائج تحليل مثلاً لما هو مصوّر في الصورة، أو كم عدد الألوان المختلفة التي تحتويها الصورة - أو إرجاع ملف ثنائي مختلف، مثلاً بتنسيق مختلف. هذا سيجري توفيره لسير العمل على ويكيميديا كومنز.
يواصل ويكي دوال نهجًا لنقل المزيد من العمليات الحسابية التي كانت تُجرى عادةً على سطر الأوامر أو باستخدام تطبيقات من قبل المستخدمين الأكثر خبرة في الحاسوب، إلى الويب وإتاحة الوصول إلى دوال لم تكن متوفرة للجميع من قبل. وفي الوقت نفسه، سيزيد هذا من إنتاجية المطورين في كل مكان، حيث يمكنهم فقط استخدام مكتبة كبيرة من النصوص البرمجية بدلاً من الاعتماد على نسخ ولصق الإجابات من مواقع مثل «StackOverflow».
على عكس ويكيبيديا، سيقوم المساهمون في الغالب بإنشاء تنفيذات جديدة لدالة بدلاً من تحديث الدوال الموجودة. يمكن اختبار التنفيذات تلقائيًا مقابل الاختبارات المُعطاة، أو مقابل بعضها البعض وتحليلها بشكل إضافي.
يمكن كتابة التنفيذات بعدد من لغات البرمجة المختلفة، ولكنها ستكون قادرة على استدعاء دوال منفّذة بلغات برمجة أخرى. يمكن لمحرّك التنفيذ العمل بسلاسة (وإن لم يكن بالضرورة بأعلى أداء ممكن) عبر لغات برمجة مختلفة. مع أن دمج الدوال ضمن لغة برمجة واحدة يمنح في معظم الحالات زيادة كبيرة في الأداء، إلا أنه لا يوجد ما يستلزم ذلك. ففي كثير من الأحيان تكون سرعة التطوير ووقت المطوّر أهم من دورات المعالجة الإضافية التي يستهلكها محرّك التنفيذ.
المراجع