دراسة مقارنة لثلاث لغات برمجة عربية حديثة (جيم، زاي، لوغو)

نشره Fahad في

بقلم طه زروقي

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

مقدمة

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

لغة برمجية عربية بين المؤيد والمعارض

يدور في المواقع العربية وفي أوساط المبرمجين العرب منذ تعلمهم البرمجة نقاش حول لغة البرمجة العربية، لماذا وكيف؟ وعلى الرغم من أنّ الفكرة قديمة قدم لغات البرمجة، إلا أنّ المتناقشين ينقسمون إلى مؤيد ومعارض حتى لفكرة إنشاء اللغة البرمجية.

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

فيرد المؤيدون أنّ الجدوى من وجود لغة برمجة عربية هو الجدوى من لغات البرمجة أصلا، ويمكننا أن نستعملها في تعليم المبتدئين والأطفال، ومخاطبة الآلة بلغة عربية غير غريبة عن المستخدم العربي، ويمكن إيجاد مجالات للاستخدام عديدة بتعدد مجالات البرمجة، وليس بغرض التباهي، والعمل على لغة برمجة عربية، ذات استخدامات واسعة أو محدودة لا يعني أننا سننعزل عن العالم، إذ يبقى استعمال اللغات العالمية ممكنا أيضا، ولن يؤدي تصميم لغة عربية إلى هذه العزلة. أم القول بأنه لا توجد لغات برمجة بغير الإنجليزية، فهو غير صحيح لوجود لغات برمجة مختلفة تستخدم الصينية والكورية والعبرية والأسبانية و الألمانية والفرنسية والروسية لكتابة أوامرها [1]، هؤلاء الذين قاموا بإنشاء هذه اللغات لم يستغنوا عن لغات البرمجة الشهيرة، كل ما في الأمر أنهم قاموا بإنشاء هذه اللغات لكي تتناسب مع احتياجاتهم وثقافتهم، ليمكن لأي كان تعلم البرمجة دون وجوب تعلم اللغة الإنجليزية. لذلك من الضروري إنشاء لغات برمجة عربية،(وليس مجرد لغة واحدة)، لغات مختلفة تتناسب مع احتياجاتنا المختلفة، دون الاستغناء عن اللغات العالمية المشهورة.

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

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

إن الاستمرارية شرط أساسي في تطور المشروع، والمثابرة يمكن أن تخرجه إلى النور ولو بعد زمن. كما أنّ فلسفة المصدر المفتوح تسمح بالاستمرار عند الحاجة، إذ أنّ أغلب البرامج الحرة، يستكمل تطويرها أشخاص غير مطورها الأصلي، وتفور المصدر المفتوح للبرنامج يمكن من استكمال التطوير في أي وقت ولو بعد زمن طويل، إذ نلاحظ إعادة إحياء كثير من البرامج الحرة عندما تدعو الحاجة إلى ذلك، ولو في شكل مشروع جديد، مثلا المدققات الإملائية الحرة Myspell, Hunspell, Aspellتتناسل من أول مدقق مفتوح المصدر ispell. أما بخصوص تعريب المصطلحات، فإن وجود لغة برمجة عربية سيكون خطوة أولى صحيحة في اتجاه إيجاد مصطلحات عربية تعبر عن عناصر البرمجة. إنّ الاعتراض على إنشاء لغة برمجة عربية أشبه بالاعتراض على إنتاج سيارة عربية، أو الاعتراض على زراعة أراضينا واستغلالها، أو الاعتراض على أي تصنيع وإنتاج عربي، ما دام أن هناك بدائل أجنبية؟ إذ ما أشد خطورة اعتمادنا فقط على تقنيات الغرب بدلاً من أن محاولة إنتاج تقنيات تناسبنا[2].

تجربة لغات البرمجة العربية

لقد بدأ العرب في تصور وجود لغة برمجة منذ الأيام الأولى لظهور الحاسب الآلي، وبالفعل عملوا على إيجاد بعضها، منها غريب (1978)، خوارزمي(1978)، باسكال العربي 1988، و لغة زاي 1998، لغة جيم 2001. وكانت بعض هذه اللغات موجهة إلى نوع واحد من الحواسيب قبل حقبة الحواسيب الشخصية لـ-أي.بي.آم. IBM-PC Clone، ثم تطورت لتصبح ترجمة ومحاكاة للغات برمجة عالمية معروفة مثل باسكال Pascal وكوبول COBOL وبيسك BASIC ، [8، وسنعرض في الجدول المرفق بعض اللغات وأهم خصائصها، ولكن فيما يلي سنستعرض ثلاث لغات للبرمجة حديثة هي لغة زاي للدكتور جمال الدين زقور[5]، ولغة حيم للدكتور محمد عمار السلكة[3، 4]، ولغة لوغو العربي بإشراف الدكتور لحجر دهام البدراني وبندر سالم الجهني بإشراف د/ عبد الملك السلمان [7]. توجد لغات برمجية عربية حديثة أخرى [9، 10، 11، 12، 13]، ولكن سبب اختيارنا لهذه اللغات كونها متوفرة حاليا على الإنترنت وهي لغات برمجة حديثة، كما أن توثيقها متوفر إلى جانب برنامجها. وسنعمل على الإحاطة بميزاتها ومقارنتها. لمتابعة كامل المقالة و المقارنات نزلها من هنا.

خاتمة

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