لغة ج

**ج**: هي لغة برمجة عالية المستوى برمجها البروفسيور السوري محمد بن عمار السلكة وتستخدم اللغة العربية قلبًا وقالبًا. فبواسطتها يمكن كتابة برامج الحاسوب الشخصي باللغة العربية، وقد تكون أول لغة برمجة عربية متكاملة تحتوي جُلَّ خصائص لغات البرمجة الأجنبية رفيعة المستوى مثل سي وباسكال.

## تاريخ
يقول مٌبرمج اللغة: 
«طلب مني أحد الأصدقاء ذات يوم أن أبدي رأيي في منهاج كان قد أعده لتدريس علوم الحاسوب للأطفال وطلاب المدارس في إحدى المعاهد. وكان من جملة أهداف هذا المنهاج تعليم طلاب المراحل الدراسية المبكرة برمجة الحاسوب من خلال لغات برمجة بسيطة مثل لوغو وبيسيك. وقد لفت نظري أن هذه اللغات على بساطتها لا تناسب الطلاب العرب الصغار لاعتمادها على اللغة الإنجليزية. وكما هو معروف، تعتمد غالبية لغات البرمجة رفيعة المستوى على اللغة الإنكليزية، وتستخدم الأحرف اللاتينية قلباً وقالباً، مما يجعلها بعيدة المنال عن الطلاب العرب، خاصة أولئك الذين ما زالوا في المراحل التعليمية المبكرة، ولم يتقنوا اللغات الأجنبية اتقاناً كافياً.

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

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

وقد شاء الله أن أنشغل عن اتمام اللمسات الأخيرة لهذا البرنامج فترة من الزمن، وأن يبقى هو ولغة ج حبيساً في أحد الدروج، إلى أن قلت أعبائي مؤخراً وأكملت ما بدأته منذ أكثر من 7 سنوات. »

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

والكلمات المحجوزة هي الكلمات التي لا يجوز للمبرمج استخدامها كأسماء للمتحولات، أو الخوارزميات، أو التوابع التي يرغب بتعريفها في برنامجه. والهدف من ذلك منع الالتباس بين الكلمات الأصيلة التي تشكل مفردات لغة **ج** والكلمات المعرفة من قبل المبرمج. ويبين الجدول التالي سرداً بجميع الكلمات المحجوزة في لغة **ج**.

## أمــثــلــة
### حساب مساحة دائرة

*يبين المثال التالي برنامجاً بسيطاً بلغة ج، *'لحساب مساحة دائرة** بعد قراءة قطرها.''

الثابت بي = 3.1415

المتحول ق: حقيقي

المتحول س: حقيقي

أكتب "أدخل قطر الدائرة:"، سطر

أقرأ ق

أجعل س = بي × (ق ÷ 2) ^ 2

أكتب "مساحة الدائرة ="، س

**الشرح:''' يتألف هذا البرنامج من سبع جمل. الثلاثة الأولى منها جمل تعريفية والأربعة الأخيرة جمل تنفيذية.
* تعرّف الجملة الأولى الثابت الهندسي «بي» (والمعروف بـ π) وهو نسبة محيط الدائرة إلى قطرها. 
* وتعرّف الجملة الثانية متحولاً «ق» يمكنه حفظ الأعداد الحقيقية، وسيستخدم هذا المتحول لحفظ قيمة قطر الدائرة.
* الجملة الثالثة فتعرف المتحول الحقيقي «س»، الذي سيستخدم لحفظ مساحة الدائرة. 
* الجملة الرابعة تقوم بكتابة العبارة: «أدخل قطر الدائرة:» على الشاشة لتنبه المستخدم إلى ضرورة إدخال عدد يمثل قطر الدائرة. 
* تقرأ الجملة الخامسة قيمة القطر التي يدخلها المستخدم في لوحة الكتابة.
* تحسب الجملة السادسة مساحة الدائرة من العلاقة: بي×(ق÷2)2، وتضع هذه القيمة في المتحول «س». 
*أخيراً تقوم الجملة الأخيرة بكتابة النتيجة في شاشة العرض.

### حساب مضروب (عاملي) عدد صحيح

```
المتحول ن: صحيح
المتحول ص، ع: صحيح
أجعل ع = 1
أكتب "أدخل عدداً صحيحاً لتعرف قيمة مضروبه:"، سطر
أقرأ ن
أجعل ص = ن
أكرر طالما ص > 1
{
 أجعل ع = ع × ص
 أجعل ص = ص - 1
}
أكتب ن، "! ="، ع
```


## انظر أيضًا
* ألف (لغة برمجة)
* قلب (لغة برمجة)
* كلمات (لغة برمجة)
* سوبر نوفا (لغة برمجة)
* رينج (لغة برمجة)

## مراجع

## وصلات خارجية
* 

تصنيف:عائلة لغة البرمجة سي++
تصنيف:لغات برمجة إجرائية
تصنيف:لغات برمجة عربية
تصنيف:لغات برمجة نصية