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

مشروع يريد دعمكم المعنوي(لغة برمجة عربية)

مغلق
بدأه إسماعيل ابراهيم في 23 مارس 2006 · 16 رد · 1,855 مشاهدة · في هندسة البرمجيات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

هذا تخطيط أولي لمشروع وددت القيام به:

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

ما الحاجة أو الدافع؟

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

مع التشديد على أن مفاهيم البرمجة أهم بكثير من لغة البرمجة نفسها.

الفكرة:

فكرتي هي الاّ أضيّع قرونا في بناء اسلوب برمجة جديد ولغة جديدة ، إنما الفكرة هي:

بناء محرر نصوص بسيط ، مثل محرر فيجيوال سي (أي محرر بدون أنواع فونتات وتكبير وتلوين وما إلى ذلك هذا ما أقصد بمحرر بسيط)

يقوم المتدرب بكتابة برنامجه وفقاً لقوانين اللغة.

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

وحفظه في ملف بنهاية cpp ثم بعد ذلك يقوم مترجم (فيجيوال سي++) بعمله!

يترجم الملف الناتج الى برنامج..

طبعاً قمت بتحليل الإحتياجات والعقبات.لكن على عجالة أسرد ما لدي:

1) في حالة وجود خطأ في الترجمة سيصدر مترجم السي خطأ ذي كود مثلا C2100

سيتلقّى برنامجي هذا الخطأ ويترجمه وفقاً لقاعدة بيانات فيها كل الأخطاء وترجماتها..

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

2) أبني قاعدة يبانات (أو قائمة) بكل الكلمات المحجوزة من قبل لغتي (والتي تكون ترجمة للكلمات المحجوزة في لغة سي و سي++.حسب هذه القائمة تتم الترجمة.

3) بما أن أسماء المتغيرات التي سيضعها المستخدم هي عربية فتتولد مشكلة؟ كيف نترجمها/

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

مثلا : قمت بتعريف متغير اسمه : (الاسم)وآخر اسمه (العمر)

سيخزن في قائمة المتغيرات هكذا :

الاسم :var0001

العمر: var0002

في طور الترجمة اللغوية شيتم ترجمة كل ظهور(قانوني) لكلمة الاسم الىvar0001

وكذلك العمر الى var0002

هذا على عجالة...

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

مع العلم أنني لا اريد أكوادًا ولا حلولا جاهزة ... فقط إرشاد خصوصاً وأنني لا أعرف اسس التخطيط لمشروع "كبير".

وأريد إقتراحات أيضاً.

وشكرا

تم تعديل هذه المشاركة بواسطة إسماعيل ابراهيم في 23 مارس 2006 في 01:08

#2

هناك كلام كثير في هذا الموضوع و كل ما أقوله الأن هو:

بالتوفيق إن شاء الله

d4baa0.gif
#3

السلام عليكم

There's a good book that can be useful for the stage of specifying the syntax of the new language , which is " Programming Language Pragmatics" by Michael L. Scott

#4

I'm now making a research on this sobject, and Programming Language Pragmatics is one of my reference books.

thank Adel you for support me.

#5

فكرة ممتازة جدا

وبالتوفيق إن شاء الله

#6

ممتازة الفكرة

وهل انت متمكن ام فقط مقترح

يعني هل بامكانك البدأ بنفسك ثم البقية يساعدوك,,

انا كنت راح اساعدك لو كان في ال vb6 او php او حتى asp

لكن الفكرة ممتازة ومع تمنياتي لكم بالتوفيق

#7

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

أذا كنت ناوى تترجم من لغة الى أخرى فلا دعي منها أما أذا كنت ستقوم بعمل Scanner , Parser ,etc.... فا ربنا يوفقك

Nothing to mention except that I am Muslim

Using your brain is not bad as you think

My Blog

logo.jpg

#8

شكرًا لكل من مرّ وكل من أطرأ أو انتقد الفكرة.

اقتباس
وهل انت متمكن ام فقط مقترح

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

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

انا الآن في طور التخطيط العام.

أخ neo قلت :

اقتباس
أذا كنت ناوى تترجم من لغة الى أخرى فلا دعي منها أما أذا كنت ستقوم بعمل Scanner , Parser ,etc.... فربنا يوفقك

وإذا كنت ناوي أعمل مترجم فـ "الله ما يوفقني ؟؟! :D

على كل أخي نيو أنا أقصد بالفعل بناء مترجم لغوي. لكن له داعي وداعي مهم وهو تعليم اولادنا البرمجة في الصغر دون الحاجة للتخطي عقبتين : عقبة اللغة الانجليزية ثم عقبة لغة البرمجة... الآن يمكن للطالب الإبتدائي في المراحل الأولى بناء برنامجه!!

أنا لن أبني لغة برمجة كما وضحت في المشاركة#1

وشكرا لدعمكم.

مرحظة : إن بناء parser خاص بي، لكي لا اترجم لملف السي++ كلام "خرابيش". محل حيرة...

هل اقوم بترجمة كل شيء للسي++ ليقوم مترجم السي بعمله أم "أفلتر" الأشياء قبل ارسالها للسي++!!

إقترحوا علي في هذه النقطة ، ولا تشغلوا بالكم بالأكواد والأشياء التطبيقية. فقط أفكار..

#9

ممكن ولكن:

عقبات لابد من تخطيها

8-)

فكر بطريقة أخرى

#10

السلام عليكم

The idea of creating a program to translate from a new language to another language to avoid building a complete compiler is not a new idea. Bjanrne strostrup when first invited C++, he created a program to translate C++ to C and then compiles this C code with a C compiler. Later he made a complete C++ compiler.

Even now adays, The garbage collector of the .NET framework was written in LISP, and then this LISP code was translated to C++ and compiled with a C++ compiler, because LISP is a functional language,and it was easier to build the garbage collector with it.

But the problem is in using arabic itself as a base for the programming lanuage. Even non english people such as Bjarne strostrup, uses english as a basis for their programming languages because english is widely used around the world.

#11
اقتباس
Bjanrne strostrup when first invited C++, he created a program to translate C++ to C and then compiles this C code with a C compiler. Later he made a complete C++ compiler.

يسعدني أن مبتكر سي++ بدأ كما بدأت :) ، إذن أفهم من هذا ان فكرتي ليست خاطئة!

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

وشكرًا لكم جميعاً.

#12
DeltaAziz كتب:

هناك كلام كثير في هذا الموضوع و كل ما أقوله الأن هو:

بالتوفيق إن شاء الله

29_03_06_03_44_07_1143632647IMG_1.jpg

.

29_03_06_03_45_13_1143632713IMG_.jpg

d4baa0.gif
#13

أخي اسماعيل اسأل الله أن يوفقك في عملك الشجاع

واقترح عليك أن يكون المشروع مفتوح المصدر Open Source إذا كان غير تجاري, لكي يتطور بسرعة وأيضاً لكي لا يموت بسرعة !! :-)

تم تعديل هذه المشاركة بواسطة نواف أمين في 30 مارس 2006 في 15:37

#14

ربنا يوفقك أنا أعرف انك بتعمل Parser

و ترى الموضوع مش سهل ولكنك قدها...

أنا عملت واحد خاص بي...

لغة غريبة شوية ولكنها تعمل...

لذا انصحك ان تكتب الـBNF الخاص بها

وبعدين ابدا

واذا احتجت مساعدة

نحن في الخدمة

لماذا تكون الليغو اللعبة الأكثر عبقرية في العالم؟

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

-----

وائل بن أحمد كابلي

مستشار تطوير برمجيات | مايكروسوفت للخدمات الاستشارية

MCSE | MCTS SharePoint Infrastructure | MCTS SharePoint - Development | MCP | MSF Essentials

http://blogs.msdn.com/wael

@waelkabli

#15

============================

أخي اسماعيل اسأل الله أن يوفقك في عملك الشجاع

واقترح عليك أن يكون المشروع مفتوح المصدر Open Source إذا كان غير تجاري, لكي يتطور بسرعة وأيضاً لكي لا يموت بسرعة !! :-)

============================

كلامك عين الصواب

إذا لم يكن كذلك ,, وإلا نسبة 95% المشروع فاشل

لانه اذا كان مفتوح المصدر راح بإن الله يكون متفوق مثل البي اتش بي

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

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

بالتوفيق ,,

وان شاء الله اتعلم السي ++ واكون من الفريق ,,

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

مجرد رأي ,,

#16

يا جماعة ... اشكركم جزيلا على هذه الاطراءات والاقتراحات...

لكن لا تتوقعوا مني غدا ان اضع الكود ...

أنا في مرحلة بناء الأفكار والخوارزميات...

ونصف وقتي هو للبحث حول هذا الموضوع لكي لا اقع في مطبات وقع فيها من سبقوني...

لما يكون هناك مصدر نبقى ننقاقش فتحه أو الاحتفاظ به :)

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

#17

على فكرة ، اتبعت بعض الروابط هنا لأجد الموضوع قد تم مناقشته مسبقاً...

لم أعلم إلا الآن ... لكن الله يوفق الجميع.

والطريق طويل أمامي خاصةً لعدم وجود تفرّغ للموضوع...

هذا الموضوع مغلق.

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

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…