زاي - Zegour
Download
Report
Transcript زاي - Zegour
مقارنة بين
ثالث لغات برمجية عربية
طه زروقي
مقدمة
• منذ ظهور أولى لغات البرمجة في العالم توالت
المحاوالت لتصميم لغات برمجة عربية ،فظهرت بعض
منها واختفت أخرى ،وفي هذا المقال سنتعرض إلى
إشكالية لغات البرمجة العربية وتاريخها ،ونتحدث عن
ثالث تجارب حديثة لتطوير لغات برمجة هي لغة جيم
ولغة زاي ولغة لوغو العربي ،مستعرضين أهم مزاياها،
والفروق بينها.
تجربة لغات البرمجة العربية
• لقد بدأ العرب في تصور وجود لغة برمجة منذ األيام األولى
لظهور الحاسب اآللي ،وبالفعل عملوا على إيجاد
بعضها ،منها غريب ( ،)1978خوارزمي( ،)1978باسكال
العربي ،1988و لغة زاي ،1998لغة جيم .2001
• وكانت بعض هذه اللغات موجهة إلى نوع واحد من الحواسيب
قبل حقبة الحواسيب الشخصية لـ-أي.بي.آمIBM-PC .
،Cloneثم تطورت لتصبح ترجمة ومحاكاة للغات برمجة
عالمية معروفة مثل باسكال Pascalوكوبول COBOL
وبيسك ،BASIC
مقارنة ثالث لغات
•
•
•
•
•
•
•
فيما يلي سنستعرض ثالث لغات حديثة هي
لغة زاي للدكتور جمال الدين زقور ،من الجزائر
ولغة جيم للدكتور محمد عمار السلكة ،سوريا
ولغة لوغو العربي بإشراف د /عبد الملك السلمان .بالسعودية
توجد لغات برمجية عربية حديثة أخرى
ث كونها متوفرة حاليا على
ولكن سبب اختيارنا لهذه الثال ِ
اإلنترنت كما أن توثيقها متوفر إلى جانب برنامجها.
وسنعمل على اإلحاطة بميزاتها ومقارنتها.
التسمية
سنة الصدور
المشرف
الجهة المصممة /البلد
لغة جيم
لغة جيم
2006
د .محمد عمار السلكة
سورية
لغة البرمجة الشبيهة
C
الجهاز/نظام التشغيل
WINDOWS
الموقع
www.jeemlang.com
لغة عربية خالصة متميزة ،تعابير عربية سليمة،
إمكانيات الرسم ،توثيق وأمثلة ،بيئة تطوير
متكاملة.
مزايا
التسمية
سنة الصدور
المشرف
الجهة المصممة /البلد
لغة زاي
لغة زاي
1998
د .جمال الدين زقور
المعهد الوطني لإلعالم اآللي الجزائر
لغة البرمجة الشبيهة
PASCAL
الجهاز/نظام التشغيل
DOS/ WINDOWS
الموقع
www.multimania.com/zegour
بيئة تطوير متكاملة لتعلم الخوارزميات ،يمكنها
تنقيح البرامج وترجمتها إلى لغة باسكال.
مزايا
لغة لوغو
التسمية
سنة الصدور
المشرف
الجهة المصممة /البلد
لغة لوغو العربي
1999
إشراف د .عبد الملك السلمان ،
للطالبين:الجهني/الحربي.
مدينة الملك فهد التقنية السعودية
لغة البرمجة الشبيهة
LOGO
الجهاز/نظام التشغيل
WINDOWS
الموقع
www.arabiclogo.com
لغة لوغو ،تعليم البرمجة ،الرسم
مزايا
لغة جيم
لغة جيم
•
•
•
•
•
هي لغة برمجة عالية المستوى مشتقة من اللغة العربية،
تكتب بحروفها وأرقامها ،وتستخدم مفرداتها ،وتلتزم بقواعدها.
وتتمتع بالبساطة والوضوح.
ويمكن بواسطتها برمجة كل ما يحتاجه الطالب من برامج
وخوارزميات تفيده في دراسته.
وقد أطلق على هذه اللغة اسم ج لشبهها في جوانب عديدة بلغة
البرمجة المعروفة .C
كما قام بتطوير برنامج يتيح كتابة ،وتنقيح ،وتنفيذ البرامج بلغة
ج ،وأطلق على هذا البرنامج اسم الخوارزمي .ووضعه على
موقع إنترنت www.jeemlang.comللتحميل مجانا .
مزايا جيم
•
•
•
•
يمكن للبرنامج أن يحتوي على أي عدد من الجمل التعريفية
والتنفيذية وبأي ترتيب ممكن .وال يشترط أن تكون الجمل
التعريفية في أول البرنامج حصرا .بل يمكن مزج الجمل
التعريفية والتنفيذية في أي موضع من البرنامج.
من حيث األنواع :توجد األعداد الصحيحة ،األعداد الحقيقية،
الثوابت المنطقية ،الثوابت الحرفية ،الثوابت النصية ،كما يدعم
المؤشرات. pointers
بالنسبة للتعليمات البسيطة :توجد تعليمات لإلسناد أجعل،
والكتابة والقراءة،
التعليمات الشرطية :نجد الشرط إذا ...وإال ،والتكرار بأربعة
أنواع (أكرر … مرة ،أكرر طالما ،أكرر ...حتى ،أكرر من
...إلى) .
مزايا جيم
•
•
•
•
•
كما توجد إيعازات متقدمة تمكن المترجم من استعمال كلمات بديلة ب ّدل،
وإدراج مكتبات ما أدرج.
يقدم مكتبة رائعة للرسم ،وتمكن من رسم األشكال األساسية وتلوينها
(أرسم ،أرسم النقطة ،أرسم مستقيم ،أرسم دائرة ،أرسم إهليلج ،أرسم
مستطيل ،أرسم مثلث ،تحديد لون الرسم) ،والنقش على لوحة الرسم في
نقطة معينة ،وتجد مع البرنامج مجموعة رائعة من األمثلة.
يدعم الخوارزميات proceduresوالتوابع ،functionsكما يدعم
خاصية التراجع (العودية) في التوابع .recursion
أما بالنسبة لألنواع المقعدة فهو يدعم الصفائف والمركبات (السجالت)،
والملفات
يقدم بعض الملفات المكتبية األساسية مثل :رياضيات ،حروف ،ألوان،
عقدي (لألعداد المركبة).،مترادفات.
مزايا عربية
• استعمال صيغة أفعل :تكتب جميع األفعال في صيغة أَف َع ََل (أنا
أفعل)،إن استعمال هذه الصيغة ينم عن ذكاء وفطنة حل بها العديد
من المشاكل ،ألن المبرمجين في العادة يستخدمون صيغة األمر التي
يمكن أن تربك المتعلم بين همزة الوصل و القطع.
صيغة األمر
صيغة أنا أقعل
صيغة األمر
ِ
ارجع
أ ِ
َرجع
صي ي ي ي ي يييغة أني ي ي ي ي ييا
أقعل
اكتب
أَكتب
أرسم
أَرسم
اق أر
أَق أر
لون
ألّون
اجعل
أَجعل
أنقش
أَنقش
كرر
أ َّكرر
افتح
أَفتح
انته
أَنتهي
أَغلق
أغلق
نفِّذ
أنفِّذ
مزايا عربية
•
•
•
•
•
•
استعمال ثوابت وعالمات حسابية عربية :استعمال
العالمات العربية المميزة في الحساب وهي
القسمة ÷
عالمة الضرب×،
وعالمة القيمة المطلقة |س|،
وكذلك عالمة األس.
وكذا استعمال *( *).................كعالمة خاصة بالتعليق
على عدة أسطر.
مثال بلغة جيم
•
•
•
•
•
•
•
•
•
•
•
•
•
!! برنامج لحساب مضروب عدد صحيح
المتحول ن :صحيح
2
المتحول ص ،ع :صحيح
3
أجعل ع = 1
4
أكتب "أدخل عددا صحيحا لتعرف قيمة مضروبه ، ":سطر
5
أقرأ ن
6
أجعل ص = ن
7
أكرر طالما ص > 1
8
{
أجعل ع = ع × ص
9
أجعل ص = ص – 1
10
}
11أكتب ن ، "= !" ،ع
لغة زاي
لغة زاي
•
•
•
•
ميزة هذه اللــغة تكمن في بساطتها و توفرها على آالت مجرّ دة صممت
تسهيال لكتابة الخوارزميات كآلة تورنغ المشهورة و بعض اآلالت المقترحة
التي ّ
تمثل مختلف تراكيب المعطيات .
وقد صمّمت لــغة زاي خصيصا لـ :
تعليم لغة سهلة و بسيطة لكتابة خوارزميات بسيطة كحساب مجموع عدد ما
من األعداد الصحيحة األولى و البحث عن األعداد األوليّة األصغر من عدد
ما ,و غيرها.
التمرّ ن على آلة المحارف بكتابة خوارزميات عديدة مثل حساب تكرّ ر
حرف معيّن أو البحث عن الكلمات التي تبدأ بحرف ما و الكلمات المتكو ّنة
من كلمات أخرى ,وغيرها.
لغة زاي
•
•
•
•
التمرّ ن على آلة األعداد بكتابة خوارزميات عديدة كالبحث عن
عدد معيّن أو أكبر عدد موجود في محتوى اآللة و األعداد التي
مربّعها يساوي مجموع العدديين السابقين لها في اآللة ,وغيرها.
التمرّ ن على بعض طرائق خزن المعطيات البسيطة كالجداول و
القوائم الخطية المتسلسلة و البنى و ذلك بكتابة خوارزميات لجرد
مجموعة المعطيات المخزونة أو حذف عنصر ما أو زيادته في
موضع معيّن.
إمكانية استعمال المفردات في صيغ مناسبة بكتابة الكلمات في
صيغة المفرد والجمع (صحيح :صحاح) ،كما يمكن اختصار
المفردات (اكتب_مباشرة:اك_مب).
و يمكن أيضا كتابة خوارزميات الفرز و معالجة عدة جداول و
قوائم في الوقت نفسه ،بفضل آالتها المجرّ دة و أيضا كتابة
خوارزميات متنوّ عة الستعمال المل ّفات أو تصميم تراكيب جديدة
لها .
بيئة خوارزم للبرمجة
•
•
•
•
•
•
•
خوارزم هو بيئة برمجية مصمّمة خصيصا لتعليم البرمجة ولتحقيق غايته،
فهو مجهّز بع ّدة عروض و يتيح
كتابة الخوارزميات بلغة بسيطة تدعى زاي .
تنسيقها بشكل واضح و اكتشاف األخطاء لتصحيحها.
متابعة جميع مراحل التنفيذ ومشاهدة التغيرات الحاصلة في الذاكرة أثناء
ذلك.
تتبّع سير التنفيذ خطوة بخطوة تسهيال إليجاد األخطاء المنطقية.
و يو ّفر إرشادات وافية لترجمة الخوارزمية إلى لغة البرمجة الراقية
باسكال.
ويستفاد من هذه العروض ضمن نظام متع ّدد النوافذ ,نوافذه تحتوي على كل
ما سبق ،ومحرر معَّد لكتابة الخوارزميات بلغة زاي وآخر مجهز
باإلرشادات الضرورية لكتابة البرنامج الموافق بلغة باسكال .وقاموس
للمصطلحات المستعملة في خـوارزم عربي/فرنسي/إنجليزي.و نافذة تعرض
المق ّدمة و أخرى تعرض قائمة الملّفات الموجودة.
مثال بلغة زاي
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
مثال :الــــــــــــدالّة سلسلة _عشوائية
{احتمال تردد مِحرف معيّن ضمن السلسلة}
ليكن
جملة :سلسلة ;
ح ,ص :محارف ;
تردد ,ر :صحاح ;
بداية
اقرأ ( ح ) ;
تردد ; 0 =:
جملة =:سلسلة_عشوائية ( ; ) 100
لكل ر 100 , 1 =:
ص =:محرف_سلسلة ( جملة ,ر ) ;
إذا ح = ص :
تردد =:تردد ; 1 +
نهإذا ;
نهلكل ;
اكتب ( " المِحرف " ,ح " ,تكرّر" ,تردد " ,م ّرة في السلسلة" ) ;
اكتب ( جملة ) ;
نهاية
لغة لوغو العربي
لوغوLOGO
• تستهدف لغات البرمجة األطفال من أجل الحصول على مبرمجين
ذوي كفاءة عالية ،ولغة Logoبداية جيدة لألطفال في عالم
البرمجة ،فهي تحوي القليل من األوامر ،ومفرداتها تشبه مفردات
اللغة اإلنجليزية ،بعد ذلك يمكن االنتقال إلى لغة ذات مستوى
أعلى ،بعد استيعاب مفاهيم البرمجة األولية.
• ظهرت إصدارات متنوعة للغة لوغو بالعربية منها إصدار شركة
صخر تعمل على أجهزة ، MSXأما في الوقت الحاضر،
فلدينا إصدار لوغو العربي الذي كان نتاج مشروع تخرج
للطالبين :حجر دهام البدراني وبندر سالم الجهني بإشراف د.
عبد الملك السلمان ،عام .1999
واجهة البرنامج
مثال
• كررررررر [ 12كررررررر [ 4امرررررا 100
يمين ] 90يمين ]30
مثال
• كرر [ 12كرر [ 4اما
100يمين ] 90يمين ]30
كرر [ 30كرر [ 3اما 60
يمين ] 120يمين ]12
كرر [ 30كرر [ 3اما 40
يمين ] 120يمين ] 12
كرر [ 30كرر [ 3اما 20
يمين ] 120يمين ] 12
المقارنة
مقارنة
مزايا عامة
الموقي ي ي ييع ل ي ي ي ي
اإلنترنت
لغة جيم
زاي
لوغو
الميزة
التوثيق
بيئ ي ي ي يية ت ي ي ي ييوير
متكاملة
مزايا الرسم
الوسط المستهدف
• جي :
– موجهة إلى عموم المبتدئين في البرمجة ،ويمكن جذبهم إليها من خالل
خصائصها القوية في ميدان الرسوم ،دون أن ننسى قوتها حتى بالنسبة
للمبرمجين أو في التعبير بلغة عربية سليمة جدا عن الخوارزميات.
• زاي :
– تقدم وسائل أكبر لتعليم البني والتراكيب (تراكيب المعطيات) ،وتمكن
من إجراء المحاكاة لتعلم الخوارزميات من الداخل ،وبذلك كانت موجهة
إلى طلبة المعلوماتية في المعهد الوطني لإلعالم اآللي في مقرر السنة
الثانية ولكن بإصدارها الفرنسي .Z
• لوغو:
– تستهدف األطفال والمبتدئين ،وترث أيضا قوة ومتانة لغات لوغو
األصلية.
الترجمة
• جي :
– تتميز لغة جيم عن غيرها بكونها تستخدم لغة عربية سليمة راقية،
ورموزا عربية حتى وإن اقتضى ذلك مخالفة أي لغة برمجية أخرى،
وربما كانت شبيهة بلغة سي ،في بعض أقسامها وصيغها ،مثل المزج
بين أقسام التعريف والتنفيذ ،وإيعازات اإلدراج والمكتبات ،وكذا في
رموز البداية والنهاية {}.
• زاي :
– هي الترجمة العربية للغة Zالتي طورها نفس الدكتور ،وقد
استخدمت في المقرر الدراسي في المعهد ،كما يوجد لديه برامج أخرى
مثل compil-Zالذي يهتم بتعليم تصريف البرامج.
• لوغو :هي ترجمة عربية للغة لوغو األصلية
وسائل االنتشار
• جي :
– فقد جاء موقعها على اإلنترنت في زمن انتشرت فيه المواقع العربية
الشخصية والمنتديات وقد تقبلت بقبول حسن حتى اآلن ،وكان خبرها
كأول لغة برمجية عربية قد هز المنتديات المهتمة بالترجمة ،إال أن
غياب أوساط تعليمية يمكن من خاللها استثمار هذه اللغة قد يلقي بها بعد
التعاطف الكبير إلى نفس المصير.
• زاي :
– لم تثر لغة زاي اهتماما كبيرا خارج المعهد الوطني لإلعالم اآللي
بالجزائر تعاطفا وليس استعماال ،وعلى الرغم من وجودها على
اإلنترنت منذ سنة 1999إال أنها لم تتلق رواجا.
• لوغو:
– لم تحظ باالهتمام إال من خالل رواد تعريب لينكس األوائل،
ثم ما لبثت أن فقدت حتى موقعها على اإلنترنت.
خاتمة
• لقد حاول العرب منذ بدايات لغات البرمجة مواكبة هذا
التطور بتعريب لغات البرمجة الخاصة بهم أو تصميم
لغات مستقلة ،ألهداف عديدة كان أهمها الهدف التعليمي،
وإن وجود مثل هذه اللغات دليل على إمكانيات وطاقات
عربية في جميع المجاالت،
خاتمة
• وإن كانت لغات البرمجة العربية لم تلق انتشارا كبيرا في زمن
مضى ،فإن االستعمال الواسع لإلنترنت ،يمكن أن يسمح بتظافر
الجهود ،والتعاون بين الخبرات من أجل إنتاج لغات برمجية
عربية راقية في مختلف الميادين.
• لقد تناولنا في هذا المقال ثالث لغات برمجية ،ولم يكن اختيارنا
لها لعدم وجود غيرها ،بل ألنها كانت متاحة من حيث التحميل
والتجريب والتوثيق.
• وأخيرا فإن وجود لغة برمجية عربية خطوة صحيحة نحو
النهضة العربية.
لالستزادة
•
•
•
•
موقع لغة البرمجة جيم www.jeemlang.com
موقع الدكتور جمال الدين زقور
www.zegour.uuuq.com
موقع لغة لوغو العربي arabiclogo.com
لالتصال [email protected]