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

لغة منشئ المواقع (أفكار واراء )

بدأه MohamedIBrahim في 21 يناير 2012 · 2 رد · 1,742 مشاهدة · في المقالات العلمية و التقنية
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

لغة منشئ المواقع – الاصدار 0.3

تحديث جديد للغة منشئ المواقع (SMPL)

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

افكار واراء :

لغة منشئ المواقع هي لغة رفيعة المستوي تنتمي لHigh-Programming Lnguages مختصة بتطوير الويب تعتمد فى بناءها على مبدأ Based On وهي Based On PHP اي انها مكتوبة بلغة PHP وتستخدم PHP كناتج ثانوي ليتم تحويله فيما بعد ال Byte-Code ثم تنفيذه للحصول على كود HTML عادةً ثم إعادة هذا الكود للخادم على أنه محتوى الصفحة, ثم يرسل الخادم كود HTML إلى المتصفح..

هذه هي النقطة الخاصة بديناميكية Generator الخاص بلغة SMPL

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

PHP تقوم بانتاج Byte-Code عن طريق مفسرها وذلك عن طريق طلب من الخادم ويقوم الخادم بتمرير الطلب عبر برنامج PHP المستخدمة وبعدها يقوم بانتاجByte-Code ثم ينفذ للحصول على كود HTML غالبا ثم إعادة الكود للخادم على أنه محتوى ما بالطلب ، ثم يرسل الخادم كود HTML إلى المتصفح.

فى اثناء الحوارات التي كانت حول اللغة رأيت تعليقا اردت وضعه هنا والرد عليه لانه مهم جدا من رأيي

كان نصه كالتالي “في الحقيقة عندما سمعت بالخبر سررت جداً، لأني -وبكل خيبة أمل- ظننت أن مفسّر لغة SMPL يتعامل مع لغة C مباشرة، لكني صدمت بالواقع المؤلم.”

لدي سؤال بسيط ما الفرق بين PHP ولا C هل لو كان التحويل يتم مباشرة الي C أولم تكن منشئ المواقع هي ايضا preprocessor للغة C

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

ملاحظة : نصوص هي التعريب الصحيح لScripts

لغة SMPL ولغة PHP لكلا منهما Lexer و Parser و Code Generator. حيث انه يوجد هناك قواعد نحوية وبرمجية لكلا منهما لذا فانه ديناميكيا ونظريا فان كلاهما لغة برمجة للحاسب بالطبع وطالما الاثنان هما لغات Turing Complete فان هذا هو الشرط الاساسي يمكن تلخيص الامر الخاص بTuring Completeness فى النقاط التالية فلكي تكون اللغة Turing Complete يجب ان تحتوي علي (الاخ محيي الدين افادني من زمان عن هذه النقطة مشكورا )

  • الهياكل البيانية: الأرقام والنصوص والبايناري … إلخ.
  • الجمل الشرطية: أي جمل if ومثيلاتها.
  • جمل تحديد المسار: مثل الـloops وما شابه.

كتب الاخ عمر خطاب عن الامر الخاص بTuring Complete ولخصها بعد حوار دار بيننا وبين العديد من الاخوة يمكنك الاطلاع عليه

لغة منشئ المواقع.. لغة حقيقية أم ماذا؟

لذا لن اطيل فى تلك النقطة

ملاحظة : هناك لغات ليست Turing Complete مثل Befunge اطلع عليها

نقطة أخري :

لكي تستطيع الحكم على تصميم لغة برمجة عليك مراعاة التالي

  • 1- ان تكون ملما بنظرية التشغيل الذاتية
  • 2- ان تكون ملما بخوارزميات تصميم وعمل عمل لغات وادوات لغات البرمجة وتصميمها
  • 3- ان تكون ملما بقواعد ومبادئ بناء المترجمات وما يتعلق بها من ملحقات
  • 4- ان يكون لديك خبرة عامة حول العديد من انواع لغات البرمجة
  • هذه الامور باختصار يجب توافرها حتي على الغير باحث او الغير عامل فى هذا المجال وهذا طبعا اعتقد عدم توافره فى دراستنا الاكاديمية ورغم ذلك فان هذا الامر يجب الالمام باساسياته على الاقل لكل مبرمج يسعي نحو الاتقان وتحسين مستواه العلمي ونحو فهم افضل لما يذكره عندما يتناقش او حين يعمل يفهم اكثر حول مجال عمله

خصائص وعمل المفسر حتي نعرف اكثر عن المفسرات التي تستخدم فى هذا الحقل (المجال)

ما هى خصائص وعمل المفسر ؟

1- يقوم بتفسير وتنفيذ الكود المصدري مباشرة

2- يقوم بترجمة الكود المصدري الى intermediate representation عديدة ومن ثم يقوم بتنفيذ أى منها

3- احيانا يقوم بتخزين الاكواد المترجمة باستخدام مترجم ما وبعدها بيقوم بتنفيذها ووقتها يكون المترجم (Compiler) جزء من interpreter system واكبر مثال على ذلك (OS) و (JAVA)

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

اقتبس بعض الكلمات التي كتبتها سابقا

اقتباس
الفائدة كبيرة جدا من تعلم لغات جديدة دعك من لغة SMPL لكن تعلم لغات برمجة جديدة خصوصا التي تدعم افكار جديدة او انماط برمجة جديدة مهمة جدا جدا فمثلا انا اري ورسمت لنفسي طريقا بتعلم انماط برمجة متعددة مثل Agent Programming و OOP و Functional و Proceduralو Flow-based , Logic و Generic و Imperative و Metaprogramming و Semantic و Class-based ……الخ على الاقل لتنمية العقل البرمجي وفهم افضل للبرمجة

حسنا والان كيف يمكننا استخدام SMPL ؟

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

  • يمكن استخدامها فى امور عديدة مع ملاحظة ان المشروع لم يتحول بعد الي اصدار نهائي (Full Technology) وما زال يحتفظ بصفة الResearch
  • بناء التطبيقات بشكل اسهل وان كان الامر نسبي حتي الان بسبب عدم توافر مجتمع مستخدم للغة يدعمها بشكل قوي
  • مشروعا مستمرا قد يتم تطويره وتحسين مفهوم برمجة المواقع مستقبلا (لم لا ننظر الي ناحية اكثر ايجابية نعم يمكن لهذا المشروع بطموحاته ان يصل لمرحلة عالية من التأثير علي مفهوم البرمجة نفسه)
  • هناك العديد من الاسباب لكن البساطة والسهولة على الاقل من وجهة نظري هما الدافع الاساسي بالطبع سيأتي احدهم ويقول لما سيتعلم اللغة واحد خبير ويهتم به سأقول له بان من تتكلم عليه ليس خبيرا فالخبير والمبرمج المحترف ليس فقط من يقوم بكتابة مواقع او تطبيقات حتي بشكل جيد او ممتاز لكنه ملما وخبيرا بثقافة عامة حول علوم الحاسب والبرمجة ولغاتها ….. الخ وبالتأكيد سيسعي لتطوير مهاراته واكتساب الجديد منها ومتابعة كل تطور وكل فكرة لعلها تكون سببا فى انفراجة كبيرة فى عمله مثلا
  • المبرمج الخبير والمحترف يجب ان يساهم فى مشاريع مثل هذه وان لم تكن منشئ المواقع لان الامر ليس تحدي بين العروبة والافرنجة
  • بالنسبة للمبتدئين تعد خيارا جيدا كلغة للبداية فى تعلم برمجة الويب وتجربة انشاء تطبيقات بشكل أيسر والتعلم الافضل لبعض المبادئ فى كيفية كتابة التعليمات البرمجية

والي هنا ينتهي افكار واراء حول لغة منشئ المواقع (SMPL)

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

والله ولي التوفيق

GoodBye

#2

السلام عليكم.

شكرًا يا محمد على الموضوع و على الدعم الكبير كما عهدته منك، و بارك الله فيك.

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

شكرًا مرة أخرى.

#3

وعليكم السلام

ان شاء الله وننتظر الجديد يا عمر بخصوص التطوير

GoodBye

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