الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

بدأه iking في 28 أغسطس 2010 · 17 رد · 2,787 مشاهدة · في هندسة البرمجيات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله

هذه مقالة قمت بكتابتها تتعلق بفكرة بناء لغة برمجة عربية. أو بعبارة أدق، مترجم للغة برمجة عربية. وأود أن أعرف مدى استعداد الأعضاء لتنفيذ مثل هذه الفكرة.

هذا هو رابط المقالة:

http://alahham.wordpress.com/2010/08/27/%d9%87%d9%84-%d9%85%d9%86-%d8%a7%d9%84%d9%85%d9%85%d9%83%d9%86-%d8%a3%d9%86-%d9%8a%d9%81%d9%87%d9%85-%d8%a7%d9%84%d8%ad%d8%a7%d8%b3%d9%88%d8%a8-%d9%84%d8%ba%d8%a9-%d8%a7%d9%84%d8%b6%d8%a7%d8%af-%d9%81/

1 −1
#2

تستطيع معرفة استعداد الأعضاء من خلال مراجعة هذا الموضوع دون الحاجة لفتح جبهة أخرى (في هذا الموضوع):

/index.php?showtopic=172744&st=0

وأن تطّلع على ما قام به أحد الدكاترة (محمد عمار السلكة):

http://www.jeemlang.com

ولديك Supernova، لصاحبها PWTC Maker:

http://supernova.sourceforge.net

والكثير الكثير إن بحثت، لكنّي لمست فيك شيئاً مميزاً من العلم أتمنى ألا تفقده بالجري خلف هذه المواضيع (أقصد "كتابة syntax باللغة العربية ودعوها بلغة برمجة عربية")

الأمر يعود لك.

بالتوفيق

1

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

التفكير والفكره انفسهم ليسوا سيئين ,, انا اقصد خصوصيه العريبه ومن ثم خصوصيه اللغه

اقترح عليك ان تطرح عنك عناء التفكير فى ال implementation ووو

وانما ان اردت شىء حقيقى تضع فيه مجهود ,, كلبنه ربما يأتى من يستفيد منه ويبنى عليه فعلا

فضع وقت حقيقى لتصميم كامل للغه تنفذ فيه فكرتك

وتصل به فى النهايه فى مثلا EBNF كامل ودقيق ,, الباقى لا تفكر فيه حاليا ,, صدقنى ممل ومكرر ولا يستحق العناء حاليا

لا تربط نفسك بالسى واقرا فى ال syntax للاشياء الاخرى التى صنعت اسم مثل : Ruby, Python, even Perl

حتى تستطيع ان تفهم فكرتك وتبلورها جيدا

#4

الحقيقة أعجبتني كثيرا الأمثلة التي قمت بطرحها

وكأني أقرأ نص بالغة العربية سهلة الفهم و صعبة التنفيذ لكن ليست بالأمر المستحيل

تتطلب عمل كبير و كبير جدا لكي يكون لها وزن كلغات البرمجة الحالية

صحيح أن فكرة إنشاء لغة برمجة عربية على أصول اللغة حلم كل عربي لكن من يستطيع إنشائها ؟

أظن أن من يسطيع إنشائها سوى الذي يغار على لغته الأم لدرجة أنه يريد أن يصبح الكمبيوتر يركب جمل بالعربيةblink.gif

بالتوفيق أخي الكريم

أرجوا أن يتحقق الجلم عما قريب

showimagephp.jpg

#5

حتى تصنع لغة برمجه عربيه تحتاج لمفاهيم اساسيه قبل أن تيدأ بصنعها حيث OOP Paradigm أو Procedural Paradigm لن يكونوا صالحين لديك و ذلك تبعا لطبيعة اللغه التى سنستخدمها لكتابة الكود، فمثلا أنا لن اقتنع ابدا بكود مثل هذا:

صحيح أ = 5;

كرر
{
أ++;
}
طالما (أ < 10)

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

عندما تتوصل لمثل هذه الـ Paradigm ستكون قد قطعت نصف الطريق، و الباقى لك هو ان تضع الـ Specifications ألتى ستعمل عليها و بعدها تبدأ فى الـ Implementation.

و الله ولي التوفيق

2

مدونتي: C++ Tips and Tricks

#6

صراحه اختلف معك

لا اظن ان ال OOP أو ال Procedural ك Paradigms مرتبطين بأى شكل بالانجليزيه

ما هو مرتبط بها هو ال Syntax الذى تستخدمه للتعبير عن ال Paradigm وليس ال Paradigm نفسه ,, فى وجهه نظرى

ومن هنا اعود للنقطه الاول ,, المشروع الصعب الحقيقى ليس تضييع الوفت فى ال Impl. details

وانما Specification حقيقى لل Syntax نابع بشكل صافى من العربيه ويعكسها

1
#7

قرأت مقالتك الرائعة أخي بعد أن وضعتها في agdn

بصراحة مقالة رائعة ومعلومات قيمة ودقيقة

كما ذكر أحد الإخوة لغة البرمجة العربية يجب أن تخضع

لقواعد اللغة العربية وقياسياتها والأكواد تكون منسقة ومفهومة

الجزائر قلبي وغزة نبضه

2522zn0.png
#8

نقطتك أخ محمد علاء غير واضحة بالنسبة للحركات في العربية

تحياتي

حزمة المحرك الإصدارة 0.8

أي أحد يجد أني ظلمته فليراسلني

وبإذن الله لو كان له حق سيأخذه

728x90.png

#9

البرمجة ليست حلبة مصارعة او اظهار امكانيات

البرمجة فكر وليس فرد عضلات واستعراض امكانيات

طالما ان لديك افكار جديدة لاتتردد فى تنفيذها واحرص على الابداع المفيد

اما اذا لم يكن هناك فكر جديد يضيف الى العلم شيئا فاما انك تتدرب لكسب المزيد من الخبرة اذا كان ماتقوم به جديد عليك

او انك لاسمح الله تهدر وقتك فى مجهود يمكن ان تسميه مجهود عضلى مع القليل من التفكير

.........

مؤسس ال Facebook قدم للعالم موقع الكترونى يحتاج اليه الناس فحقق نجاح كبير جدا على المستوى التقنى والمادى

ولم يقدم لغة برمجة جديدة او يطور نواة نظام تشغيل

انا لست ضد العمل فى هذه المجالات التى تشكل الاساسى التقنى

بالعكس ان اشجع عليها

ولكن الفكر الجديد المبدع اولا

ان تضيف شىء جديد ولو بسيط

خير من ان تقوم بعمل جبار ومن الناحية الفكرية ليس الا اعادة اختراع للعجلة

...........

عندما قمت بعمل ال Supernova

سالت نفسى لماذا انا اقوم بعمل لغة برمجة عربية ؟

كانت الاجابة انا اريد لغة برمجة عربية

ولكن هناك من يريدها انجليزى وانا لا اخاطب نفسى انا اخاطب العالم من حولى

اذا اجعلها انجليزية

طيب وليه اختار طالما ان الاثنين ممكن

وصنعت اللغة عربى انجليزى (وليست تلك فكرة اللغة الاساسية هناك افكار اخرى تميزها)

والان هناك مطور يقول عن السوبرنوفا فى السورس فورج

اقتباس

A great programming language that challenges other programming languages. I am already planning A Yoruba (Nigeria) dialet version of it that will be used for teaching Kids and Youth how to program using Yoruba language. It will definitely change my (more…)

اذن هناك فكرة وصلت الى الاخرين وهى لماذا لاتكون لغات البرمجة بلغتنا الام

لو كانت السوبرنوفا عربية فقط لما وصلت الفكرة

ولكن لانها عربى انجليزى هناك من اطلع عليها وقرر وضع لغة اخرى وهكذا تنتشر الافكار

وسر الانتشار ان تتحدث الى الناس بلغتهم اولا

المبرمجين يتحدثون الانجليزية اذن خاطبهم بها - واذا كانت العريبة هدفك فاسعى لدعم الاثنين معا

انا لا اقول ذلك لانها فكرتى ولكن لكى اوضح لك مفهوم العمل على ضوء افكار جديدة كيف يكون بشكل عملى

والله الموفق

1 −1
#10

بخصوص الافكار الجديدة فى لغات البرمجة قد تكون

1 - تسهيل القراءة

2 - تسهيل الكتابة

3 - نمط البرمجة (تسهيل الاستخدام - دعم اكثر من نمط - تقديم نمط جديد)

4 - البناء الداخلى (اسرع فى العمل - اسهل فى الفهم - اكبر فى الامكانيات - مرن فى الاصافة والتعديل)

5 - بيئة التطوير (بناء بيئة تطوير خاصة باللغة تناسبها بشكل اكثر خصوصية)

فمثلا عندما قمت بعمل السوبرنوفا

فكرت فى تسهيل القراءة باستخدام كلمات انجليزية مكتملة المعنى مثل

I Want Window and the window title is hello world.

او باللغة العربية

انا اريد نافذة والنافذة تحت عنوان هو مرحبا.

وفكرت فى تسهيل الكتابة من خلال عدم الاهتمام بنهاية الاسطر او المسافات حتى بين حروف الكلمة الواحدة

يعنى مثل ممكن تكتب

backcolor

back color

او حتى

b a c k

c

o

l

o

r

يعنى تسهيل فى كتابة الكلمات ربما (زائد عن الحد المطلوب كمان)

بالنسبة لنمط البرمجة

ركزت على البرمجة الهيكلية والاجرائية كقليل منها وبقوة دعمت Event-Driven

وهذا كمجرد بداية

بالنسبة للبناء الداخلى

استخدم اساليب الذكاء الاصطناعى وبالتحديد النظم الخبيرة وتم التطوير وبناء اللغة باستخدام تقنية البرمجة بدون كود

حتى اعطى ثقة اكبر فى استخدام تقنية البرمجة بدون كود فى مشاريع كبيرة

بالنسبة لبيئة التطوير

تم اتاحية امكانية استخدام السوبرنوفا فى بيئة تقنية البرمجة بدون كود من خلال مكونات تربط بينهما بشكل متناغم

هذا مثال عملى على اسلوب التفكير اثناء بناء لغة برمجة جديدة

فكر اولا وقبل كل شىء ماذا تنوى ان تضيف بالضبط

وكيف سيكون لذلك تاثير ملموس على عالم البرمجة

لهذا السبب يفضل قبل ان تقوم بعمل لغة برمجة جديدة ان تتعمق فى البرمجة اكثر وتتدرس اكثر من لغة

وتعرف مميزات وعيوب كل لغة من خلال بناء مشاريع متنوعة وكبيرة بها او من خلال قراءة كتب تحللها بعرض المميزات والعيوب بشكل محايد

بالنسبة لقياس قوة اللغة

فهو بالاضافة للمعاير السابقة التى تخطط ان تحققها اصلا (الاضافات الجديدة المميزة لهذه اللغة)

فلابد من امور مهمة مثل

1 - سرعة الترجمة والوقت المستغرق لترجمة برنامج كبير (الالاف من الاسطر البرمجية)

فهناك من يمكن ان يبدع لغة رائعة جدا ولكن تحتاج لسنة حتى تترجم بها برنامج

وهذا غير منطقى ويعنى الفشل طبعا

وتعقيد لغات البرمجة الداخلى يعود لهذا السبب (اداء المترجم)

وظهور لغات الاسكربت وانتشارها يعود لتطور المعالجات

لكن لو كنا فى زمن الماضى مع الاجهزة القديمة جدا

تفضل تكتب البرنامج بالاسمبلى

على ان ينفذ صبرك وان تنتظر مترجم لغة حديثة حتى ينهى عمله

2 - التوثيق الكامل ضرورى جدا

3 - الامثلة التى توضح ملامح اللغة وكيفية استخدامها بشكل تعليمى متسلسل

4 - النشر على الانترنت والتسويق الالكترونى

5 - اكتساب كوادر تتبرع بوقتها لدعم اللغة ونشرها ومساعدة الاخرين وهذا يحتاج وقت بعد نجاح العومل السابقة

واهم شىء ان تستمر دائما ولاتتوقف منتظر المساعدة من احد

والله الموفق

تم تعديل هذه المشاركة بواسطة PWCT Maker في 3 سبتمبر 2010 في 10:56

1 −1
#11

هناك عوامل اخرى ايضا مهم

1 - هل تعمل لغة البرمجة على اكثر من منصة ؟ ماهى الطريقة هل هى الة صورية مثل Java

ام مترجم خاص لكل منصة مثل ++C

2 - هل توحد مكتبات فى اللغة .... ماهى امكانياتها .....

3 - ماهى المرونة المتوفرة اثناء عمل مكتبات باللغة وماهى التقنية المتاحية

4 - هل متاح الربط بين اللغة ولعات البرمجة الاخرى من خلال لغة C

5 - هل يمكن ان تعمل اللغة على منصة مثل .net او هل هناك وسيلة لتستخدم امكانياته

والعديد من الاسئلة التقنية التى تطرح نفسها

ولان المنافسة شديدة فلامجال للنجاح لمن يعيد اختراع العجلة بمجهوده البسيط

لابد من افكار جديدة

اتمنى ان اكون قد اضفت شىء للموضوع

والله الموفق

1
#12

شكراً جزيلاً أخي PWCT Maker على هذا الشرح.

الهدف من هذه المقالة هو فقط مناقشة إمكانية إنشاء لغة برمجة عربية. وحالياً أنا أقوم بدراسة آفاق هذا الموضوع وتحديد الميزات التي يمكن أن تتمتع بها تلك اللغة.

بعض هذه الأفكار تجدها في هذه التدوينة:

http://alahham.wordpress.com/2010/09/02/%d8%b9%d8%b0%d8%b1%d8%a7%d9%8b-dijkstra-%d9%81%d9%82%d8%af-%d8%a3%d8%ae%d8%b7%d8%a3%d8%aa/

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

شكراً جزيلاً مرة أخرى على تعليقك.

#13
اقتباس

شكراً جزيلاً أخي PWCT Maker على هذا الشرح.

بارك الله فيك اخى الحبيب

اقتباس

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

لاحظ هناك فرق شديد بين ان تقوم بعمل نظام للتحدث الى الحاسب Chat

وبين ان تقوم بعمل لغة برمجة Programming Language

لان لغة البرمجة لها هدف وهو التحكم بالحاسب ليقوم بعمل مانريد بشكل دقيق

والبرامج التى نقوم بها قد تحتاج فكر عميق يصعب جدا اساسا ان تعبر عنه بلغة الانسان

مثال : هل لك ان تصف لى باللغة العربية الفصحى مايقوم به نظام التشغيل خطوة خطوة حتى يتعرف مثلا على كارت الشاشة ؟

ستجد انك ستتكلم كلام علمى وتذكر مصطلحات وخطوات متسلسلة ومترتبة على بعضها

بمعنى اخر ستجد من يفهم ومن لايفهم هذا الكلام لانه ليس كلام عادى

بالمثل لغات البرمجة تحتاج مستوى معين من التعبير وهى التعبير الموجه للتحكم بالحاسب على اعلى مستوى (قد يتضمن التعامل مع ال CPU Registers او تحديد عناوين فى مواقع الذاكرة )

ولاحظ انك كلما ابتعدت عن هذا الاطار واتجهت الى البساطة التى يفهما الانسان او الشخص العادى بسهولة بدون تعمق ودراسة

فانك كلما تحتاج لبذل مجهود اكبر ومجهود ضخم جدا جدا كما ان مستخدم اللغة فى النهاية يجد نفسه فى اوقات معينة مقيدا

لان البساطة والسرعة فى الانجاز وبناء التطبيقات تتناسب عكسيا مع القوة عند تصميم لغات البرمجة

ولهذا هناك من يفضل ان يقوم بعمل مكتبات Libraries تسهل العمل على ان يستخدم لغة اخرى اسهل

ذلك لان المكتبات سوف تعطى امكانيات جديدة بسهولة بدون تغير اللغة ومع امكانية الوصول المنخفض المستوى

لكن لغة جديدة متطورة تجدها تدير الذاكرة بنفسها وتقوم بعمل اشياء كثيرة تسبب حمل على التطبيق

فمثلا اذا طلب منك شىء سهل مثل Hello World program

وقمت بعمله بالسى فان الحجم الناتج للبرنامج بالتاكيد اقل من انك تقوم بعمل هذا البرنامج بلغة اكثر تطورا

هناك حلول كثيرة لتسهيل البرمجة بدون الحاجة لعمل لغة برمجة جديدة

مثل المكتبات ومولدات الاكواد والمعالجات

حتى مسالة عمل لغة تكتب الكود الخاص بها باللغة العربية

قد لاتشترط ان تقوم بعمل Compiler

وممكن ان تقوم بعمل Translator يحول الى لغة اخرى

وقد استخدمت هذه الفكرة سابقا مثل (البيسك العربى)

مااود ان واضحه ان لغة برمجة جديدة تعنى فكر جديد واسلوب جديد يستحق ان تبنى لغة جديدة من اجله

اما الافكار البيسطة والتسهيلات البسيطة يمكن ان تقوم بها بدون الحاجة لعمل لغة برمجة

ممكن ان تقوم بعمل مكتبات مثلا

والله الموفق

تم تعديل هذه المشاركة بواسطة PWCT Maker في 4 سبتمبر 2010 في 00:10

#14

ربما لم أوضح بالضبط ما اقصده. لغات البرمجة الحالية تعتمد على قواعد خارج السياق (Context Free Grammers) الأمر الذي يختلف عن اللغة الطبيعية. واعتقد أن المحاولة التي قمتَ بها أنت كانت إحدى المحاولات للوصول إلى لغة برمجة تتبنى قواعد أوسع.

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

وإنما ما اقصده هو بناء نموذج برمجي اخر يعتمد على اليات الحوار بين الناس وإيجاد نماذج مشابهة تسمح - في حال الوصول إلى إمكانيات حسابية عالية - بالقيام بعملية البرمجة بسهولة.

ويمكنك النظر إلى النماذج الأخرى مثل Intentional Programming مثلاً. فكل نموذج يسعى لإيجاد طريقة مختلفة تسهل عملية البرمجة.

#15
اقتباس

ربما لم أوضح بالضبط ما اقصده. لغات البرمجة الحالية تعتمد على قواعد خارج السياق (Context Free Grammers) الأمر الذي يختلف عن اللغة الطبيعية. واعتقد أن المحاولة التي قمتَ بها أنت كانت إحدى المحاولات للوصول إلى لغة برمجة تتبنى قواعد أوسع.

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

البناء الداخلى للسوبرنوفا ممكن يفيدك كثير فى هذه النقطة

حيث لم يتم استخدام Context Free Grammer

وانما تم استخدام Context Sensitive Grammer

فمثلا يمكن ان تكتب فى السوبرنوفا الامر التالى

I want window and the window title is i want window.

لاحظ ان i want window كانت فى المرة الاولى لانشاء نافذة

ولكنها اتت فى المرة الثانية لتكون عنوان ال title فى النافذة

قمت بكتابة كتاب باللغة العربية للسوبرنوفا (اكثر من 200 صفحة) وشرحت فيه هذه الامور

من ناحية المميزات والعيوب ايضا حيث تكون هناك مشاكل فى الاداء ولكن تم التغلب عليها

للوصول الى اداء مقبول حيث تتم الترجمة بسرعة.

http://www.kutub.info/library/book/6346

والله الموفق

#16

الصراحة موضوع جميل بس انت عايز تعرب اللغة فقط اي من اللغة الانجليزية الي اللغة العربية لكن هذا بعيدا من الابتكار او ابتكار لغة جديدة او مترجم جديد .....

بس الموضوع جميل ونفسي ادخل انفذ هذه الفكرة معكم ..........

رب اتني من الملك والحكمة والعلم فاطر السماوات والارض انت وليي في الدنيا والاخرة توفني مسلما والحقني بالصالحين

#17

ان الجهل ليس شر .. ولكن الشر هو احنكار المعلومة

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

اتمنى ان تغرق المنتديات . ولا تناقش مثل هده المواضيع على خجل

#18

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

مواضيع مشابهة