• 0
ORWA

مشروع APL, بناء لغة برمجة عربية ..

سؤال

مشروع APL

بناء لغة برمجة عربية ..

APL=Arabic Programming Language

هل يمكن بناء لغة برمجة عربية ؟.

سؤال يتردد كثيرا

تجربة :

البارحة فكرت بالموضوع , بشكل جدي .

ووجدت أن الفكرة يجب أن تبدأ من الإنترنت العربية , لإنها لن تبدأ برأيي من الشركات العربية .أو من الحكومات العربية .

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

ربما على الأغلب هؤلاء النواة يجتمعون في منتديات , وربما يكون المنتدى هو arabTeam2000 .... ؟؟ من يدري

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

قلت لنفسي :

أولا نحن بحاجة لبناء برنامج يقرأ شفرة اللغة المزعومة التي نريد بنائها ويحول نحوها إلى نحو أسمبلي مثلا .

ثم نريد أن نحول الأسمبلي الناتج إلى ملف قابل للتنفبذ .

وأستطعت خلال عدة ساعات أن أحقق ذلك ...

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

الشفرة حتى الآن لا تدعم إلا تعليمة واحدة هي تعليمة "طباعه()" والناتج هو ملف دوس يطبع العبارة التي نكتبها له .

هذه الشفرة ليست كلها من إنتاجي .. . معظم شفرته هي تجميع من الإنترنت , ولكني كنت أختبر إمكانية الفكرة فقط . كما أنه بوضعه الراهن غير قابل للتطوير السريع كما أتفنا ولكني أعدكم أنني سأقوم بذلك قريبا .

وربما سأعتمد على خبراء الأسمبلي لدعم تعليمات جديدة ,

والمشروع طويل طويل ,, وبحاجة للعديد من الأعمال . لكني سررت لنجاحي في إنتاج شيء جديد (بالنسبة لي على الأقل)

..

فإذا كانت الفكرة ممكنه ,, لماذا لا نقوم بالتفكير الجدي فيها ......

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

وماهي خطوات العمل برأيكم ؟

ملاحظة البرنامج الصغير هذا معمول على دلفي , سأقوم ببعض الإضافات علية , ومن ثم سأنشر شفرته هنا

APL.zip

تم تعديل بواسطه ORWA
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

60 إجابة على هذا السؤال .

  • 0

عمل رائع

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

الشفرات التي أخذتها من الإنترنت هي شفرات بناء محرر أسمبلي . وهي غير مكتملة ولكنها فكرة رائعة . وجدتها مره في برنامج صغير وأنا أبحث فيhttp://www.programmersheaven.com

ملاحظة في البرنامج السابق بإمكانك ترجمة تعليمات Assimply بالضغط بالزر الأيمن فوق محرر الأسمبلي وإختيار ترجمه أسمبلي فقط . وهذا المحرر هو الذي تظهر فيه شفرة لغة التجميع المتولدة مقابل شفرة APL ويوليد ملف تنفيذي على أساسها .. لإن بالنهايه ماهو موجود في هذا المحرر هو الذي سيترجم

.. بالنسبة للأخوة الذين يحترفون أسمبلي كيف أستطيع السماح للمستخدم إدخال قيمة من لوحة المفاتيح ,

كي أقوم بإضافة تعليمة للإدخال .

ToDO

1- تحسن تعليمه طباعه() وجعلها تفرق بين الأرقام والمتحولات والنصوص

2- إضافة تعليمة للسماح للمستخدم بالإدخال

3- السماح للمستخدم بحجز المتحولات

والأهم من ذلك دعم بعض المعاملات البسيطة كالجمع والطرح والضرب

سأحاول أن أنجزهم ...

أي شخص تخطر ببالة تعليمات ويعرف مقطع الأسمبلي المكافيء لها يذكرها لعلها تفيد ..

تم تعديل بواسطه ORWA
0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تحية طيبة وبعد

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

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

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

ادرك هذه ليست لغة برمجة لكن....

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

هل لغة برمجة عربية شيء ممكن

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

لم استمر في مشروعي لارطباطات تتعلق بالدراسة والضروف المحيطة لكن مقالكم ايقظ الفكرة من جديد.

ارجو ان اسمع بافكار وانجازات

السلام عليكم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
يقوم على ترجمة النص البرمجي العربي الى ملف وسيط انجليزي يتم ارساله الى الكمبايلر.

جميل ...

الفكرة إذن تعتمد عل ترجمه نص عربي إلى شفره C أجنبيه .. بدل من نص عربي إلى لغة الآله .

والله شوف بالنهايه فكرتك أحسن من أنو نضل قاعدين بلا شغله ولاعمله , عالأقل في مجال أن نضيف محرر عربي من بيئة C Builder مثلا (أو أي منفذ تاني) ونكتب بطريقه أوضح عالأقل بالنسبه لنا .

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

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

كلام جميل جدا

أنا لم أرد من مشاركتي السابقة الإدعاء بإمكانيه صنع لغة برمجه بشكل فردي , لكني وددت أن ألفت النظر للموضوع لتشجيع المهتمين بهذه الأفكار وبالتالي ممكن أن يبدأو بالتجمع بعدها ويوجدو أفكارهم لعلهم ينتجون شيء يمكن تسميته البدايه .

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

صديقك ..

ملاحظة لم أتابع في العمل على هذة الـ APL لعدم إقتناعي بوجود العدد الكافي من المتحمسين لها , وبالتالي سيكون العمل فرديا ومهما حققت نتائج فهي لن تساوي شيء .

(دائما النكسه في المشاريع الجماعيه)

ملاحظة البعض سألني أن الملف التنفيذي الناتج لايعمل .. إنه يعمل ولكنه 16 بت , لذلك يفضل تشغيله من DOS مثلا موجه MSDos

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بسم الله الرحمن الرحيم

تحية طيبة وبعد

شكرا للرد السريع...

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

كما ارى انه من غير المناسب ان نعيد اختراع العجلة لمجرد اننا نريدها افضل فلدينا ارث تراكم رهيب من لغات البرمجة التي باتت ثقافة بحد ذاتها من لغة الالة, اسمبلي, سي, بيسك, HTML, وحتى UML (التي لا تعتبر لغة برمجة لكنها تحمل ذات المفاهيم), ون يدري ماذا بعد.

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

-----------------------------------------

اقرا السلام عليكم ورحمة الله وبركاته ثم اذا س > 50 النتيجة="ناجح" والا النتيجة="راسب" ثم اخرج.بشاشة (النتيجة) فقط

___________________________

جماعة سي سيعجبون بهذا الكود

ثم بدل الفاصلة المنقوطة بين جملتين

والا بدل Else واذا بدل If

اخرج هي عبارة عن فئة Class تحوي الدوال (بالشاشة , بملف, الخ...)

فقط نهاة الكود

هل يلزم مبرمج ليفهم عمل هذا الكود

اخي في الصف الاول ابتدائي فهمه كله ما عدى اشارة > فهو لم يتعلمها بعد

الامر مغري جدا ارجو ابداء الراي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

في المشاركة السابقة ذكر في ما بين القاطعين

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

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

شكرا

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

إذا كانت س = الفكره و ص = هذه العقول إذا ع = س * ص = تنفيذ الفكره :)

وإلا قم بطباعة "لا فائده ل" + س + "ولا هناك فائده ل "ص"

النهايه :)

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

همهممم

والله أعجبني الكود العربي ,

فعلا , ألا تظن لو أن البرمجه بلغتنا الأصليه لكانت أسهل ..

أظن ذلك ,

الصراحه كودك العربي جميل جدا وأيقظ فيي الحماس من جديد

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

كلامك صحيح إلى مدى بعيد ,

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

أو أننا نريد أن ننتج هذه التطبيقات وننتظر الرحمه الألاهيه ..

إذا كنا نريد إنتاج هذه التطبيقات , او أصلا مجرد المحاوله بها ولو للتعلم فماذا ننتظر .

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

الآن أدرس في كليه الهندسه المعلوماتيه , وتوجد مواد نظريه عن تصميم مترجمات لغات وبناء لغات برمجة متكامله , ولكن لايوجد تطبيق .

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

لاأظن أن كل هؤلاء الفرنسيين أفضل مني , نعم ربما بعضهم ,

ولكن بالنسبه لهذا المشروع فالبدء فقط لن يكلفنا الكثير .

إذا كانت س = الفكره و ص = هذه العقول إذا ع = س * ص = تنفيذ الفكره

وإلا قم بطباعة "لا فائده ل" + س + "ولا هناك فائده ل "ص"

النهايه

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

س: مهم كثير

ما هو الطريق السليم لعمل ذلك

هل نيدا بالعمل على كمبايلر عربي

ماذا عن كود الاسكي هل نعمل على توسيعه

هل نلغي الكلمةchar او نقوم بتطويرها لضم الاحرف العربية

الاحرف العربية الحرف رسومية اذا انسو امر اي واجهة غير رسومية

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

هناك افكار كثيرة

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

الموضوع فعلاً شيق ..

ماذا عن استخدام الدوت نت؟؟

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

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

ملحوظة :

انا لست من المتحمسين لعمل لغة برمجة عربية ..

هل يمكنك تقييم الفوائد التي ستعود علينا؟؟

الحقيقة لا شئ الا الفائدة العلمية المتمثلة في فهم اعلى للكمبيوتر و البرمجة.

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
ما هو الطريق السليم لعمل ذلك

هل نيدا بالعمل على كمبايلر عربي

ربما يكون ذلك الحل الأفضل من اجل لغه برمجه عربيه , ولكن بدأت أرى العديد من البدائل منها الطريقه التي إقترحتها أنت .

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

والله فكره جديرة بالتفكير أخي undo أشكرك عليها , .

كما أننا نملك مشكله كبيره حيث أن كل واحد منا يعمل على لغه برمجة مختلفه , وبالتالي خبرته في بقيه اللغات أقل من أن يشارك في العمل عليها , أنا تعلمت مثلا C++ بالجامعه وأحاول أن وأطور نفسي فيها بإستمرار , ولكن لا أعتبر أن معلوماتي تعادل نقطه في بحر الأخوة الخبراء في منتدى السي .

وبالتالي مشاركتي في العمل على لغه غير لغتي الأساسيه لن تكون فاعله , وأظن أنكم مثلي .

ورغم ذلك أنا مستعد للتعاون بما أستطيعه في هذا المشروع .

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

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

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

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

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

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

صحيح

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

فكرت في هذا الموضوع من قبل وجمعت المراجع ة وكان السؤال هل كتابة مصرف / مؤل / مترجم هههههههه ممكنة من الناحية التقنية .

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

لنفترض اننا عملنا لغة برمجة عربية , كيف تتمكن البرامح المكتوبة باللغة العربية من مخاطبة نظام التشغيل لتنفيذ وظائف البرنامج ,

نظام التشغيل عبارة عن مجموعة كبيرة من الخدمات , التوابع او الدوال وهذة مكتوبة بالعنجليزي .

هل هذة حلول ممكنة

1-كتابة مجمع (assembler) يقوم بتحول النص العربي( الاوامر وغيرها) الى اوامر اسمبلي عن طريق تخطيط يربط بين الاوامر العربية وتعليمات الاسمبلي الانكليزية ( hash table)

مثلا

msg db 'hellooo'

mov ah,o9

lea dx,msg

int 10h

بالعربي

ترحيب خصص او احجز ( " مرحبا عالم المبرمجين")

// هذا سطر تعليق

// بداية التعليمات

نسخ 09,مسجل ا

ضع عنوان ترحيب , مسجل دي

// اخيرا تعليمة المقاطعة

مقط 10 هكس

اعتقد الفكرة واظحة ؟

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

يتعامل المعالح مع الاصفار والوحدددددات

اذا قمنا بتحويل التعليمات العربية الى الاصفار والوحدات المماثلة لتعليمات المعالح(opcode) سيكون المعالج مسرورا

مثلا لنفترض كتابة برنامج تنفيذي بالعربي

كيف سيتم تحميل البرنامج الى الذاكرة بواسطة loader حيث يحتاج المحمل الى معلومات مثلا (signture)للبرنامج , اسماء دوال المكتبات المرتبطة مع البرنامج.

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

والنصحية هي معرفة المشكلة حتى نجد حل.

مثلا التجريب ببناء محاكي (emmulator)لتنفيذ تعليمات بسيطة بعد ذالك يمكن توسيع المحاكي ,

ولكن ياجماعة كنت اسأل نفسي سؤل بسيط لا الالمان , ولا الروس ولا الصين وبقية العالم يبرمجون بلغاتهم فقلت لنفسي اكيدددددد مخبين علينا حاجة . اذا في احد من الاخوة يعرف اللغة العبرية( اليهودية)يقدر يطلع من محاظرات الجامعات اليهودية معلومات حول compiler حيث تتشابة اللغتين العربية والعبرية واذا استطاع اليهود ببناء compiler بالعبري فاقول لكم مبروك lets build arabic compiler

وفي الاخير اتمنى النجاح وارجو ان لا اكون مثبطا لكم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تحية طيبة

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

لكن اعتقد ان المشكلة والحل في نفس الوقت هي اننا لا نجيد الا العمل بفردية, او لا نجيد العمل وحدنا مطلقا. وفي الحقيقة ان منطق المعلم والصبي في الحرفة سائد حتى الان , وانا من الذين مازالوا يعتقدو بان البرمجة ما زالت بيننا تدار بهذا الاسلوب -فهي احدث الحرف ولها حارة بين حارة اللحامين وحارة النقاشين" ففي "الشركة العربية للبرمجيات / الحلول البرمجية" -هذا مجرد اسم- مازال هناك معلم الورشة العبقري وهو في الحقيقة عبقري يصمم البرنامج والصبيان او ما يسمى حديثا الـ"كودجاي" يقومون بكتابة الكود ليشرف المعلم على كل سطر. على امل ان يصبح احد الصبين معلما ويفتح ورشته الخاصة.

و"لن" واقولها مرة اخرى "لن" نرى لغة برمجة عربية من انتاج احدى هذه الورش. لانه لن تطعم لا المعلم ولا الصبيان خبز حتى لو كان خبز شعير. لكن الامل موجود فالفلسطيني الذي عكف على اطلس فلسطين التفصيلي -الذي لم ولن تنجح احدى ورشنا الفكرية او حارات ابحاثنا العربية من عمل صفحة منه- على نفقته الخاصة وبتعبه الخاص مدة 20 سنة, اسطورة لكن ليس معجزة وسوف تجد غيره من سيجعل رسالة حياته ان يكون اول من يضع لغة برمجة عربية. قد يكون انا او انت عندما تكتمل لدينا الافكار والمعلومات والحلم.

في الحقيقة ان الفردية في مجتمعنا لا يستهان بها على الاطلاق ودعني هنا اقتبس والخص مقطع من مناظرة فيديوية حيث سال الدكتور سامي الخيمي عضو مجلس ادارة الجمعية العلمية السورية - الاستاذ المحاضر في معهد ماساتشوتس للبحوث التكنلوجية نيكولاس نغروبونتي بعد ذكر الختلاف الشعوب في اساليب ابداعها وتكوينها للحضارات , السؤال التالي: هل الولوج الى الانتر نت يتيح فرصا جديدة لشعوب المتوسط التي تعودت على الانجازات الفردية من اجل بناء حضارة تكنولوجية جديدة ؟ وبعد اضافات قد انشرها يوما في مقالة خاصة هنا.

رد الاستاذ الكبير بشيء من الدهشة البادية على وجهه: "يجب ان اعترف انني لم اتلقى سؤالا بهذه السوية الراقية منذ اكثر من خمس سنوات, ان هذا السؤال العميق الى حد لا يصدق يدفعني للتفكير , ولكنني , رغم ذلك, لا اعتقد ان جوابي سيكون بنفس سوية السؤال. فعلا ان النموذج الذي نعرفه في الغرب , هو ذلك المبني على التركيب الهرمي للمجتمع, والذي يقضي بوجود بنية اجتماعية مركزية هي التي تدير كافة اعمال الابداع والانتاج.

ان شبكة الانتر نت , كما تفضلت, ستؤثر حتما على هذه البنية , وستجعل التركيب الابداعي والانتاجي اكثر لا مركزية بكثير. انني لم افكر من قبل بتاثير ذلك على بعض الشعوب النامية التي كانت تؤثر العمل الفردي, ولكنني اعتقد ان رايك منطقي جدا , وان الامركزية ستعطي هذه الشعوب فرصة عظيمة لخلق حضارة تكنولوجية متميزة في المستقبل القريب!"------انتها الاقتباس

اظن ان هذا الكلام مغري لمن يعاني من احباط فكري يسمى هيمنة الغرب على الابداع , لكن الابداع في مجالنا اداه الابداع هي المعرفة والخبرة, واللغة اداه المعلرفة المتناقلة , فلنبدا حضارتنا الفردية , تعلم الانجليزية ودرس , ترجم ان اردت فعندها سوف تضع حجر في بنيتنا الحضارية الى الابد. ترجم كتاب او مقالة او تعليمات برنامج او حتى جزء من مكتبة مطوري ميكروسوفت ولستباق الاحداث ابحث اع ما هو تجريبي "بيتا" وتعلم وعلمنا.

كل شيء ممكن وما زال بامكاننا ان نعمل شيء لحضارة عربية اسلامية,

اعتقد انني خرجت عن الموضوع قليلا - لا ضير -

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

البعض سيكرهني لما سأقوله، و لكنها كلمة حق يجب أن تقال:

لماذا القيام بصنع لغة برمجة عربية؟ هناك عدة أسباب ممكنة في رأيي (و من لديه غيرها فليتفضل مشكوراً)

1. كتمرين لمهارات البرمجة. و هو شئ جميل و أؤيده. و قطعاً ليس بمستحيل. يمكن (كخطوة أولى) صنع لغة برمجة على الدوت نيت (لأن الـmsil أسهل بكثير من الأسيمبلي).

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

3. كنوع من الإعتزاز القومي. و هو أمر لن أفهمه أبداً. هل اعتزازك بقوميتك و لغتك مهزوز لدرجة أنك تريد أن تثبت ذلك للعالم؟ لماذا لدينا عقدة النقص هذه؟ هل لأن لغات البرمجة باللغة الإنجليزية يعني أن هذه اللغة أفضل من العربية؟ طبعاً لا! لكن مجموعة من الظروف التاريخية (التي لن نستطيع تغييرها مهما شجبنا و استنكرنا) جعلت لهذه اللغة قدم السبق في هذا المجال.

أحب أن أتأسف اذا كان كلامي قد جرح بعض المشاعر، و أنا حتماً لست ضد هذه الفكرة (للسبب الأول الذي ذكرته) بل و مستعد للمشاركة. و لكن كما قلت، كلمة حق يجب أن تقال.

و بالمناسبة: من الأفضل تغيير اسم اللغة. لأنه هناك بالفعل لغة (قديمة نوعاً) اسمها APL

http://www.engin.umd.umich.edu/CIS/course....00/apl/apl.html

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

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

تعليم صغارنا مبادئ البرمجة يعني مفاهيم البرمجة وليس لغات البرمجة..

ليطمئنوا الى التعامل مع البرمجة في جيلهم المبكّر.. وهذا لا يغني عن الاكمال بتعلم لغات أخرى بعد ذلك ، فالذي يفهم ماهية البرمجة يمكنه ان يبرمج بأي لغة,

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

انا استغرب من فكرة نظم التشغيل العربية و البرامج العربية حتى اكون صريح معاكم لانه عندما نقوم بانتقاد البرامج الاجنبية و التفكير بعمل برامج عربية 100% نحن لا نفكر بكيفية عملها. كيف؟

الا تظنون اننا حتى تكون برامجنا عربية يجب اولا ان نبدا بأول خطوة و هي الجهاز نفسه؟ اي اولا يجب ان نصنع جهاز كمبيوتر لان غيرنا سيأتي بفكرة انتاج كمبيوتر عربي 100%. و من ثم نظام التشغيل و من ثم برامج و و و و.

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

انا اقول المثل الشهير

Do not reinvent the wheel لكن هذا كمان مثل اجنبي.

و انا متأسف كثيرا لما قلته و ما زلت اشجع على هذا الاشياء لكني اعتقد بانها بلا جدوى اذا لم نبدأ من الصفر.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
انا اقول المثل الشهير

Do not reinvent the wheel لكن هذا كمان مثل اجنبي.

و ما المشكلة

إن و جد شخص لذة في ذلك :P

دعه... سيتعلم أشياء كثيرة في الطريق إن كان جدي..

هناك مثل أدهى:

إختراع خيط قطع الزبدة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

اخواني ، لا أدري لماذا هذا التهويل للموضوع..

كل الحكاية هي لغة برمجة عربية / ليست نظام تشغيل عربي ولا جهاز عربي، نريد أن نوفر لأولادنا في جيل ما قبل الحروف اللاتينية طريقة يألفون فيها شيء اسمه برمجة,..

ارجو أن يسمح لي صاحب الموضوع في طرح فكرتي هنا وهي لا تعني أنني الغي فكرته...

فكرتي كما شرحتها في موضوع منفصل كالتالي:

لا اريد تعريب الجهاز، بل سأبني محرر نصوص تكتب فيه كالتالي:

اطبع("السلام عليكم، كيف الحال؟")؛

برنامجي سيقوم بتحليل هذه الجملة (لنقل انني ابرمج بلغة سي++) والتحقق من التعبير اذا كان سليما سيقوم بتحويله الى

cout<<"السلام عليكم،كيف الحال";

ليست معجزة ولا مستحيل...

يجب أن تركز على هدفي وهو تعليم الصغار

أما صراحةً لو كنت افكر في بناء لغة برمجة من الصفر فسيكون الهدف مختلف.. أن أبدأ من الصفر فيجب أن يكون هدفي "طريقة جديدة في البرمجة " أو خصائص لا تتواجد في لغات أخرى ، وفي هذه الحالة صراحة لن أفكر في كتابتها عربيّةً ، لكي افتح لها المجال للعالمية ربما أسميها "العربية" أو IbnSina لكن لن تكون أبدا عربية الحروف.

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

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بعد ما يقارب حولين من الموضوع

هل من احد المشاركين لديه جديد !

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

نعم لدى سؤال (غبى) : أليس من اﻷفضل البدء بكتابة Syntax للغة ثم نبحث عن ترجمتها ؟

يعنى يبقى اﻷتفاق أولا على طبيعة الكود و كل عضو يعطى رأيه لنحصل على أفضل Syntax ممكن.

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

تفظل اخي محمد، اوضح كيف تتصور الSyntax

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

بعد السلام

أتمنى من المهتمين مراسلتي حتى نبدأ العمل معا في هذا المشروع

قرأت الموضوع وكنت كتبت في منتدى آخر موضوعا تحت عنوان

دعوة لبناء لغة برمجة عربية للأطفال

مساء الخير

يكبر أطفالنا فيتعلمون اللغة العربية و علوم عديدة منذ نعومة أظافرهم وعندما يحتاج هؤلاء لتعلم الكمبيوتر،

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

و أيضا عدم وجود منهاج واضح لتعليم البرمجة للأطفال

وأنا إن نكأت هذا الجرح فأني أعتقد ان أطفالنا بحاجة لشيئين

:

1- لغة برمجة عربية ممتعة و سهلة التعلم

2- ان نوجههم للعمل بالبرمجة كفرق عمل

- وهذا دور الأهل و المدرسة ومنتدى اللغة المزمع بناؤها -

* و هنالك أفكار للنقطة الثانية لا تتسع المشاركة لذكرها *

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

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

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

وهو موضوع اترك لكم النقاش فيه و تقديم الأقتراحات و الأكثر من ذلك اتمنى من اعادة نشر هذه الرسالة في منتديات أخرى

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

وبالنسبة لبناء هذه اللغة فهنالك أكثر من حل : الأول أن نقوم باختيار لغة برمجة مناسبة من ضمن المصادر المفتوحة

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

ولي عودة باقتراحات أخرى لاحقا

اما الآن فملخص المشروع المطلوب انجازه:

اسم المشروع : لغة رحاب - الأسم ليس سوى وسيلة ولا مانع من تغيره على رأي الأكثرية من فريق العمل

-

نبذة : رحاب مفسر أو مترجم لغة بيسك مبسط و بيئة برمجة بأوامر عربية، تتضمن مكتبة جرافيكية، وهي موجهة للأطفالنا في الدول العربية للولوج الى علم البرمجة

الأهداف المعلنة :

1- بناء مفسر أو مترجم أو التعديل على شيئ موجود بالمصادر المفتوحة

2- بناء بيئة تطوير رسومية أو التعديل على بيئة موجودة

3- توفير امكانية بناء ألعاب وتطبيقات رسومية و صوتية جذابة

3- كتابة المساعدة بطريقة تجذب الأطفال

4- كتابة الأمثلة بطريقة مدروسة

5- كتابة منهج خاص لتعليم اللغة

6- موقع إلكتروني خاص لتحميل اللغة و منتدى ملحق بالموقع

7- نشر اللغة عن طريق وزارات التربية والتعليم في الدول العربيةو الإعلان عنها عن طريق محطات التلفزة الفضائية ومجلات الحاسب و المنتديات

فريق العمل المطلوب :

مبرمجين و محللي نظم لدراسة النظام المطلوب بناؤه او التعديل عليه

منسقين يقومون بالتنسيق بين الفرق المختلفة

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

مصممين واجهة برامج و إضافاتها

مصممين موقع انترنت : ليتم تصميم موقع و ومنتدى للهذه اللغة

مبرمجين يرفدون اللغة و يقومون بكتابة الأمثلة

مبرمجين يقومون بكتابة المنهاج المقترح

أخصائين إدارة مشاريع برمجية

اخصائيين تربوين

اخصاء نفسيين

إعلاميين

اشخاص لهم خبرة بأدارة أقسام المنتديات

إختصاصات أخرى لم تذكر

مراحل العمل :

1- بناء منتدى يتم جمع جميع المتطوعين فيه

2- تحديد الشيئ المطلوب بناؤه

3- دراسة متطلبات الأطفال النفسية و التربوية

4- دراسة ما يحتاجه المشروع من امكانيات و متطلبات إدارية

5- تحليل النظام حسب ما هو موجود وتحديد ما المطلوب بناؤه او التغيير عليه

6- توزيعه على فرق عمل و التنفيذ بشكل متوازي

7- تجميع المشروع

8- كتابة المساعدة و الأمثلة والمنهاج المقترح

4- مراسلة الجهات المختلفة

* وسوف يتم رسم مخطط للعمل في حينه

بعض المفردات الأساسية للغة المقترحة :

عرف

رقم

كلمة

حرف

مصفوفة

اذا

افعل

والا

كرر

من

إلى

طالما

أكتب

إقرأ

وأوامر كثيرة أخرى

أمثلة بسيطة على اللغة

المقترحة :

اذا س=10 إفعل أكتب س

والا أكتب "علامة راسبة "

كرر ج من 1 الى 10 أكتب ج

ص= 10

كرر

أكتب "تكرار"

ص = ص -1

طالما ص > 5

ص= 1

طالما ص < 10

اكتب ص

ص= ص+1

كرر

أبدأ الرسم

نوع الشكل ( مثلث )

ارسم ( ............)

نوع الشكل (مربع )

انتهى الرسم

أظهر الرسم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
تفظل اخي محمد، اوضح كيف تتصور الSyntax
يا محمد صعب أنى أتخيله لوحدى, كما قلت هو عايز نقاش.

و هل الناس تفضل أنه يكون C Style (قد يتيح تحكم أكبر) أم BASIC Style (أسهل) أم Style جديد :P .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

مع أني لا أفقه شيئاً في Low-Level Languages ولا حتى في اللغات الافتراضية ، C أو غيرها ..

لكن بحكم خبرتي المتواضعة في PHP واللغات المتقدمة ، فأنا مهتم جداً بالموضوع ... متابع عن كثب، وبصمت ..

تحياتي، أشرف السمهوري

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

من فضلك سجل دخول لتتمكن من التعليق

ستتمكن من اضافه تعليقات بعد التسجيل



سجل دخولك الان

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .