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

Download Report

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

‫تعريب الحاسبات‬
‫بــحـث‬
‫( لغات البرمجة العربية )‬
‫• إعداد الطالبين‪:‬‬
‫‪ -1‬مـوسـى الـراشــدي‬
‫‪ -2‬ابراهيــم الكيــادي‬
‫‪424103755‬‬
‫‪424101465‬‬
‫عناصر البحث‬
‫• نشأة لغــــات البرمجــــة‪.‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫طرق تعريب لغات البرمجة‪.‬‬
‫فكرة للغة برمجة عربية‪.‬‬
‫لغات البرمجة العربية لألطفال‪.‬‬
‫أمثلة على لغات البرمجة العربية‪.‬‬
‫تاريخ لغات البرمجة‬
‫• ظهرت لغات البرمجة مع ظهور الحاسب اآللي‪.‬‬
‫• سيطرت اللغة اإلنجليزية على لغات البرمجة ومن أمثلة هذه‬
‫اللغات‪(BASIC,PASCAL,FORTRAN,COBOL,C,J:‬‬
‫)‪AVA‬‬
‫• يوجد لغات برمجة يابانية ‪ ,‬صينية ‪ ,‬كورية ‪ ,‬ألمانية ‪ ،‬أسبانية ‪,‬‬
‫روسية ‪ ,‬عبرية ‪ ,‬عربية‪.‬‬
‫• أمثلة على لغات برمجة عربية‪:‬‬
‫(غريب‪،‬الخوارزمي‪،‬دنيا‪،‬خوارزم‪،‬نجالء‪،‬سنبلة‪,‬سلطانة‪،‬لوقو العربي‪،‬‬
‫ليث‪ ,‬سينا ‪ ,‬باسكال العربي)‬
‫تعريب لغات البرمجة‬
‫• قبل إنشاء لغة برمجة عربية يجب معرفة لغات‬
‫البرمجة و مميزاتها و سلبياتها هذا سيساعد في تصميم‬
‫لغة برمجة عربية‪.‬‬
‫• يجب التفكير في نوع اللغة التي نريد وأهدافها ‪ .‬وهل‬
‫هي لغة شاملة لكل شيء مثل بايثون (‪)PYTHON‬‬
‫؟ أم لغة متخصصة لتطوير المواقع (‪ )PHP‬؟ وهل‬
‫هي ستحتاج إلى مترجم (‪ )complier‬مثل لغة سي؟‬
‫أم ستكون مثل لغة بايثون بدون مترجم؟‬
‫• هناك تصويت يتعلق بأيهما أفضل لغة برمجة م َُعربُه من‬
‫اإلنجليزية أو لغات برمجة عربية في أصلها ؟ فكانت‬
‫كالتالي‪:‬‬
‫• هل ترجح إن تكون لغة البرمجة العربية عبارة عن نقل‬
‫ألحد لغات البرمجة اإلنجليزية المعروفة اآلن ولكن بحروف‬
‫عربية أم أن تستمد من طابع عربي خالص؟‬
‫• كان مجموع التصويت (‪ )75‬شخص‪:‬‬
‫ ‪ 18‬منهم (أي بنسبة ‪ )%32‬يؤيدون لغة برمجة مستمدة‬‫من طابع عربي خالص‪.‬‬
‫ ‪ 57‬منهم (أي بنسبة ‪ )%68‬يؤيدون لغة البرمجة عبارة‬‫عن نقل ألحد لغات البرمجة اإلنجليزية المعروفة‪.‬‬
‫مميزات عمل لغة برمجة عربية جديدة‬
‫‪ -1‬أنه يكون لدينا حرية في التطوير‪.‬‬
‫‪ -2‬إمكانية التحكم بخصائص و ميزات هذه اللغة‪.‬‬
‫‪ -3‬تجنب االبتعاد عن النواقص و األخطاء ‪.‬‬
‫‪ -4‬تعزيز الهوية العربية في لغة برمجة ‪.‬‬
‫‪ -5‬إمكانية االهتمام بها من قبل علماء العرب المبرمجين‪.‬‬
‫لم يكتب لكثير من لغات البرمجة العربية النجاح‬
‫بسبب أمور عديدة منها‬
‫‪ .1‬عدم رعاية المؤسسات التعليمية لها‪ ،‬أو حتى‬
‫الخاصة‪.‬‬
‫‪ .2‬الدعاية و الدعم‪.‬‬
‫‪ .3‬ضعف التسويق لوجود البديل الناجح‪.‬‬
‫تـــابــــــــــــــع‬
‫‪ .4‬محدودية التواصل بين المطوريــن‪.‬‬
‫‪ .5‬االختالف في الشفرات العربيــة في السابق‪.‬‬
‫‪ .6‬المبالغة في المحافظة على الملكية‪.‬‬
‫‪ .7‬ضعف الصيانة للبرمجيات‬
‫مميزات ترجمة لغة برمجة‬
‫‪ 1.‬اختصار الوقت و الجهد إلنشــاء لغة برمجة‪.‬‬
‫‪ 2.‬إمكانية التحويل من اللغة اإلنجليزية إلى العربية‪.‬‬
‫‪ 3.‬وجود بارسر خاص بها ‪.‬‬
‫‪ .4‬إمكانية صدور نسخة منقحة للغة البرمجة العربية‪.‬‬
‫ترجمة لغات البرمجة‬
‫• عند عمل ترجمة ألحد اللغات المعروفة اليوم‬
‫ولكن بحروف عربية البد من معرفة والتمكن من‬
‫لغة البرمجة المراد ترجمتها و أيضا ً البد من‬
‫اإللمام باللغة العربية لتمكن من انتقاء المفردات‬
‫الصحيحة لهذه اللغة ومن هنا يمكن القول بأن‬
‫األمر يتعلق أكثر بالمفاهيم و ليس بالمرادفات‪.‬‬
‫بالنسبة للغة برمجة بالعربية‬
‫• ال اضن هذا مفيدا ألن ‪:‬‬
‫• أو اال ‪:‬‬
‫أن يكون الدافع من إنشاء “لغة برمجة ”هو فقط إنها‬
‫عربية و ترتبط بالعرب هذا يعد مضيعة للوقت وبال‬
‫طائل ‪…..‬لغة البرمجة أداة تستخدم لغرض معين‬
‫وواضح ‪…..‬و يجب أن تبتعد أي أداة عن العواطف‬
‫و األهواء لتكون ذات فائدة عملية لمستخدمها ‪….‬‬
‫تـــابــــــــع‬
‫• ثانياا ‪:‬لغة البرمجة تتعدى األوامر البرمجية التي‬
‫يكتبها المبرمج ‪…..‬أنت تحتاج إلى معرفة بالبرمجة‬
‫كي تستخدم لغة برمجة عربية و هذه المعرفة حاليا ال‬
‫يمكن أن تحصل عليها إال باللغة االنجليزية ‪….‬‬
‫• فقبل أن نضع لغة برمجة لن يستخدمها غير العرب‬
‫يجب أن نجد حال للمصطلحات و المفاهيم المتعلقة‬
‫بالبرمجة و المعروفة بالصيغة االنجليزية أوالً ‪….‬‬
‫يعني أن نعرب العلم أوالً …‬
‫مقومات لغات البرمجة‬
‫• من أهم مقومات لغات البرمجة و الهدف األهم لها هو‬
‫االنتشار ‪…..‬لغة البرمجة التي ال تستخدم بكثرة‬
‫تموت …ألن وجود برامج مهمة و مفيدة و كثيرة‬
‫ألي لغة يضمن أن يستخدمها الكثيرون و من ثم‬
‫تواصل االنتشار ‪….‬و بالتالي تزداد قوة و تزداد‬
‫البرامج المهمة المكتوبة بهذه اللغة و يزداد‬
‫مستخدميها ‪…..‬‬
‫‪ -‬باختصار ( االنتشار يعني مزيداا من القوة ) ‪.‬‬
‫فـكــرة للغــة البـرمـجـة العــربيــة‬
‫• وهذه الفكرة هي إنشاء لغة متخصصة في معالجة‬
‫النصوص والبيانات فهناك لغة تسمى ‪ ،AWK‬هذه‬
‫اللغة تقوم بعمل واحد فقط‪ ،‬وهو معالجة النصوص‬
‫والبيانات‪ ،‬وهي لغة سهلة والبرامج التي تكتب بها‬
‫عادة تكون قصيرة وال تحتاج إلى مترجم‪ ،‬فلم ال تكون‬
‫هناك لغة برمجة عربية تفعل نفس األمر؟ ستكون‬
‫متخصصة وصغيرة ‪.‬‬
‫لغــــــــات البرمـجـة لألطفــــــــال‬
‫• ال ضير أن يكون لغة البرمجة إنجليزية أم عربية ‪ ،‬أو‬
‫أي لغة أخرى ‪،‬ألن أهم شيء هو المنطق‬
‫‪((LOGIC‬كما يعلم الجميع ألن المنطق ال يعرف‬
‫لغة ‪ ،‬وكل ما يتعلمه الطفل من حولنا من تجارب مبني‬
‫على المنطق ال على اللغة ‪ ،‬ولذلك لن يتأثر أي طفل‬
‫من تعلم شيء باإلنجليزية ومن هنا يمكن تحقيق المزيد‬
‫من تعلم لغة البرمجة العربية بشكل أكثر تعمقا وكذلك‬
‫اإلنجليزية ‪.‬‬
‫تــــــــــــابـــــع‬
‫• إن كنا نريد فعالً أن نحصل على مبرمجين ذوي كفاءة‬
‫عالية فعلينا أن نبدأ معهم في الصغر‪ ،‬ولغة ‪Logo‬‬
‫بداية جيدة لألطفال في عالم البرمجة‪ ،‬فهي تحوي‬
‫القليل من األوامر‪ ،‬ومفرداتها تشبه مفردات اللغة‬
‫اإلنجليزية‪ ،‬بعد ذلك يمكننا االنتقال إلى لغة ذات‬
‫مستوى أعلى‪ ،‬المهم في البداية أن يفهم الطفل ماذا‬
‫تعني البرمجة ‪.‬‬
‫مثال على لغات برمجة عربية‬
‫• " نجالء " ‪:‬تعتبر هي أول لغة برمجة عربية تظهر في العالم‬
‫حيث قام المؤلف الدكتور \ رضا سراج عبد الغني الثقه‬
‫بتطويرها عام ‪1379‬هـ (‪1977‬م) حسب المعايير‬
‫والمواصفات العالمية ‪.‬ولقد تم تصميم "نجالء" بحيث يمكن‬
‫إعادة توليدها وتشكيل اللغة لتشمل األفكار واألوامر التي‬
‫تناسب احتياجات ومستوى المستخدم ‪.‬‬
‫• فلغة” نجالء " توفر لغة سهلة االستعمال يمكن تدريسها‬
‫لطالب المدارس والمبتدئين بحيث يمكنهم الحاسبات اآللية‬
‫بلغة عربية سهلة ومفهومة مما يضمن إيصال األفكار‬
‫الرئيسية التي ينبغي إيصالها للمبتدئ في مجال الحاسبات‬
‫اآللية‪.‬‬
‫تــــــــــــــابــع‬
‫• وتتوفر كذلك نسخة انجليزية من "نجالء" اسمها "نجالت"‬
‫تمكن من الحصول على الكثير من البرامج الموجودة بالسوق‬
‫والمكتوبة بلغة بيسك وباستخدام "نجالء" يمكن تحويلها بكل‬
‫سهولة ويسر إلى العربية وبصفة آلية ‪.‬ذلك أن"نجالت"‬
‫مطابقة تماما ً "لنجالء" ويتم التحويل في ثواني من اللغة‬
‫العربية إلى االنجليزية وبالعكس وذلك راجع لألسلوب العلمي‬
‫المتقدم في تصميم لغة نجالء ‪.‬‬
‫• نظام التشغيل يأتي عادة مع لغة "نجالء" هذا النظام لتعليم‬
‫البرمجة يسمى "المعلم"‬
‫الخـــــــــــــاتــمـة‬
‫ً‬
‫• وفي الختام‪:‬ال شيء يمنع أبدا من إنشاء لغات برمجة عربية‪،‬‬
‫لنبدأ بداية بسيطة‪ ،‬ليبادر شخص أو شخصان لديهما خبرة‬
‫وقدرة وليقوما بإنشاء لغة برمجة عربية صغيرة‪ ،‬ليكن‬
‫المشروع حراً ويستضاف في إحدى المواقع التي تقدم خدمة‬
‫استضافة البرامج الحرة‪ ،‬أما اآلخرون فيمكنهم المساهمة في‬
‫المشروع عن طريق إنشاء موقع متقن‪ ،‬كتابة وثائق البرنامج‬
‫مثل دليل االستخدام‪ ،‬يمكن للبعض اختبار البرنامج وكشف‬
‫عيوبه وأخطاءه‪ ،‬لنبدأ فقط وال نتسرع وال نتحمس كثيراً‪،‬‬
‫دعونا نتقدم خطوة خطوة نحو األمام‪ ،‬هكذا يمكن أن ننجز‬
‫شيئا ً‪.‬‬