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

راقب واقرأ قصة تطوير شفرات تصميم لغة برمجة عربية شيئية التوجه OOAPL.

بدأه حسام الملحم في 15 أكتوبر 2006 · 9 رد · 7,705 مشاهدة · في هندسة البرمجيات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم،،،

أعمل في وقت فراغي في بعض الأحيان في تصميم لغة برمجة جديدة شيئية التوجه.

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

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

أرجو ألا تكون الشفرة ثفيلة عليكم!! كما أرجو أن تعجبكم،، !

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

هذا الموضوع مخصص لمناقشة كيفية صناعة اللغة ذاتها وليس شكلها!

أرحب بالمشاركات الهادفة المفيدة،،

إن أردت المشاركة في وضع تخيل لشكل هذه اللغة،، فأرجو أن تتطرحها هنا:

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

تستطيع تجربة الشفرة بعد عمل الترجمة بعمل تشغيل لملف

hussam.oo.OOProgramming

---

تصميم حسام الملحم

هذا الإصدار يحتوي فقط على المحرك أو البيئة التخيلية أو خوارزمية التنفيذ،، الإصدار 0,1

OOProgramming.zip

#2

السلام عليكم،،

إليكم ملخص:

تم تكوين أساسات العقل المبدئي:

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

2- تم بناء HClass وهو الذي يمثل الفئة .

3- تم بناء HObject والذي يمثل الشيء وهو رأس الهرم..

4- تم عمل HMethod و HMethodSignature

5- تم عمل HReference !

6- HField

7- HClassLoader!!

8- وأمور غيرها

الفئات السابقة ما زالت تحت المراجعة الدائمة..

وأيضا بدأت في صناعة الأساسيات مثل:

StringClass و String Object

IntegerClass و IntegerObject

وأيضا أرجو أن أوفق في تصميم واجهة الأرقام،، عموما،، !!

وأجعلها أفضل من Number API التي في الجافا!!

أعتقد أني اختصرت كثيرا!

الله يعينكم!

إذا شغلت البرنامج التجريبي، فستجد أنه سيبحث عن فئة معينة، ويعمل منها جديد،، وبعدها يطبعها!

#3

معك بإذن الله

(سي شارب)

#4

عليك أخي حسام أن تقوم أولا بتصميم قواعد للغة Grammer ,

وبعدها ابدأ بتقسيم النص إلى كلمات Tokens ,

بعد ذلك بحلها ربنا

#5

السلام عليكم،

أنشر لكم الفصل الثاني من الرواية التي أخذت بعض الوقت في وصفها. تمكنت في هذا الإصدار من وضع هيكل صحي لاستقبال أنواع الأرقام الحاسوبية. إذا تمتاز هيكلة الأرقام أنها أكثر قابلية للتوسع من قرينتها Java Number API التي طالما حكمتنا بهيكلتها البغيضة.

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

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

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

كما هو متوقع، أضفت بعض التغيرات في هيكلة الفئة HClass البسيطة.

الأوامر أو العمليات أو Functions أفكر في جعلها قابلة لإرجاع أكثر من قيمة.

من الأمور التي أنوي فعلها هي أن يتم تمرير المتغيرات بنسخ القيم أو Pass By Value فقط.

الفئات التي ترونها في الشفرة وتطويرها عبارة عن التركيب الأساسي، مثل الفئات الأساسية في الحزمة Java.lang. تمتاز هذه الفئات أنها أصلية أو Native ومربوطة بشكل أساسي مع الآلة التي تعمل عليها، طبعا الآلة هي آلة الجافا حاليا.

هذه بعض الأفكار،، التنفيذ سيأخذ وقتا، وإلى لقاء آخر.

ملاحظة لتجربة المحرك شغل الفئة hussam.oo.test.OOProgramming البرنامج سيعرض لكم ماذا يحدث إذا تم ضرب عدد حقيقي مع عدد صحيح.

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

أترككم مع الشفرة.

الإصدار 0.2

OOProgramming.zip

#6

الله يجزاك خير يا استاذ ابو مازن

والله انا اول ما سجلت في منتديات الفريق العربي دخل رأسي هذا الموضوع

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

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

وان شاء الله تكمل هذا الموضوع ونشوفك مثل جيمس جوسلينج

امين ..

#7

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

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

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

ولهذا احب ان اساعدك بشيء بسيط وهي فكرة

طبعا جميعا يعلم ان جافا بدأت من حيث انتهى C++ وهذا ماجعلها بهذه القوة والشهرة

ولهذا انصحك بالتالي:

1- تكوين فريق على المشروع

2- تطوير إحدى المشاريع الكبيرة + حديثة المفتوحة المصدر خاصة التي تمتلك رخصة GPL مثل:

MONO-Project

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

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

على الموقع

http://www,nonoproject.com

وكذالك مشروع

شارب دفلوب ولكن لنظام ويندوز وهو يعتمد على نفس مكتبات الويندوز والفريم ورك نفسه وهو ايضا يحمل رخصة GPL ويمكنك تحميل المصدر من نفس الموقع التالي:

http://sharpdevelop.com

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

مثال:

لغة باثيون بدأت من شخص بسيط ثم ترك المصدر في النت برخصة GPL والان بعد اكثر من عشرة سنوات تتنافس عليها الكثير من الشركات على انتجاها من ضمن مجموعة لغاتها مثل ميكروسوفت تنوي انزاله باسم ironPathion ومونو باسم Boo والعديد من الشركات

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

#8
Maksen2 كتب:
بسم الله الرحمن الرحيم

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

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

ولهذا احب ان اساعدك بشيء بسيط وهي فكرة

طبعا جميعا يعلم ان جافا بدأت من حيث انتهى C++ وهذا ماجعلها بهذه القوة والشهرة

ولهذا انصحك بالتالي:

1- تكوين فريق على المشروع

2- تطوير إحدى المشاريع الكبيرة + حديثة المفتوحة المصدر خاصة التي تمتلك رخصة GPL مثل:

MONO-Project

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

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

على الموقع

http://www,nonoproject.com

وكذالك مشروع

شارب دفلوب ولكن لنظام ويندوز وهو يعتمد على نفس مكتبات الويندوز والفريم ورك نفسه وهو ايضا يحمل رخصة GPL ويمكنك تحميل المصدر من نفس الموقع التالي:

http://sharpdevelop.com

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

مثال:

لغة باثيون بدأت من شخص بسيط ثم ترك المصدر في النت برخصة GPL والان بعد اكثر من عشرة سنوات تتنافس عليها الكثير من الشركات على انتجاها من ضمن مجموعة لغاتها مثل ميكروسوفت تنوي انزاله باسم ironPathion ومونو باسم Boo والعديد من الشركات

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

كلام جميل لكن لماذ لايكون الفريق متحرر؟

لماذا نشترك في مشروع مونو؟؟ لماذا لا يكون لنا كيان برمجي بحت..؟؟لماذا اذا عمل أحد منا مشروع يلاقي التعازي بدل التشجيع؟؟ وأحساسه بالرفض

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

لغة برمجة عربية ...مش مهم تكون معربة المهم تتحرر من التبعية وهذا ما نريده بدل المواضيع والمشادات الكلامية والعنصريه حول اللغات الأجنبية.

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

ماللذي ينقصنا؟ مبرمجين..؟؟ لا ...مطورين؟؟؟ لا

لكن متشتتين هنا وهناك

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

لما لانستفيد من أخطاء الأجانب ونحاول نطور ونبدع بأفكار جديده تخصنا ؟؟

أخي الكريم أحيك على هالمشروع وصحيح أنه مصدر حر لكن هاللغة في النهاية تعتمد على أي مكتبة؟؟

#9

جزاك الله خير

كان نفسي أساعد حضرتك في المشروع بس مازلت مبتديء J2SE

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

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

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

مدونتي

برمجة وما يتبعها

#10

السلام عليكم

أنا لا أفهم كثيرا بالجافا وأنا جاركم في منتدى الدلفي :lol: ...

الموضوع قديم قليلا لكن يحوي سؤال في النهاية لم تتم الإجابة عليه

أخي العزيز يقصد بالبرمجة الشيئية (أي غرضية التوجه) وهذه هي كل المشكلة

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

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