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

ملاحظات حول تصميم وبناء لغات البرمجة على ارض الواقع

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

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

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

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

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

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

ولكن !!!

تبدا المقارنة بين التطبيق الاول والثانى

وكلما استخدم المزيد من التطبيقات .... كلما ظهرت مقارنات اكثر واكثر

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

1 - طريقة استخدامه للتطبيق ( الاسلوب)

2 - مايتوقعه من التطبيق (المزايا)

3 - مايزعجه من التطبيق (العيوب)

ولكن مهما كان المستخدم جيدا فهو يظل

1 - واحد من المستخدمين (هناك غيره)

2 - المزايا التى يتوقعها ليست كل شىء (قد يكون هناك مزايا اهم)

3 - العيوب التى تضايقه ليست هى اخطر شىء (هناك عيوب اخطر منها )

كلما ازداد عدد المستخدمين الذين يستهدفهم التطبيق

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

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

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

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

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

وانما (لغة برمجة) و (بيئة تطوير)

هنا يزداد التحدى ويصل الى درجة عالية جدا من التعقيد

مطلوب منك حين تاتى لتصميم لغة برمجة + بيئة تطوير ان تفكر جيدا قبل ان تاخذ اى قرار

ملاحظة علامة (+) هنا المستخدمة للدمج بين لغة البرمجة وبيئة التطوير

لا اقصد بها (+) كـ ( واو ) فى اللغة العربية بمعنى الاثنين معا

وانما اقصد (+) كـ ( OR ) فى الدوائر المنطقية بمعنى هذا او ذاك او الاثنين معا حتى يكون الناتج True

المهم ضع هذه النقطة الان جانبا لننتقل الى نقطة اخرى لكن يبقى فى الذاكرة ان

التحدى الاول : نوعية المستخدم الذى نخاطبه

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

كما انه من خلال دراستنا لبعض لغات البرمجة الشهيرة مثل Java و C و ++C و VBو Python و Ruby و php و #C على سبيل المثال لا الحصر

نكتشف شىء خطير

1 - هذه اللغات ليست صغيرة فى السن ... وانما اخذت وقت طويل حتى تصبح مشهورة

2 - لغة Java ظهرت عام 1995 بينما البايثون ظهرت عام 1991 ولكن الغالبية منا استعملت جافا اولا

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

4 - هناك من يعشق ال Java كلغة برمجة لكن يكون مطرا لاستخدام ال ++C ليجد الاداء Performance الضرورى فى بعض الحالات مثل 3D Games

5 - هناك من يستعمل ال ++C لعمل تطبيقات فى شهور بينما ينجزها مطور ال VB فى وقت قصير ويحصل على نتيجة ترضى المستخدم ايضا

6 - هناك من يستعمل Python ويفضلها عن VB لان البايثون Free-Open Source وكذلك Multiplatform و ذات سهولة وانتاجية عالية ايضا

7 - هناك من لا يزال يستعمل VB لانه تعلمها وتؤدى الغرض بالنسبة له وهناك الكثير من المصادر المتوفرة لها

ملاحظة : اقصد ب VB هنا ال Visual Basic 6

8 - هناك الكثير من لغات البرمجة التى لم تحقق الانتشار رغم انها ذات انتاجية وملامح قوية

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

1 - لغات البرمجة تحتاج الى وقت حتى تنتشر ... ويقل هذا الوقت كلما كان خلف اللغة شركة رائدة (راجع ملاحظة 1 و 2 )

2 - نمط البرمجة رغم اهميته الا انه بمثابة الموضة التى تحتاج وقت حتى تتغير وهو عامل مهم لنجاح اللغة ولكن ليس كافيا (راجع نقطة 3 و 4)

3 - متطلبات التطبيق وخصوصا الاداء Performance قد تكون مانع من استخدام اللغة فى الكثير من التطبيقات (راجع نقطة 4 )

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

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

5 - من اهم نقاط انتشار واستعمال اللغة توفر المصادر المناسبة لتعلمها وسهولة هذه المصادر لاستقطاب المطورين الجدد (راجع نقطة 7 و 8 )

الان اعتقد ان اتضع لنا التحدى الثانى

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

طبعا هناك الكثير من التحديات الاخرى ... مثل

1 - الدعم المالى .... هل هناك شركة تدعم اللغة .... ام مطورين متبرعين بوقتهم !!!

2 - التسويق الالكترونى ... هل هناك فريق يسوق اللغة بشكل يومى عبر الانترنت

3 - الدعم الفنى .... هل هناك من يقدم حل سريع لمن يتعرض لمشكلة اثناء الاستخدام

والقائمة الطويلة

لكن مثل هذه التحديات يمكن ان تلخصها مها فى (بيئة النجاح)

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

الوقت - المال - التسويق - الدعم

لذلك نلخص هذه النقاط فى

التحديث الثالث : توفير بيئة مثالثية لتحقيق الهدف (بناء اللغة) ثم الحافظ عليه (تطويرها وتسويقها)

والان

تحديات ثم تحديات ثم ماذا ؟؟

علينا ان نفهم التحديات علينا ان نستعد لها

ويكون الاستعداد كالتالى

1 - تنمية المواهب

2 - العلم والدراسة

3 - التطبيق والخبرة

4 - روح فريق العمل (لا يهم ان تكون قائد فذلك تكليف ومسئولية كبيرة ... المهم ان تكون فعال ومفيد للفريق )

5 - التضحية ( هناك من يجب ان يضحى بوقته .... هناك من يجب ان يدعم بالمال ايضا )

6 - المكافاة المنتظرة ( اجعل هدفك رضا الله اولا لتستعيد الامة امجادها .... ايضا عليك ان تثبت ذاتك وتطور نفسك ومؤكد ستستفيد )

والملاحظة الاخيرة

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

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

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

لان التاخر والتقدم ليس مسئولية شخص واحد .... بس مسئوليتنا جميعا

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

فإن اصبت بالحمد لله رب العالمين اولا واخيرا

وإن اخطأت فى شىء فارجو المعذرة والتصحيح لتعم الفائدة على الجميع

والله الموفق

3
#2

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

لكن انت حتى الان لم تشرح خطوات السعى وراء انشاء لغة برمجة :)

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

وان نركز على الاهداف الاقل ضخامة

اعتقد ان هذا هو الهدف الاساسى من موضوعك

ومرة اخرى تسلم

وتحياتى لك

GoodBye

#3

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

لقد قرأت الكثير من كتبك بصيغة PDF وتمنيت وقتها لو أسجـل إعجابي بما تكتب

والآن أتيحت لي الفرصة

بعض الناس يتكاسلون عن إيصال المعلومة لغيرهم للإستفادة منها ومنهم من يكون أنانيـا

أما أنت كثـر الله من أمثالك فدائما ماتشاركنا بأفكارك النيرة لنستفيد منها

كثر الله من أمـثالك يا أستاذي الفــــــاضل

أما بخصوص الموضوع فهو جميل وممتع ومفيد كعادة كتاباتك لكني أعتقد أني لازلت بعيد جدا

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

لكني سأحفظ هذا المقال لأستفيد منه عندما أصل إلى تلك المرحلة

شكرا لك

البرمجة هي مفتـاح الحيـاة العصرية

#4
مبرمج موريتانيا كتب:

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

لقد قرأت الكثير من كتبك بصيغة PDF وتمنيت وقتها لو أسجـل إعجابي بما تكتب

والآن أتيحت لي الفرصة

بعض الناس يتكاسلون عن إيصال المعلومة لغيرهم للإستفادة منها ومنهم من يكون أنانيـا

أما أنت كثـر الله من أمثالك فدائما ماتشاركنا بأفكارك النيرة لنستفيد منها

كثر الله من أمـثالك يا أستاذي الفــــــاضل

أما بخصوص الموضوع فهو جميل وممتع ومفيد كعادة كتاباتك لكني أعتقد أني لازلت بعيد جدا

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

لكني سأحفظ هذا المقال لأستفيد منه عندما أصل إلى تلك المرحلة

شكرا لك

ارجو ان يسمح لى اخى الاكبر محمود بالرد بدل عنه كما اعتدت دائما عندما لا يكون متواجد :)

لكن لدى تعليق على كلامك

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

مبرمج موريتانيا كتب:

أما بخصوص الموضوع فهو جميل وممتع ومفيد كعادة كتاباتك لكني أعتقد أني لازلت بعيد جدا

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

نعم فهذا واضح وقد ذكره اثناء المقال نفسه

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

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

وتحياتى لك

1

GoodBye

#5

MohamedIBrahim

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

شكرا لك على كـل حال ... كان تعـقيبك كرما منك

تقبل تحياتي :wink:

البرمجة هي مفتـاح الحيـاة العصرية

#7

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

كلام جميل وموضح لأمور كثيرة يجهلها أكثر المبتدئين في البرمجة أمثالي ..

بارك الله فيك ووفقك الله لكل خير ..

لا إله إلا الله محمد رسول الله عليه الصلاة والسلام

سبحانك اللهم وبحمدك اشهد ان لا إله إلا انت استغفرك واتوب اليك

سأتقن الـ ++C و
PHP إن شاء الله تعالى ...

جاري العمل على
Microsoft Sql Server و MySQL ...

 

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

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

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

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

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