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

تم بحمد الله اطلاق لغة البرمجة الجديدة Supernova 1.0 (لغة برمجة عربى انجليزى)

رائج
بدأه PWCT Maker في 19 مارس 2010 · 102 رد · 19,862 مشاهدة · في الأخبار والنقاشات التقنية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

تحب تكتب كود البرنامج بالعربى ؟

تحب ان الكود مش كود وانه كلام عادى تقريبا ؟

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

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

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

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

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

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

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

Compiler Implementation using AI Techniques اى بناء المترجمات باستخدام اساليب الذكاء الصناعى

اللغة عربى انجليزى - يعنى الى عايز يكتب كود انجليزى يكتب مش مشكلة (العربى اختيار متاح ولكنه ليس الاختيار الوحيد)

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

رابط التحميل

http://sourceforge.net/projects/supernova/files/

اللغة مساحتها للتحميل مضغوطة اقل من 3 ميجا بايت (ان شاء الله لن تستغرق وقتا طويلا للتحميل والاطلاع والتجربة باذن الله)

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

وهذا مثال لكود باللغة العربية


التطبيق تحت عنوان هو مرحبا.

انا اريد نافذة والنافذة تحت عنوان هو مرحبا!!.
يانافذة لون الخلفية هو {5,155,255}.
يانافذة العرض هو 330. يانافذة الارتفاع هو 250.
يانافذة الاسم هو ن1.

انا اريد زر ويازر النص هو خلينا اصحاب ! اضغط لو كنت موافق !!.
يازر البداية العلوية هى 20.
يازر العرض هو 300.
يازر الاسم هو "زر1"

انا اريد زر ويازر البداية العلوية هى 80.
يازر النص هو . ويازر الاسم هو "زر2"

انا اريد زر ويازر البداية العلوية هى 130.
يازر النص هو . ويازر الاسم هو "زر3"


"زر1 النقر بالفارة" تعليماته هى
"زر2" زر تم تحديده ويازر النص هو بجد فعلا !! ? .
نهاية التعليمات


"زر2 النقر بالفارة" تعليماته هى
نفذ طالما (1).
"زر3" زر تم تحديده ويازر النص هو ههههههههه.
[س]. = الثوانى. و نفذ طالما "الثوانى - [س] < (0.5)"
نفذ احداث الويندوز
نهاية طالما
"زر3" زر تم تحديده ويازر النص هو .
[س]. = الثوانى. و نفذ طالما "الثوانى - [س] < (0.5)"
نفذ احداث الويندوز
نهاية طالما
نهاية طالما
نهاية التعليمات

"زر3 النقر بالفارة" تعليماته هى
لوسمحت اغلق النافذة
نهاية التعليمات

وهذه صورة البرنامج وقت التشغيل

post-167987-1268970722629_thumb.jpg

وهذا هو المقابل باللغة الانجليزية



Application title = Hello!!.

I want window and window title = Hello!!.
Window back color = {5,155,255}.
Window width = 330. window height = 250.
Window name = win1.

I want button and button caption = Be my friend , click to say yes !!.
The button top = 20. button width = 300.
The button name = btn1.

I want button the button top = 80.
Button caption = . and the button name = btn2.

I want button the button top = 130.
Button caption = . and the button name = btn3.


btn1 mouseclick. instructions are
Btn2. button selected and button caption = Really !! ? .
End of instructions


btn2 mouseclick. instructions are
Do while (True).
Btn3. button selected and button caption = Hurrah.
[x]. = the seconds. and do while "the seconds - [x] < (0.5)"
Do windows events
End while
Btn3. button selected and button caption = .
[x]. = the seconds. and do while "the seconds - [x] < (0.5)"
Do windows events
End while
End while
End of instructions

btn3 mouseclick. instructions are
You close window
End of instructions

وهذه صورة البرنامج وقت التشغيل

post-167987-12689706221568_thumb.jpg

والله الموفق

7 −1
#2

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

#3

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

Chail .. Get Focus .. Then Catch Your Target

#4

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

اقتباس

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

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

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

http://sourceforge.net/projects/pythonpwct/files/

وبالفعل سوف يتم استخدام هذا المشروع حين يكتمل نموه فى تطوير المشروع الحالى من خلال بناء بيئة تشغيل Runtime Environment

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

اقتباس

عليك اخي العزيز بالعمل على إخراج اللغة في شكل قابل للحياة والمنافسة حتى ولو بشكل بسيط للغات المطروحة وكما قال الاخ Mohammed-Saeed يجب ان تكون مفتوحة المصدر فكيف ستقنع المبرمج بالإنتقال الى اداة برمجية جديدة تفتقر لابسط مقومات البرمجة وخصوصا الكائنية التوجه

كلام سليم تماما ويتلخص فى 3 نقاط

1 - العمل على جعل اللغة منافسة للغات المطروحة

2 - ان تكون اللغة مفتوحة المصدر

3 - دعم البرمجة كائنية التوجه

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

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

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

مميزات جديدة واستكمال مرحلة الاختبار والفحس للمنتج باذن الله.

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

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

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

وهذا الموضوع استكمال للموضوع السابق

والاهداف من وراء نشر مااقوم به خطوة بخطوة متنوعة واهمها

1 - نشر ثقافة المشاريع مفتوحة المصدر فى العالم العربى

2 - الاستفادة من تفاعل الاساتذة والزملاء بل والمستخدمين ايضا فكل راى له اهميته

والله الموفق

#5

رائع لكن ما الهدف من اللغة العربية :)

أحسست بصعوبة فى قراءة الكود باللغة العربية فأحس انه جملة كاملة بدل مجوعة كائنات بسيطة يتم اسناد قيم اليها فكثرة المسافات سيصعب التمرس عليها :)

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#6
اقتباس

رائع لكن ما الهدف من اللغة العربية

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

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

ويمكن الخلط بين اللغتين فى نفس البرنامج

يعنى ممكن تكتب شوية عربى وبعدين تكتب شوية انجليزى وبعدين تكتب عربى وهكذا

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

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

بخصوص الجمل الكاملة فهذا صحيح

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

مثلا ( انا اريد نافذة)

هذه جملة تتبع قاعدة هى (الضمير الفعل الفصيلة)

حيث (انا) تصنف على انها (ضمير)

و (اريد) تصنف على انها (فعل)

و (نافذة) تصنف على انها (فصيلة)

ونفس الشىء فى الانجليزى

الامر I Want Window

يتبع القاعدة Pronoun verb class

حيث I هو Pronoun و Want هو Verb و Window هى Class

والان بلغة المبرمجين ومقارنة باللغات الاخرى

هذه الجملة تشبه جملة انشاء كائن new object

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

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

راى شخصى

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

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

ولكن مع التجربة بالكود العربى لمدة ساعة وصلت الى التالى

1 - الكود العربى متعة لاتوصف وهذه احساسى الشخصى

2 - قراءته واستيعابه اسرع

والله الموفق

#7

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

ملاحظتي الأولية هو الحاجة الشديدة وبالذات من مبرمجي اليومين دول :) إلى IDE - Integrated Development Invironment ... لو استطعت توفيرها فستقفز لغتك مراتب للأمام ... أظن يجب أن تضع هذه النقطة في الخطة

تحياتي

ASP.NET Team Leader

moh_kin_mah@hotmail.com

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

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

#8
اقتباس

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

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

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

منها مكتبة جرافك وتعدد مهام ومصمم نماذج للغة كليبر تحت الدوس http://www.sourceforge.net/projects/fglib

ومشروع تقنية البرمجة بدون كود http://doublesvsoop.sourceforge.net

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

والله الموفق

1
#9

ما شاء الله

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

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

#10
اقتباس

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

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

Compiler Design , Theory , Tools and Examples

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

Rowan colleage of New Jersey formerly Glassboro state college

بعد ذلك درست كتاب

Concepts of programming languages تاليف Robert W. Sebesta

من اجل استيعاب المفاهيم النظرية بشكل قوى

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

B. Coppin , Artifical Intelligence Illuminated, Jones and Bartlett Publishers, Canda, 2004

وبعد هذه الدراسة

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

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

لان هذه التقنية من تصميمى - الامر الذى يسهل عليا الوقت والتطبيق

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

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

حيث وردت الحاجة الى التدخل و استخدام الذكاء الصناعى فى اجزاء من المترجم

كما ان قواعد اللغة تختلف عن اللغات الاخرى

لغات البرمجة الاخرى تستخدم Context-Free Grammar

اى قواعد غير حساسة للسياق بمعنى ان Rules فيها Non-Terminals يتم اعادة كتابتها بحيث يكون

فى الطرف اليسر One Non Terminal يعاد كتابته

ولكن السوبر نوفا تختلف

لان السوبر نوفا تستخدم Context-Sensitive Grammar

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

انظر الكود التالى

اقتباس

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

سوف تجد الكلمات i want window ذكرت مرتين

مرة فى البداية بمعنى هو اننا نريد نافذة جديدة

ومرة فى النهاية بمعنى هو عنوان النافذة

وعلى اللغة ان تستوعب ذلك ولكى يتم هذا لابد ان تكون اللغة حساسة للسياق

وموقغ الكلمات داخل الجملة.

ومن هنا كان لابد من استخدام طرق جديدة اثناء بناء اللغة

ولهذه الطرق مميزات وعيوب

المميزات / السهولة والقدرة العالية على التعبير فى الاستخدام

العيوب / البطء فى الاداء اثناء العمل وزيادة التعقيد فى التصميم والبناء.

والله الموفق

تم تعديل هذه المشاركة بواسطة PWCT Maker في 19 مارس 2010 في 13:01

#11

السلام عليكم

أخي أريد أن أهنئك على هذا الإنجاز الذي لا يمكن لأحد أن يشكك في أنه إنجاز كبير جدا

لغة برمجة ليست أبدا بالأمر السهل...

أتمنى لك المزيد من التقدم :)

بسم الله الذي لا يضر مع اسمه شيء في الأرض و لا في السماء و هو السميع العليم

117tpo4.png
#12

جميل الله يوفقك

موقع البرنامج

مبارك لشعب تونس photo-thumb-42837.png

#13

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

مشاء الله تبارك الله شي جميل جداً

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

#14

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

ألف مبروك أخى محمود

إنجاز كبير يستحق التقدير والاحترام

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

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

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

وهذا ترحيب بسيط باللغة

Hello.zip

#15

حقيقة اخي العزيز يعطيك العافية وعمل تقدر عليه ،، لكن ارجو ان تتقبل رائي برحابة الصدر

تحب تكتب كود البرنامج بالعربى ؟

لا

تحب ان الكود مش كود وانه كلام عادى تقريبا ؟

لا

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

أحب ان أرى اللغة وليس هي اللتي تراني

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

أحب أن اشعر باللغة وافهمها وليست هي التي تفهمني

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

أتسائل هنا هل يوجد لغة برمجة هندية ؟ هل يوجد لغة برمجة فرنسية ؟ هل يوجد لغة برمجة المانية !!

لماذا نقوم باعادة تلوين العجلة بدلا من أن نقوم بتطويرها !

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

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

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

وبارك الله فيك

1

Linux for human beings

#16

مشروع ممتاز أخي ،

هل هذا الجيل الرابع من اللغات .. أن تصبح قريبة من لغة البشر ..

عمل رائع .

ولكن هل يمكن تصنيف البرمجة بهذه اللغة في مجال معين ( برمجة اجرائية Procedures ، برمجة كائنية OOP ، الخ .. ) .

أم أن تصنيف " برمجة باستخدام الذكاء الاصطناعي " ، تصنيف جديد لا يمكن ادراجه تحت تلك المفاهيم .

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

أرى أن اللغة متأثرة بأسلوب VB :) ، من حيث أنها تقاد بالأحداث .

عموماً ..

أرى أن تعزل لغتك عن GUI و أي أمور ثانية ،

الهدف أن تكون اللغة صلبة .. ثم تبني مكتبات باستخدامها ، ولايهم المخرجات ، هل كانت على Console أو File أو Window - GUI .

اقتباس
تسائل هنا هل يوجد لغة برمجة هندية ؟ هل يوجد لغة برمجة فرنسية ؟ هل يوجد لغة برمجة المانية !!

لامانع من جودها ، ممكن يتعلمها أطفال صغار أعمارهم عشرة سنين .. مثلاً ،

هل نجبرهم على تعلم الانجليزية ؟

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

أعتقد الأخ صاحب الموضوع بنى لغته بهذا الشكل ، لذلك يمكن نظرياً أن نضيف لغة باللهجة المحلية وليست العربية فقط ، وذلك لتكون لغة مشفّرة بشكل جيد :happy:

هي خيارات متاحة لمن أرادها .

مبروك مرة أخرى على هذا الانجاز :cool:

1

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#17

أولا يعطيك ألف عافية أخي الكريم , لكن لدي بعض الأسئلة التي لم توضحها في مشروعك :

1- ما هي المنصة التي يستهدفها الـ Compiler الخاص بلغتك ,( إن كانت Compiled ربما تكون Interpreted ) , هل هي تستهدف IL , 8086 ?

2- تقول أنك بنيت هذه اللغة بتقنية "البرمجة من دون كود" لو توضح لنا هذه التقنية ...

وشكرا لك

#18
AliBazzi كتب:

2- تقول أنك بنيت هذه اللغة بتقنية "البرمجة من دون كود" لو توضح لنا هذه التقنية ...

وشكرا لك

يمكنك الاطلاع على موقع المشروع من هنا

http://doublesvsoop.sourceforge.net/

وهذا تعريف بالمشروع فى موقع وادى التقنية

http://itwadi.com/?q=node/294

وفى موقع موهوبون

http://www.mawhopon.net/ver_ar/news.php?news_id=3209

موقع المشروع العربى

http://pwct.p2h.info/vb

1
#19

بسم الله الرحمن الرحيم الحمد لله رب العالمين الرحمن الرحيم مالك يوم الدين الذي قال في محكم آياته : بسم الله الرحمن الرحيم “وفوق كل ذي علم عليم" أخي الكريم : بالرغم من بُعد دراستي عن ما قمت بعمله إلا أنني قد فرحت فرحاً شديداً بهذا العمل وكأنني أنا الذي قمت به ، وفقك الله وجعل عملك في رضاه وجعلك كافينا في هذا المجال ، ورفع عملك إلى العالمية ، لا أملك أي معرفة في هذا المجال حتى أعقب على موضوعك ، لكني لا أملك إلا التشجيع وإلا الأمام دائماً وجزاك الله عنا خير الجزاء والسلام عليكم ورحمة الله وبركاته

1
#20
اقتباس

لغة برمجة ليست أبدا بالأمر السهل...

بخصوص مدى صعوبة عمل لغة برمجة

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

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

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

1 - ان يتوكل على الله لان الله يهب العلم من يشاء

2 - ان يبذل قصار جهده فى التعلم والاستيعاب وتطبيق مايتعلمه

3 - ان يترك المجال لفكره حتى لايكون مقيدا بما تم فى الماضى وان يحاول الابتكار

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

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

اقتباس

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

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

من الجيل الخامس (اللغات الطبيعية وانظمة الذكاء الصناعى) وهى نقطة بحث

اقتباس

أتسائل هنا هل يوجد لغة برمجة هندية ؟ هل يوجد لغة برمجة فرنسية ؟ هل يوجد لغة برمجة المانية !!

لماذا نقوم باعادة تلوين العجلة بدلا من أن نقوم بتطويرها !

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

وفى رايى الشخصى :-

عدم توفر الشىء على ايدى الاخرين لايعنى ان لانقوم به

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

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

اقتباس

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

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

ولكنها امكانية متاحة لمن يرغب فى وضع امثلة تعليمية بكلا اللغتين فى نفس الملف.

اقتباس

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

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

المسالة ليست تحجيم بل توافق

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

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

ولهذا اللغة الانجليزية مدعومة وهذا يحقق العالمية

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

اقتباس

هل هذا الجيل الرابع من اللغات .. أن تصبح قريبة من لغة البشر ..

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

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

وهى ضمن الذكاء الصناعى من حيث البناء الداخلى.

اقتباس

ولكن هل يمكن تصنيف البرمجة بهذه اللغة في مجال معين ( برمجة اجرائية Procedures ، برمجة كائنية OOP ، الخ .. ) .

أم أن تصنيف " برمجة باستخدام الذكاء الاصطناعي " ، تصنيف جديد لا يمكن ادراجه تحت تلك المفاهيم .

تعتمد على الذكاء الصناعى تحت مسمى (البرمجة بوصف الخيال Programming With Fiction Description )

وبالاستخدام هذا الاسلوب نحصل على نتائج مشابهة لكل من

الـ Functional و OOP و Event-Driven

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

اقتباس

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

أرى أن اللغة متأثرة بأسلوب VB ، من حيث أنها تقاد بالأحداث .

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

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

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

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

ولكن مايحتويه الاجراء هو المثير

ايضا هناك ميزة جديدة

حيث يكمن كتابة جزء من اجراء فى مكان (ملف)

وكتابة جزء اخر منه فى ملف اخر

وتقوم اللغة بدمج الجزئين معا

مثلا المثال التالى يعرف تعليمات خاصة بى على مرتين


set window auto show off

I want window and the window title is Instructions Test Application.
The window back color is {255,255,255}.
You maximize window and You show window

"Eng Mahmoud Fayed" instructions are
I want window
The window title is The first part of Mahmoud instructions.
The window top is 70. and the window left is 50.
The window height is 150. and the window width is 400.
The window back color is {55,155,205}.
You show window
end of instructions

Eng Mahmoud Fayed. instructions must done

'Eng Mahmoud Fayed' instructions are
I want window
The window title is The Second part of Mahmoud instructions.
The window top is 270. and the window left is 350.
The window height is 150. and the window width is 400.
The window back color is {255,205,175}.
You show window
end of instructions

post-167987-12690401686181_thumb.jpg

اقتباس

عموماً ..

أرى أن تعزل لغتك عن GUI و أي أمور ثانية ،

الهدف أن تكون اللغة صلبة .. ثم تبني مكتبات باستخدامها ، ولايهم المخرجات ، هل كانت على Console أو File أو Window - GUI .

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

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

تماما مثل الفرق بين الويندوز واللينكس فيما يتعلق بالبيئة الرسومية

الويندوز وضعها داخل النواة - اما اللينكس لا

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

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

مثلا مع بايثون ان تفكر اى مكتبة تستخدم هل تستعمل PyQt او wxPython ام ......

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

فلسفتى فى السوبرنوفا - ان تكون بناء متكامل لمنع هذه الاختلافات.

ايضا هناك ميزة اخرى وهى المحمولية الخاصة بالكود حيث عندما يتم نقل اللغة من بيئة لاخرى لاتفكر فى ان تلمس الكود مهما حصل.

ما اود ان اقوله ان لكل اسلوب مميزات وعيوب

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

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

اقتباس

- ما هي المنصة التي يستهدفها الـ Compiler الخاص بلغتك ,( إن كانت Compiled ربما تكون Interpreted ) , هل هي تستهدف IL , 8086 ?

تم بناء اللغة باستخدام Hybrid Implementation

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

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

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

والله الموفق

#21
PWCT Maker كتب:

تم بناء اللغة باستخدام Hybrid Implementation

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

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

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

والله الموفق

يعني قمت حضرتك بتصميم لغة وسيطة خاصة بك , وVM ستنفذ تلك اللغة , سيتم دمج الـ VM مع كل EXE سينتج من الـ Compiler خاصتك , أيس كذلك ؟ :blush:

#22

اخي العزيز محمود ..

انجاز رائع .. ويمكن من القلة القلائل اللي شاهدتهم في حياتي قول وفعل .. ماشاءالله عليك ..

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

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

وبالذات بعد مشاركتك الاخيرة وبعد كتابتك للاكواد في المثال الاخير ..

لنبدأ ..

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

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

لذلك .. الكود التالي ..

The window back color is {255,255,255}.

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

الا يمكن ان تضيف المنطق الضبابي .. اعتقد انه يكون اقوى .. يعني مثلا اكتب ( بالعربي )

اقتباس
النافذة لون الخلفية اسود فاتح

وما يقابلها بالانكليزي نفس الشئ ..

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

ثانيا :: طريقة تحديد الخصائص كلها كتابة .. وهذا شئ انتهى تقريبا منذ اكثر من 14 سنة .. منذ فيجول استوديو 4 او 5 ..

اصبحت الخصائص بالماوس يتم تحديدها .. سوى التي نريد تغييرها وقت التنفيذ ..

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

واختصرت ال10 اسطر في 4 ثواني ..

بينما انت الان نحتاج الى الكثير من الوقت للكتابة ..

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

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

فمستقبل لغات البرمجة يميل للاختصار وليس للكثرة ..

وهنا اعود ايضا لادمج هذه النقطة بالنقطة السابقة .. ماذا لو قلنا ..

the window top is lower the center

ممكن الصيغة تكون غير شكل لكن هو مجرد تساؤل ..

ثالثا .. منسق الكود لديك يخلط بين الكود الاساسي وبين النصوص ..

يعني لديك الكود التالي ..

The window title is The Second part of Mahmoud instructions.

في الكود اعلاه ارى امامي ان كلمة The في تعريف النافذة لها نفس اللون في نص عنوان النافذة .. لذلك سيصعب التمميز بين النص وبين الكود ..

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

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

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

واذا كان العكس .. فانا ذكرت ماكتبه للانتباه ..

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

وووووووو ... تحياتي العطرة للجميع ..

تم تعديل هذه المشاركة بواسطة سنان محمد صالح في 21 مارس 2010 في 00:39

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#23
سنان محمد صالح كتب:

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

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

لذلك .. الكود التالي ..

The window back color is {255,255,255}.

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

الا يمكن ان تضيف المنطق الضبابي .. اعتقد انه يكون اقوى .. يعني مثلا اكتب ( بالعربي )

بارك الله فيك أخى/ سنان محمد صالح

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

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

فليس صعبا أبدا أن يتم إضافة الكلمات Blue او Red أو Green أو اسم أى لون يمكن تكوينه منهم ككلمة محجوزة تعود بقيمة اللون بدلا من كتابة القيم اللونية

وهذا من المؤكد أنه سيكون محل دراسة فى تطوير اللغة فى الاصدارات القادمة ان شاء الله

ربما يكون للمهندس محمود رأى اخر ولكن هذا أيضا مجرد رأيى الشخصى

اقتباس

ثانيا :: طريقة تحديد الخصائص كلها كتابة .. وهذا شئ انتهى تقريبا منذ اكثر من 14 سنة .. منذ فيجول استوديو 4 او 5 ..

اصبحت الخصائص بالماوس يتم تحديدها .. سوى التي نريد تغييرها وقت التنفيذ ..

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

واختصرت ال10 اسطر في 4 ثواني ..

بينما انت الان نحتاج الى الكثير من الوقت للكتابة ..

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

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

اقتباس

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

فمستقبل لغات البرمجة يميل للاختصار وليس للكثرة ..

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

اقتباس

ثالثا .. منسق الكود لديك يخلط بين الكود الاساسي وبين النصوص ..

يعني لديك الكود التالي ..

The window title is The Second part of Mahmoud instructions.

في الكود اعلاه ارى امامي ان كلمة The في تعريف النافذة لها نفس اللون في نص عنوان النافذة .. لذلك سيصعب التمميز بين النص وبين الكود ..

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

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

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

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

مع خالص تحياتى

سامح كامل

#24

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

احب ان استفسر .. اسمك ليس بالغريب عني ..؟؟؟

هل انت احد اعضاء فريق تطوير PWCT ؟؟؟

ام هو اشتباه بالاسم ؟؟

الان اعود لاعقب على كلامك..

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

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

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

تعمدت في قولها لتكون حافزا للتطوير ...

شكررراااا لك اخ سامح واي شئ لدي مستقبلا بالتاكيد ساذكره ..

فعلاقي بمحمود قديمة ... انا وهو اخوان ...

تحياتي العطرة ..

يَارَبُ إِن ضَاقَت قُلُوُب الْنَّاسٍ عَنْ مّافِي .. مِنْ خَيْرٍٍ فَعَفْوكَ لَا يَضِيْقْ ..

#25

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

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

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

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

ما اود ان اقوله لزيادة توضيح الصورة

ان لغات البرمجة الحديثة تنقسم الى العديد من الاجزاء

1 - هناك المترجم Compiler والمفسر Interpreter و بيئة العمل Runtime Environment

2 - هناك بيئة التطوير المتكاملة او التفاعلية Interactive/Integerated Development Environment

3 - المكتبات والادوات المتنوعة الاغراض والتى يقوم بعملها مطورين عديدين حول العالم

السوبر نوفا مازالت فى الاصدار الاول - اى مرحلة الطفولة Child

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

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

بالنسبة للنقطة الاولى تنقسم هى ايضا لعدة نقاط

1 - تصميم اللغة

2 - تنفيذ اللغة

3 - اختبار اللغة

4 - زيادة الاداء

5 - نقل اللغة الى بيئات عمل مختلفة

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

وسرعة التنفيذ بهدف الحصول على رد فعل الجمهور اول باول (هذه هى فائدة العمل فى مشاريع مجانية ومفتوحة المصدر )

كما يتاح العمل على اكثر من نقطة على التوازى حيث هناك من يفكر فى تطوير التصميم

وهناك من يفكر فى التوثيق وهناك من يفكر فى نقل اللغة الى بيئة عمل اخرى

ذلك ممكن ان يتم على التوازى طالما ان نواة المشروع متوفرة للجميع

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

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

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

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

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

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

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

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

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

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

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

والله الموفق

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