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

اخر اخبار مشروع البرمجة بدون كود العربى

بدأه محمود سمير في 29 فبراير 2008 · 14 رد · 1,935 مشاهدة · في الأخبار والنقاشات التقنية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

لدى موجز سريع عن اخر اخبار المشروع

1 - نشر خبر عن المشروع فى جريدة الرياض - بالمملكة العربية السعودية - حوار (د. هند الخليفة)

www.alriyadh.com/2008/02/29/article321807.html

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

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

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

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

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

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

لانى اليوم فقط وصلت لاجابة السؤال (لماذا اشعر بالمتعة اثناء البرمجة بدون كود) ؟

بالفعل متعة لاتوصف !

Well, your project is very nice.  I have one comment.  You have to  
learn how to use your software, which is a language in itself.
You require a procedure to program, instead of being declarative in  
text.  I suggest you sell your software to people who like
to use procedures to code (perhaps game players).  For me, the fewer  
procedures I have to learn, the better I am.  It also means
I am less constrained (but perhaps less productive).

John

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

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

ولكن اثناء الحوار توصل الى انه ممكن ولكن سوف نحتاج الى تفضيل وهذا مايقرره مبرمجين النظم

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

والله الموفق

(قد اتفقت مع الاخ GamingMaster ان اقدم له مثال اليوم الجمعة ولكنى اعتذر منه

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

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

والله الموفق

مع تحياتى

محمود فايد

#2

اخبار مبشرة .. نتمنى لك التوفيق ..

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

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

gazabigBanner.jpg

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

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

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

ولكن اثناء الحوار توصل الى انه ممكن ولكن سوف نحتاج الى تفضيل وهذا مايقرره مبرمجين النظم

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

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

/index.php?showforum=214

banner_60_468.gif

NOTHING IS IMPOSSIBLE

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

/index.php?showforum=214

اشكرك اخى الكريم على هذه الارشادات والنصائح الغالية

فهذا بالفعل مااحتاج اليه دائما

خبرة الحياة والتجارب التى لاتقدر بثمن

وفقك الله دائما لعمل الخير

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

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

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

مع تحياتى

اخوك فى الله

محمود فايد

#5

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

تم تعديل هذه المشاركة بواسطة محمد معاشر في 29 فبراير 2008 في 20:54

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

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

gazabigBanner.jpg

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

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

اخى الكريم محمد

ساعمل على توضيح ذلك فى الدروس (توظيف المفاهيم عمليا)

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

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

1 - فى البداية يتم تحديد مكونات النظام System Components لكى يتم تحديد عدد الخوادم Servers التى يشتمل عليها

2 - يتم اسناد مهمة لكل خادم على حدة

3 - يتم تحديد عمليات تبادل البيانات والمهمات من خلال وحدة Veto التى تتيح عمل اتصال Connection بين خادمين وعمليات تبادل البيانات

فيما بينهما من خلال قنوات Channels وكذلك عمليا تبادل الرسائل التى تقبل الرفض Veto

4 - لكل خادم على حده يكون هناك تمثيل واضح للبيانات التى يتعامل معها من خلال وحدة البيانات Data Unit

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

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

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

Atom Customers
   Shell Local
		SubShell Important
			   Var Name
			   Var Company
			   Var Phone

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

7 - الالكترون يقابل المتغير Variable ويقابل البيانات Data ويقابل الدليل Refrence

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

8 - المدار الفرعى يقابل المصفوفة Array ويقابل Stack و Queue من الالكترونات

9 - المدار يقابل مصفوفة المصفوفة من الالكترونات

10- الذرة تقابلة مصفوفة مصفوفة المصفوفة من الالكترونات

11- الوعاء Vessel هو حاوى للذرات ويقابل مصفوفة مصفوفة مصفوفة المصفوفة من الالكترونات

12- التفاعل Reaction هو فلتر Filter للاكترونات لاستخلاصها من ذرات مختلفة ومدارات مختلفة.

13 - يمكن تمثيل ملفات البيانات التخيلية Virtual Data Files من خلال مدارين فرعيين فى ذرة حيث يقوم مدار فرعى بتخزين تفاصيل تعريف

ملف البيانات التخيلى بينما يستخدم مدار فرعى اخر لتخزين سجلات ملف البيانات التخيلى

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

15- المقاومة Resistance تمثل بديل للدالة Function

16 - الفرع Branch هو عبارة عن مجموعة من المقاومات مجتمعة معا تحت مظلة واحدة اى يمكن اعتباره مصفوفة المقاومات

17- الدائرة Circuit هى عبارة عن مجموعة من الفروع مجتمعة معا تحت مظلة واحدة اى يمكن اعتبارها مصفوفة الفروع

18- هناك طريقتين لبداية العمل فى الخادم

19- احد طرق بداية العمل هى طريقة تقليدية حيث يتم استدعاء مقاومة Call Main Resistance تكون هى نقطة البداية

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

الفرع فى الوضع On

21- يمكن استخدام المقاومة لتعريف احداث جديدة New Events بسهولة جدا حيث يكفى فقط ان تكون بداية المقاومة هى اختبار لشرط Condition اذا تحقق يتم اشعال الحدث تلقائيا وتنفيذ التعليمات الموجودة فى المقاومة

22- يتاح لدنا الدمج بين وحدة البيانات Data Unit ووحدة الكود Code Unit لتمثيل جميع مفاهيم برمجة الكائنات Object Oriented Programming والاستفادة منها

23- يتم تمثيل الفصيلة او الطبقة Class من خلال تجميع بياناتها من مدار فرعها SubShell وتكون Methods عبارة عن فرع Branch فى دائرة

24- يتاح استخدام الوراثة Inheritance و التكوين Composition وجميع مزايا برمجة الكائنات التى نطلق عليها هنا Embedded OOP

25- تتميز Embedded OOP عن برمجة الكائنات العادية بان الطبقات Classes تعامل معاملة الكائنات Objects ويمكن توليدها فى وقت التشغيل Runtime ممايسمح يتغيرها وتغير صفاتها اثناء وقت العمل وتظهر ميزة ذلك فى نظم الشبكات.

26- وحدة النقض والتراسل Veto Unit هى المسئولة عن تجريد عملية الاتصال بين الخوادم وبعضها البعض

27- يتم تخزين البيانات التى تنتج عن عملية التراسل فيما يعرف بالقنوات Channels

28- القنوات Channel ترتبط بوحدة البيانات حيث ان البيانات ماهى الا الكترونات يتم تخزينها فى مدار فرعى

29- يتم تعريف الرسائل التى تطلب بين الخوادم من خلال Veto

30- ال Veto يشير بدوره الى مقاومة يتم استدعائها تلقائيا عند وصول اى رسالة وهذا هو الرابط بين Veto Unit و Code Unit

اى ان نمط البرمجة الخادم الممتاز

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

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

التصميم Design والتطبيق Implementation كما يتسح صيانة البرامج بسهولة

يمكنك ان تطلق على الخادم الممتاز اسم Units Oriented Programming حيث يتم التحكم بالوحدات لتمثيل البرمجيات

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

ايضا يدعم النمط البرمجة بدون كود بصورة مباشرة

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

الوصول لادق التفاصيل دون وجود صعوبات او غموض.

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

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

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

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

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

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

وايضا يوجد مزايا عديدة مثل ميزة Client-Server Data Structure حيث يتم التعامل مع الالكترونات باسلوب الزبون الخادم

مما يفيد فى تجريد تطبيقات الشبكات وخاصة Grid Computing

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

اى ان

وحدة البيانات -------------- مهمة جدا لنظم التى ترتكز على البيانات مثل تطبيقات قواعد البيانات

وحدة الكود ---------------- مهمة جدا للنظم التى ترتكز على الاحداث مثل الالعاب

وحدة التراسل-------------- مهمة جدا لبرامج الشبكات

غير ان هذه المفاهيم تخدم الاغراض العامة.

والله الموفق

#7

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

بخصوص الدراسة الاكاديمية (السنة الاخيرة هذا العام) الله يوفقك ويسهل أمرك ..

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

ولكني مع ذلك لم أتخيل بأن هناك من بهذا السن عنده هذه الطموح النبيله لتسخيرها للخير والفائدة ، الله يحفظك لوالديك ويجعلك ذخراً لهما

تمنياتي لك بالتوفيق..

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

بخصوص الدراسة الاكاديمية (السنة الاخيرة هذا العام) الله يوفقك ويسهل أمرك ..

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

ولكني مع ذلك لم أتخيل بأن هناك من بهذا السن عنده هذه الطموح النبيله لتسخيرها للخير والفائدة ، الله يحفظك لوالديك ويجعلك ذخراً لهما

تمنياتي لك بالتوفيق..

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

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

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

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

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

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

الخوض فى الواقع العملى والانضمام لسوق العمل ان شاء الله.

والله الموفق

تم تعديل هذه المشاركة بواسطة محمود سمير في 29 فبراير 2008 في 23:35

#9

اخبار مبشرة جدا بالخبر

وهذا يدل على انه المشروع يخطو فى طريقه والحمد لله

بالتوفيق يا غالى

ولكن احب انبهك لشئ ، اترك حاليا مشروع الاسمبلى

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

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

هذا من وجهة نظرى اخوى محمود :)

#10

جميل اخي محمود , رغم اسهابك كثيراً :blink: , انا كنت قد طلبت توضيح مختصر .

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

لنفرض اني اريد ان اعمل تطبيق ويندوز بسيط فيه : نافذة ,10 مربعات نص (مصفوفة) , و Label , وزر , واريد من التطبيق ان يقبل الادخالات في مربعات النص , ويقوم بطباعة اكبر عدد في مربعات النصا في الـ Label وذلك عند الضغط على الزر .

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

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

هل مافهمته وماذكرته سابقاً صحيح ؟ وكيف يمكن ادخال مفاهيم الـ Veto و Channels و Branch و Circuit في المثال السابق او حتى لتوسيع وظائفة ؟؟ ..

تم تعديل هذه المشاركة بواسطة محمد معاشر في 1 مارس 2008 في 15:20

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

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

gazabigBanner.jpg

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

#11
اقتباس
ولكن احب انبهك لشئ ، اترك حاليا مشروع الاسمبلى

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

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

ربنا ييسر الخير ان شاء الله

اقتباس
لنفرض اني اريد ان اعمل تطبيق ويندوز بسيط فيه : نافذة ,10 مربعات نص (مصفوفة) , و Label , وزر , واريد من التطبيق ان يقبل الادخالات في مربعات النص , ويقوم بطباعة اكبر عدد في مربعات النصا في الـ Label وذلك عند الضغط على الزر .

مثال بسيط وجميل

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

كل فهمك سليم تماما ماعدا شىء واحد فقط

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

بل نتعامل مع المدار الفرعى مباشرة كمصفوفة

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

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

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

ولكن للاستدعاء لست بحاجة لفتح قناة او اى شىء

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

صحيح يمكنك التحكم بمفاتيح الفروع للتحكم فى التشغيل

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

انما تستدعى المقاومة مباشرة من خلال عنوانها CALL Resistance Circuits\Main\Main\Order

حيث Main اسم الدائرة وكذلك اسم الفرع

بينما Order اسم المقاومة

ونحن لسنا بحاجة للامر CALL Resistance حيث ان الازرار عند ادراجها فى مصمم الاهداف

توفر لنا الاحداث

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

اقتباس
هل مافهمته وماذكرته سابقاً صحيح ؟ وكيف يمكن ادخال مفاهيم الـ Veto و Channels و Branch و Circuit في المثال السابق او حتى لتوسيع وظائفة ؟؟ ..

هذه النقطة السابقة لاوانها واقصد بذلك Veto و Channels لانه فى حالة استخدامها

سيعمل برنامجنا البسيط كـ Server بالمعنى المقصود فى الشبكات Networks

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

وهذا باذن الله نراه فى الدروس.

والان اذا كنت تريد ان اطبق هذا المثال البسيط

وارفعه للفائدة فلا مانع.

والله الموفق

تم تعديل هذه المشاركة بواسطة محمود سمير في 1 مارس 2008 في 22:08

#12

شكراً على التوضيح ..

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

انما تستدعى المقاومة مباشرة من خلال عنوانها CALL Resistance Circuits\Main\Main\Order

انا اريد منطق العمل وليس التطبيق العملي ,,

الذي استنتجه الان اخي الكريم , هو انك قمت عملياً بعمل نمط برمجي (Design Patterns ) متعدد الطبقات ( Multitier ) على غرار اطار MVC مثلاً.

بمعنى اخر , مشروعك يقوم فعلياً بإعادة ترتيب وتشكيل الروتينات المنخفضة المستوى الى روتينات عالية المستوى وفق نمط منطقي استخدمته (المقاومات , الالكترونات .. الخ) ولكن من خلال استخدام الواجهات (GUI) .

ولكن مازالت الحاجه موجودة الى كتابة الكود قائمة , وكما ذكرت سابقاً فإن من الاجدر تسمية المشروع : "البرمجه من غير تكويد " ,,,

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

موفق بإذن الله ..

لا إله الإ الله وحده لا شريك له الملك وله الحمد يحي ويميت وهو على كل شئ قدير

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

gazabigBanner.jpg

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

#13

اخى الكريم : محمد

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

بداية معذرة للتاخير فى الرد

اقتباس
الذي استنتجه الان اخي الكريم , هو انك قمت عملياً بعمل نمط برمجي (Design Patterns ) متعدد الطبقات ( Multitier ) على غرار اطار MVC مثلاً.

بمعنى اخر , مشروعك يقوم فعلياً بإعادة ترتيب وتشكيل الروتينات المنخفضة المستوى الى روتينات عالية المستوى وفق نمط منطقي استخدمته (المقاومات , الالكترونات .. الخ) ولكن من خلال استخدام الواجهات (GUI) .

ان المشروع يقدم نمط برمجة بمعنى Programming Paradigm اى نموذج للبرمجة وليس Design Patterns

1 - Programming Paradigm

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

2 - Programming Style

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

مثل C Programming Style و VB Programming Style وهكذا

3 - Design Patterns

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

اقتباس
ولكن مازالت الحاجه موجودة الى كتابة الكود قائمة , وكما ذكرت سابقاً فإن من الاجدر تسمية المشروع : "البرمجه من غير تكويد " ,,,

هناك حد فاصل بين البرمجة بدون كود - وبين كتابة الكود

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

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

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

موفق بإذن الله ..

اشكرك اخى الكريم على هذا الارشاد

ووفقنا الله جميع لما فيه الخير

واعتذر مرة اخرى عن التاخر فى الرد

مع تحياتى

محمود فايد

#14

بسم الله

انا شاهدت ملف عرض مرئي Video حول الموضوع و ....

ما فهمته الى الأن انك تقوم بتبسيط البرمجة للمبتدأين. يعني بدلآ من حفظ صيغ التعليمات تقوم بتوفير واجهة رسومية GUI لادخال التعليمات ؟؟؟؟؟

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

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

وكانت اجابتي بلا. صحيح انه حصل تطور كبير في تسهيل بيئة التطوير ولكن.... البرمجة لا تزال هي تقريبا منذ الفورتران بل ان تحديات البرمجة اصبحت اكبر بكثير مما كانت عليه في السابق. خذ مثال برنامج لجمع رقمين في الفورتران4 وفي لغة #C ماذا نلاحظ !!! البرنامج الأول كتب في حوالي ثمانية اسطر وفي اقل من 5 دقائق والشفرة الناتجة صغيرة جدآ بينما في لغة سي شارب سنجد اننا نحتاج الى ربع ساعة (واجهة ، شفرة، ترجمة) والشفرة الناتجة كبيرة وزمن التنفيذ عالي!!! ونلاحظ التحديات في واجهة جميلة، احتمالات السحب والأسقاط وهل سيعمل في الأنترنت اما مكتبي وهل هناك احتمالية استخدامة كخدمة ثم عمل برنامج للتركيب وخلافه.

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

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

سلام.

#15
اقتباس
ما فهمته الى الأن انك تقوم بتبسيط البرمجة للمبتدأين. يعني بدلآ من حفظ صيغ التعليمات تقوم بتوفير واجهة رسومية GUI لادخال التعليمات ؟؟؟؟؟

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

اشكرك اخى الكريم على ابداء الراى وعلى اطلاعك على المشروع

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

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

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

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

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

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

والله الموفق

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

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

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

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

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