ج هي لغة برمجة رفيعة المستوى (بالانجليزية: High Level Programming Language) تستخدم اللغة العربية قلبا
وقالبا. فبواسطتها يمكنك كتابة البرامج للحاسوب الشخصي باللغة العربية، وقد تكون اول لغة برمجة عربية
متكاملة تحتوي جل خصائص لغات البرمجة الاجنبية رفيعة المستوى مثل C وPascal.
بقلم:مصمم اللغة
طلب مني احد الاصدقاء ذات يوم ان ابدي رايي في منهاج كان قد اعده لتدريس
علوم الحاسوب للاطفال وطلاب المدارس في احدى المعاهد. وكان من جملة اهداف هذا المنهاج تعليم
طلاب المراحل الدراسية المبكرة برمجة الحاسوب من خلال لغات برمجة بسيطة مثل LOGO و BASIC.
وقد لفت نظري ان هذه اللغات على بساطتها لا تناسب الطلاب العرب الصغار لاعتمادها على
اللغة الانكليزية. وكما هو معروف، تعتمد غالبية لغات البرمجة رفيعة المستوى High Level Languages على
اللغة الانكليزية، وتستخدم الاحرف اللاتينية قلبا وقالبا، مما يجعلها بعيدة المنال عن الطلاب العرب، خاصة
اولئك الذين ما زالوا في المراحل التعليمية المبكرة، ولم يتقنوا اللغات الاجنبية اتقانا كافيا.
فتولد عندي دافع قوي للعمل على تطوير لغة برمجة عربية تكون سهلة وميسرة، ولا تقل
مع ذلك في قدراتها عن لغات البرمجة رفيعة المستوى المعروفة مثل C وPascal. لتكون وسيلة
مناسبة لتعليم الطلاب العرب مبادئ البرمجة بلغتهم الام. وان تكون هذه اللغة من روح مناهجهم،
ومن صميم المفردات التي الفوها في حياتهم الدراسية. وتشكلت لدي قناعة بان ادخال الحاسوب الى
المناهج التعليمية في العالم العربي يجب ان ينطلق من تعليم الطلاب برمجة الحاسوب بواسطة لغة
برمجة تمكنهم من السيطرة على مفاهيم البرمجة الاساسية بلغتهم الام، وتتوافق وتنسجم مع مناهجهم الاخرى
في الرياضيات والعلوم واللغة العربية.
وشرعت في العمل على تطوير هذه اللغة، وتوصلت الى لغة برمجة عالية المستوى مشتقة من
اللغة العربية، تكتب بحروفها وارقامها، وتستخدم مفرداتها، وتلتزم بقواعدها. وتتمتع بالبساطة والوضوح. ويمكن بواسطتها برمجة
كل ما يحتاجه الطالب من برامج وخوارزميات تفيده في دراسته. وقد رايت ان اطلق على
هذه اللغة اسم ج لشبهها في جوانب عديدة بلغة البرمجة المعروفة C. كما قمت بتطوير
برنامج يتيح كتابة، وتنقيح، وتنفيذ البرامج بلغة ج، واطلقت على هذا البرنامج اسم الخوارزمي تقديرا
للعالم الشهير محمد بن موسى الخوارزمي. لتحميل برنامج الخوارزمي اضغط هنا
وقد شاء الله ان انشغل عن اتمام اللمسات الاخيرة لهذا البرنامج فترة من الزمن، وان
يبقى هو ولغة ج حبيسا في احد الدروج، الى ان قلت اعبائي مؤخرا واكملت ما
بداته منذ اكثر من 7 سنوات.[1]
تبدا كل جملة بلغة ج بكلمة مفتاحية تعبر عن نوع ووظيفة تلك الجملة. كذلك تستخدم
في صياغة الجمل كلمات قياسية اخرى، وحروف، ورموز تربط اجزاء الجملة مع بعضها. تشكل جملة
هذه الكلمات مجموعة الكلمات المحجوزة في لغة ج.
والكلمات المحجوزة هي الكلمات التي لا يجوز للمبرمج استخدامها كاسماء للمتحولات، او الخوارزميات، او التوابع
التي يرغب بتعريفها في برنامجه. والهدف من ذلك منع الالتباس بين الكلمات الاصيلة التي تشكل
مفردات لغة ج والكلمات المعرفة من قبل المبرمج. ويبين الجدول التالي سردا بجميع الكلمات المحجوزة
في لغة ج.
كلمات مفتاحية النوع، المتحول، الثابت، الخوارزمية، التابع.
اجعل، اكتب، اقرا، ارسم، الون، انقش، انفذ، اكرر، اذا، ارجع، انتهي، افتح، اغلق.
ادرج، بدل.
حروف وكلمات مستخدمة في بناء الجمل في، عند، طالما، من، الى، حتى، والا.
صحيح، حقيقي، صغير، منطقي، حرف، ملف.
صفيفة، وحدة، مؤشر.
نفي، صواب، خطا.
سطر، الورقة، مرة، بخطوة، للقراءة، للكتابة.
النقطة، مستقيم، دائرة، مستطيل، مثلث، اهليلج، مركزها، قطرها، مركزه، قطريه، رؤوسه، باللون، بدقة.
توابع وثوابت مبيتة جب، تجب، جذر، لغ، عجب، عتجب، عظل، حدس، حدع، جديد، صحيح.
امثلة
حساب مساحة دائرة[3]
يبين المثال التالي برنامجا بسيطا بلغة ج، لحساب مساحة دائرة بعد قراءة قطرها.
الثابت بي = 3.1415
المتحول ق : حقيقي
المتحول س : حقيقي
اكتب “ادخل قطر الدائرة : ” ،سطر
اقرا ق
اجعل س = بي × (ق ÷ 2)^2
اكتب “مساحة الدائرة = “، س
الشرح: يتالف هذا البرنامج من سبع جمل. الثلاثة الاولى منها جمل تعريفية والاربعة الاخيرة جمل
تنفيذية. تعرف الجملة الاولى الثابت الهندسي بي (p) وهو نسبة محيط الدائرة الى قطرها. وتعرف
الجملة الثانية متحولا (ق) يمكنه حفظ الاعداد الحقيقية، وسيستخدم هذا المتحول لحفظ قيمة قطر الدائرة.
اما الجملة الثالثة فتعرف المتحول الحقيقي س، الذي سيستخدم لحفظ مساحة الدائرة. تقوم الجملة الرابعة
بكتابة العبارة: “ادخل قطر الدائرة:” في لوحة الكتابة لتنبه المستخدم الى ضرورة ادخال عدد يمثل
قطر الدائرة. تقرا الجملة الخامسة قيمة القطر التي يدخلها المستخدم في لوحة الكتابة. ثم تحسب
الجملة السادسة مساحة الدائرة من العلاقة: p×(ق÷2)2، وتضع هذه القيمة في المتحول س. اخيرا تقوم
الجملة الاخيرة بكتابة النتيجة في لوحة الكتابة.
حساب مضروب (عاملي) عدد صحيح[4]
المتحول ن : صحيح
المتحول ص، ع : صحيح
اجعل ع = 1
اكتب “ادخل عددا صحيحا لتعرف قيمة مضروبه :”، سطر
اقرا ن
اجعل ص = ن
اكرر طالما ص > 1
{
اجعل ع = ع × ص
اجعل ص = ص – 1
}
اكتب ن، “! =”، ع