| |||||||
| المدوّنات | البحث | مشاركات اليوم | اجعل كافة المشاركات مقروءة |
|
| | LinkBack | أدوات الموضوع |
| |||||
| هل php لغة برمجة بالمعنى الحقيقي السلام عليكم ورحمة الله وبركاته وتحية طيبة … في الحقيقة راودني هذا السؤال بعد أن قمت بمراجعة الـ source code الخاص بلغة php والمكتوب على لغة C … فهل php لغة برمجة بالمعنى الحقيقي ..؟ في حقيقة الأمر أن php ليست إلا معالج نص HTML لا أكثر وأكبر دليل على كلامي هو إختصار php وهو php Hypertext Preporcessor وليست لغة برمجة بالمعنى الحقيقي والمقصود من هذا الكلام هو أنها تعطيك خيارات للتعامل مع نص html بشكل لا تتيحه لك html ولتوضيح هذا الكلام بشكل أخر لاحظ مايلي فلو قلت لك اكتب لي نص Abdulah بشكل عريض فستقول لي هل انت (احمق ..!) (لاتغلط) .. طبعاً ستقول سأضعها بين وسمي b …(شاطر) الآن لو قلت لك أكتب Abdulah بشكل عريض مرتين فستقوم بتكرارها مرتين وإذا قلت ثلاثة فستكرر بنفس العدد وهكذا … لكن ماذا لو قلت لك اكتب Abdulah بشكل عريض مليون مرة (عارف الجواب : حتقولي رجاءاً أغلق فمك وفكنا من شرك وانقلع من سوالف) هنا مربط الفرس … فجاءت php لحل مثل هذه المشاكل فوفرت لك for وdo..while و while … وبهذا يمكنني الآن كتابة كلمة Abdulah بشكل عريض مليون مرة بإستخدام for كالتالي كود: for($i = 0; $i < 1000000 ; $i++) وبذلك لم تقم php إلا بعمل تكرار واخراج لا أكثر … وبإمكانك البحث في أغوار php كي تجد أشياء مشابهة لهكذا مفاهيم … مثل if الشرطية كذلك فـ php لاتعمل مقارنة على مستوى لغة الآلة بإستخدام jump وغيرها وبعض شروط الأسمبلي بل هي تستخدم شروط مقارنة على التوافق تعمل من قبل لغة C لا أكثر . أما بالنسبة لقولنا لغة php فهو قول مجازي لا أكثر … وأرجوا أن أكون قد وفقت في إيصال المعلومة تحياتي أخوكم عبدالله عيد
__________________ قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل) | |||||
|
| |||||
|
كلامك صحيح أخي الكريم ! ولكن لاتنسى أنا ال PHP لاتقف هنا عند تكرار أو شي كهذا !! يمكنك عمل الكثير من الأشياء تعجز ال HTML عملها !! ولاتنسا أيضاً أن C لغة للتطبيقات العادية أما PHP لغة التطبيقات الويب ! هذا فرق وأي شيء يمكن أن يكون له أساس يعمل عليه ! يعني كقولك أنها "وغيرها وبعض شروط الأسمبلي بل هي تستخدم شروط مقارنة على التوافق تعمل من قبل لغة C لا أكثر ." اعتقد هي لغة برمجة !! وبإمكانك إصدار لغة برمجة لك ! الشغلة بسيطة تعلم برمجة كومبايلر خاص وابدأ ياعم !! هذه وجهة نظري ! تحياتي فراس | |||||
|
| |||||
|
السلام عليكم.. مثل ما تعرف ان الPHP يندرج تحت الScripting Languages التعريف الموجود في WikiPedia هو [LEFT]Scripting languages (commonly called scripting programming languages or script languages) are computer programming languages created to shorten the traditional edit-compile-link-run process.[/LEFT] اي هي لغه برمجة تساعد في تبسيط او تقصير العمليات الطويله التي تستغرق زمن اطول اذا لم تستخدم تلك البرمجة الPHP قد تمت برمجتها من قبل شخص كان يود في تقصير عملية التصميم او فعل شيء يسهل عملية التغير التي تتم بشكل مستمر .. فكان المقصود من الPHP هو تسهيل عمليه تحرير موقع .. فتخيل موقع اخباري . يتغير محتواه كل 3 ساعات .. فهل سيكون هناك مصممين لكي يعمل ذالك كل 3 ساعات؟ الPHP بكل احترام لغه برمجة .. لانك يجب ان تتعلم هذه اللغه .. و مع الاصدارات الجديده .. تستطيع التعامل مع الSockets و الMemory و ايضا التعامل مع لغات اخرى .. مثل ما اعمله مع شركتي .. نحن نجعل الPHP يتعامل مع لغات كثيره مثل الLISP و لغة ال++C .. كيف .. بطريقه الSockets و طرق الSSH .. و ايضا هناك طرق اخرى مثل .. تبادل الObjects مع الJava و الErlang .. نحن نعرف ان الPHP لا يستطيع ان يتعامل مع اكثر من 100 استعلام في نفس الوقت (على حسب قوه السرفر) .. و ايضاً الMySQL لا يستطيه ان يتعامل مع استهلامات بالكميات .. فالحل هو ان ترسل معلومات لبرنامج اخر لكي يفعل ذالك .. فهاذا يعطيك الايحاء ان الPHP له نفس الامكانيات التي توجد في اللغات البرمجه الاخرى.. لا تنسى ان الPHP5 تتيح لك ان تتعامل مع الObject او طريقه برمجه الOOP .. فهذا تعلمه ليس بالسهل .. الا اذا كانت لك سوابق في برمجه ال++C او الJava .. و الPHP6 التي سيطرح عن قريب .. يتعامل في معضم اوقاته مع الObjects سيكون قريبه جدا من الJava ... قد يخطر ببالك ان الPHP لغه تمر بمترجم في كل مره .. ولكن هناك Compilers لكي يعمل Cashe للexectutable كود .. وشكراً على فتح الموضوع هذا ... تنتظر رأيك .. اخوك خالد | |||||
|
| |||||
|
كلامك سليم 100 %، بالرغم من أننا نتداولها على أنها لغة، إلا أنها في الواقع هي صممت لمعالجة نصوص مكتوبة في ملفات نصيّة ومغطات بأوسمة خاصة.. وبالنسبة لصياغة PHP فهي مقاربة للغات التالية: C -- بحكم أن PHP مبنية على ال C أصلا .. Java -- برمجة الكائنات في PHP5 أقرب ما تكون إلى أسلوب لغة الجافا Perl -- خصوصا في regular expressions، واللي يقرأ في الperl سيلاحظ تأثيرها على مطوري PHP وPHP لاتعالج إلا ما هو موجود داخل الأوسمة الرئيسية: <?php?> و<??> و <?=?> و <%%>، أما أي نص آخر فستطبعه كما هو. لذلك فإن تسمية PHP بأنها لغة، فهي مجازية. ووللمعلومية أيضًا فإن ASP.NET لا تسمى لغة أيضًا، كون أنها لغويًا تعتمد على لغات أخرى مثل VB.NET أو C# أو J# أو غيرها، لذلك ASP.NET تعتبر (تقنية) أكثر من كونها لغة.
__________________ l a h l o o b @ g m a i l . c o m | |||||
|
| |||||
| تحية طيبة أساتذتي الأعزاء
تحية طيبة للأستاذ feras007 و الأستاذ خالد ولك يا أستاذ لهلوب .. أولاً أنا أحترم رأيكم وأنا ليس لدي مشكلة إن كانت php لغة برمجة بالمعنى الحقيقي أم لا ولكن .. أنا لفت نظري شئ واحد عندما فتحت المترجم الخاص بلغة php والمكتوب على لغة C وعندما راجعت وقرأت الشفرة الخاصة بـ Zend رأيت أشياء عجيبة .. لذلك أنا هنا سأوضح كلامي من حيث ما فوجئت به : أولاً الجميع يعرف أن المترجمات تمر بمرحلتين : الأولى هي Front-End وهذه المرحلة تختص بالأمور التحليلية وليس فيها أي عمليات تنفيذ ويوجد فيها ثلاثة مراحل وهي 1- Tokenizer وهو الذي يقوم بتقسيم الكود البرمجي إلى وحدات صغير مثل الكلمات والفواصل والأرقام ويضع كل واحدة منها في وحدة معينة . 2- Parser وهو الذي يأخذ الوحدات من الـ Tokenizer ويقوم بإنشاء شجرة ويتأكد من صيغة الكتابة الخاصة باللغة أهي صحيحة أم لا . 3- Semantic وهو المسؤل عن معرفة المعنى الخاص بالكود الذي كتبة المستخدم أي ما معنى هذا الكود الذي كتبه المستخدم . ثانياً الجزء الثاني من المترجم هو Back-End وهذه المرحلة هي أصعب جزئية في علم المترجمات حيث تحتوي هذه المرحلة على جزئين كالتالي 1- Code Optimizer وهذا يختص بتوليد وتصغير الشفرة المولدة من قبل مرحلة الـ Semantic 2- Target Code Optimizer وفي هذه المرحلة يتم توليد شفرة الأسمبلي الخاصة ويتم إستدعاء برنامج الأسمبلر هنا لتوليد الملف التنفيذي . إذاً أصبح أي مترجم لأي لغة برمجة كالتالي : Tokenizer | 7 Parser | 7 Semantic | 7 Code Optimizer | 7 Target Code Optimizer طيب يا عبدالله عيد ماهذه الزحمة ؟ كل الحكاية من هذه الزحمة أنه طالما أنك ذكرت كلمة Script language بالذات مع php فهي تطبق مرحلة Front-End فقط ثم تعطي المخرجات لأنه في المرحلة الأولى وبعد مرحلة الـ Semantic يتم توليد لغة HTML وليس Intermediate Language وبعدها سيستقبل المستعرض المخرجات . أي بكلام أخر فإن php لاتحتاج إلى توليد لغة ألة ولا إلى توليد لغة وسيطة مثل اللغات الأخرى لأنها في الأساس لاتحتاج إلى مرحلة الـ Back-End . وخير دليل على كلامي هو إختصار PHP وهو PHP Hypertext Preprocessor وهي تعني بالعربي وبشكل دقيق (المعالجة قبل النص التشعبي) وهنا أنا لا أقول أن لغة php ليست لغة بل هي لغة محترمة ولكن ليس بالمعنى الحقيقي من الداخل فهي جاءت كما ذكرت سابقاً لتسهيل بعض الأمور لا أكثر ومنها ماتم ذكره في الأعلى . وللبقية حوار تحياتي أخوكم عبدالله عيد
__________________ قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل) | |||||
|
| |||||
|
هي ليست لغة برمجة حقيقية (نعم) .. لكن هي تصنف تحت لغات تطوير الويب .. سواء كانت تعتمد على لغة أخرى أولا .. فإنها تتميز بتخصصها في تطوير تطبيقات على الويب .. لا تتمكن اللغات العادية من تنفيذها بسهولة هذه اللغة .. فهي تعتبر وسيط اللغات لتطوير الويب .. ولكن نأتي للأمثلة التي طرحتها .. فهي أمثلة لإستخدامات .. قد تتمكن الجافا بحلها بسهولة .. فنتسائل .. هل (الجافا) لغة برمجة حقيقية؟؟ .. بكل تأكيد .. ومع أن الجافا تستخدم لتطوير محتوى الويب ... وتستخدم لتطوير php .. و asp .. إلا أنها ليست لغة وسيطة .. بل لغة مجمعة .. تحياتي لكم ..
__________________ بداية للمشاريع التجارية ASP.NET,ASP 3.0 المدونة الشخصية : asp2asp.com عدنا والعود أحمد... | |||||
|
| |||||
|
بالنسبة لموضوع الـ Object والـ Classes في php فهي تستخدم من الداخل مبدأ الـ HashTable أوكي وهو ما يسمى بجدول البعثرة وهو أحد الـ Data Structure المشهورة وهي أيضاً ليست Object مثل الموجود في C# أو Java بل هي معلومات مخزنة في جداول يتم التعامل معها بمجموعة من الشروط و للتوضيح عن ألية العمل الخاصة بـ object في php فأنا سأريحك وأعطيك إياها بالتفصيل من الداخل .. الآن إفرض أنك أنشأت كلاس بإسم My وفيه دالتين هما myA و myB وفيها متغيرين هما x,y فإنك ستكتب التالي : كود:
class My
{
var $x;
var $y;
function myA() {...}
function myB() {...}
} 1- سيمر مترجم php على هذا الكلاس ويقوم بعمل جدول كالتالي بعد قراءة هذا الكلاس : className : My variables : x,y methodes : myA,myB طبعاً هذا تمثيل بسيط أي بإختصار هو يقوم ببناء جدول لتخزين هذه البيانات أي الكلاس في php يمثل داخلياً بجدول بسيط جداً مثل الذي تستخدمه أنت في mysql .. ولكن المشكلة هي في التعامل مع خوارزميات البحث ... المهم . الآن عندما تكتب أن الكود التالي : كود: $go = new My(); يقوم php بتخزين المتغير go في جدول عام خاص بالكائنات ويكون كالشكل التالي : objectName | className cc | Mydoc go | My وعندها سيصبح المتغير go يشير إلى الكلاس My كما ترى في الأعلى الآن عندما تقوم بعمل الآتي كود: go->myA(); يالحبيب لا تخرف الكائن go مافيه دالة بذا الأسم ونفس الكلام ينطبق على المتغيرات x و y ------------------------------------------------------------ أما بالنسبة للكائنات في C# و Java فكما ذكرنا فهذه اللغات تمر بمرحلة الـ Back-End لذلك الكائنات في تلك اللغات بعيدة كل البعد عن مفهوم الكائنات في php وأرجوا أن أكون وفقت في إيصال المعلومة ولو بشكل سريع ... وللبقية حوار تحياتي أخوكم عبدالله عيد
__________________ قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل) | |||||
|
| |||||
|
في مرحلة الـ Back-End يتم التحويل في بداية هذه المرحلة إلى مايسمى بـ Intermediate Language وهي لغة يقوم المترجم الخاص باللغة بالتحويل إليها وهي لغة يؤلفها المترجم وهي تشبه لغة الأسمبلي ولكنها ليست لغة الأسمبلي ومن أشهر لغات الـ Intermediate code هي three-address-code و P-Code . والسبب في توليد الـ Intermediate Code من قبل لغة البرمجة لكي تكون platform Independent أي تعمل على أي نظام تشغيل فعندما تكون اللغة تعمل على ويندوز وعلى معالج معين مثل Intel فإن المحاكي الخاص باللغة سيقوم بالتحويل للغة الأسمبلي المناسبة للمعالج Intel ونظام التشغيل ويندوز ,,, وسيتم تحويل لغة الـ Intermediate Code إلى أسمبلي أخر في حال كان نظام التشغيل Linux مثلاً وهكذا ... وهذه الخطوة لن تفيد في شئ ضمن php لأنه من مرحلة الـ Semantic في الـ Front-End يتم توليد المطلوب وهو HTML و HTML تعمل على أي نظام تشغيل وأي مستعرض ... فما الذي تستفيد منه php من توليد الـ Intermediate Code ... هل ستحولها إلى HTML ؟ ممكن أن تفعل ذلك ولكن ستكون عملية تأخير لا أكثر .. وللبقية حوار .. تحياتي أخوكم عبدالله عيد
__________________ قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل) | |||||
|
| |||||
|
ماشاء الله عليك اخوي عبدالله عيد اهنيك على هالمعلومات وجزاك الله الف خير الواحد وهو يقرا هالمعلومات يكون عنده ثقة بمصدرها لانها علمية ودقيقة جداً الله يزيدك من علمه ويبارك لك فيه يارب التعمق في ابسط المعلومات يفتح ابواب واسعة جداً ..
__________________ I love Php Email Only Ziyad(AT)alsharan.com ,I don't have Massenger | |||||
|
| |||||
| لا شكر على واجب
بسم الله الرحمن الرحيم أولاً لا شكر على واجب ونفع الله الجميع بإذنه تعالى ... نتابع . الآن لتوضيح فكرة بناء لغة برمجة تشبه php فأنت لن تضطر لشئ كبير وسأعطيك مثال يوضح لك كيف تعمل php من داخل لغة C . وخير مثال للتوضيح هو محركات القوالب ؟ (هي ياذكي لاتتفلسف هذه لغة وهذا محرك قوالب ؟!! طيب لا تدف خليك معي لحظة) شوف الآن سأتكلم قليلاً عن لغة C لكي تتضح الفكرة .. فالبنسبة للغة C فهي تشبه في تركيبها اللغوي أومن حيث الكتابة تشبه php بنسبة 90 % وسأضرب مثالي هنا على أحد الأشياء الموجودة في لغة C وهي جملة for فهي تشبه إلى حدٍ ما for الموجودة في php ... وصيغتها في لغة C كود PHP: هذه حلقة for بسيطة في لغة C لتطبع جملة Hello, Swalif ... طيب مالحكمة من هذا ...؟ بما أن php مكتوبة على C ... فعندما تكتب أنت for على php فإنه في الحقيقة لا يتم توليد لغة ألة ولا لغة أسمبلي كما ذكرنا بل سيتم عمل for من داخل لغة C وهكذا لـ ifو do..while و switch ...كيف ذلك ؟ الآن لاحظ كود php التالي :- كود PHP: من داخل محرك Zend و من داخل لغة C تحديداً هناك نوع إسمه zval في محرك zend هذا النوع مخصص لمتغيرات php وهو يأخذ أي نوع وهذا المتغير variant أي أنه يشكل على نوع البيانات الذي تريده فمرة يكون float ومرة يكون double ومرة يكون object ومرة يكون array مرة string دون أي مشاكل لأنه ببساطة داخل هذا النوع توجد قيمة فإذا كانت 1 مثلاً فهو string و 2 فهو object وهكذا .. واكبر دليل على كلامي هذا وعلى مصداقية هذا النوع عندما تكتب أي متغير في php فإنه بإمكانك أ تضعه integer في السطر الأول وتحول إلى مصفوفة في السطر الثاني المهم .... نتابع المثال ... سيقوم محرك zend بإنشاء متغير بإسم swalif من النوع zval داخل zend ويعينه على أن integer لأنه اخذ القيمة 0 بعد ذلك يشوف كم أقصى عدد للعداد ويرى أنه 100 وبعدها يرى مقدار الزيادة ويجد أنه بـ 1 فقط وبعد ذلك يرى الجمل الموجودة بداخل for ويولد الشفرة الموازية لها بلغة C ثم يستخدم for الموجودة في لغة C ويعطيك المخرجات كالتالي كود PHP: الآن بعد أن رأيت ذلك هنا سأرجع لموضوع محرك القوالب الأن أنت بإمكانك أن تقلب السحر على الساحر وعمل لغة Script بواسطة php وتسميها Swalif Script Language وذلك أن تؤلف الطريقة التي تكتب بها اللغة الخاصة بك وكل ماعليك أنت كمبرمج أن تقوم بتوليد الكود المطابق لها بواسطةphp و للتوضيح فأنا سأصنع لغة بإسم Swalif وسيكون الـ for فيها كالتالي : كود PHP: كود PHP: لذلك قامت المشاكل عندما جاءت فكرة محركات القوالب فقالوا لا نحتاج لها لأن Php نفسها هي محرك قوالب !!!!طيب السؤال هنا إذا كانت php كما تقول يافالح فكيف تتعامل مع أشياء محسوسة مثل قواعد البيانات والـ Socket وغيرها من المكتبات وترينا نتائج مبهرة على ذلك ؟ الجواب : أبسط مما تتصور .. في php ذكرنا في الأعلى أن المتغيرات التي تكتبها تتحول إلى نوع متغير في C بإسم zval إذاً عندما تكتب أنت أي دالة مثل كود PHP: وعندما تكتب أنت ذلك فسيقوم php بمقارنة إسم الدالة المطلوب ويستدعي الدالة المناسبة من خلال لغة C يعني مثل الجدول إذا لقيت هذي أستدعي هذي وإذا لقيت هذي استدعي هذي وهكذا ... وهذا بإختصار معنى كلمة Script عندما تجدها في لغات برمجة السكربتات وهي تعني (نص) وأرجوا أن أكون وفقت في إيصال القليل على الأقل وللبقية حوار .. تحياتي أخوكم عبدالله عيد
__________________ قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل) | |||||
|
| |||||
|
تشكر على الموضوع اخي عبدالله ... في البداية ، بما أنك تطرقت إلى كيفية ترجمة كود الـ PHP .. وأنك اذا دققت في كيفية عملها ستجدها تترجم إلى لغة C ... بما أنها ترجمت إلى لغة C أليس هذا يعني أنها لغة برمجة ... !؟ ربما كانت تعتمد على أسماء مستعارة Aliases أو أي طريقة أخرى لكنها لا تزال تدعى باسم لغة .. فلو كانت هذه العمليات هي عمليات تسهيلية .. لكن ، هل يعقل أن أقول لك قم ببناء هذا الموقع بلغة C ؟؟! هل يمكنك أن تنكر أن بعض دوال PHP عبارة عن أسماء مستعارة لبعضها البعض ؟ وهل هذا ينفي أن الدوال ذات الأسماء المستعارة عبارة عن دوال ... ؟؟!!! منطقية بحثك جميلة .. لكن ، لا يمكن بناء معلومة خاطئة على بنية سليمة .. حاول أن تفكر .. وتتابع النقاش .. ننتظر بقية كلامك ... تحياتي، sBForum
__________________ أحمد أبو النصر Junior php Developer +20166196074 | |||||
|
| |||||
| تحية طيبة للجميع ...
عزيزي الغالي ,,, تحية طيبة . بالنسبة للتحويل إلى لغة C فهو لايتم كما تظن أنت أي أنه تحويل مباشر بالضبط ولكن أنا شرحت لكي أوضح فقط ... لكن بالنسبة للتحويل فهو يتم داخل بنى هيكلية عبارة عن HashTable,Linked List, Trees,Stacks,Queues وغيرها فهي بإختصار شديد جداااااااااااااااااااااااااااً : معالجة نص لإستخراج نص php فعلياً لا يتم تحويلها إلى لغة C بمعنى الكلمة وإنما يتم عمل محاكاة للكود وذلك بتنفيذ الـ for للـ for بمعنى معالجة أما بالنسبة لبناء موقع بلغة C ؟ فلقد بنيت موقع بالكامل على لغة C وجربته وعمل معي لكن المشكلة ليست هنا فأنت ترى مواقع بالملايين تعمل على لغة C ولكنها تحمل الإمتداد example.cgi .. أمابالنسبة لكونها لغة فأنا كما ذكرت ليس لدي مشكلة إن كانت php هي لغة أم لا ولكن أنا فتحت الموضوع للنقاش حول السؤال الذي راودني ... لكن لغات السكربت جاءت للتسهيل كما ذكرتم سابقاً فبناء موقع على سي ليس سهل جداً جداً ولكن القصد من موضوعي هذا نقطتين : 1- أن لغات السكربت كما ذكرنا لاتتعدى مرحلة الـ Front-End وهذا يسهل علينا أن نستطيع أن نكتب لغة برمجة من الصفر إذا كانت php لغة برمجة . 2- أن لغات البرمجة القوية مثل Java,C#,C++ وغيرها اليوم تبنى بتقنية الـ BootStrapping وهي إعتماد لغة على لغة بدلاً أن يتم كتابة مرحلة الـ Back-End من البداية وبكذا نستطيع أن نكتب لغة برمجة من الصفر وهذا يساعدنا في عدم الخوف من كتابة التقنيات الكبيرة مثل لغات البرمجة و أنوية نظم التشغيل والبروتوكولات وهكذا ... لذلك أنا لدي سؤال هنا أطرحه لجميع من في هذا الموضوع أي من قرأه أو من سيقرأه .. هل إذا أحد المبرمجين العرب أظهر لغة برمجة فهل سيعترف بها العرب ؟ هذا السؤال يحير الجميع ولكن نريد أن نعرف أراء الجميع . أستاذ sBForum ترى لا أخفيك أني لم أفهم جملة (لا يمكن بناء معلومة خاطئة على بنية سليمة) ياليت توضحلي أكثر عشان أعرف أجاوب في النقطة المطلوبة فنحن هنا في مكان علم وأنا أتقبل أي شئ و أعجبتني مشاركتك ... شكراً لك وللبقية حوار ... تحياتي أخوكم عبدالله عيد
__________________ قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل) | |||||
|
| |||||
|
عزيزي عبدالله عيد .. أشكرك على ردك السريع والوافي .... ما قصدته بتلك العبارة .. أن نقاشك سليم وطرحك مجمله فيه الفائدة وكله صحيح ... لكن ، ما شعرت بأنك لم تصب به هو نفيك لطبيعة PHP بأنها لغة برمجة حقيقية ....... بارك الله فيك .. ![]() بالنسبة لسؤالك : هل إذا أحد المبرمجين العرب أظهر لغة برمجة فهل سيعترف بها العرب ؟ فأنا شخصياً أعتقد أنهم سيعترفون بها ويجعلونها مصدر فخر لهم .. لكن ، ليس هناك مصادر الدعم الكافية لدى العرب ... كما أني لا أعتقد أنه لو بنيت تلك اللغة ستكون بمدى قوة أو جودة اللغات الأخرى .. إلا ...! إلا إذا كانت ناتجة عن دراسات مطولة تدوم لعدة سنوات ربما أو ما إلى ذلك ... أتمنى لك التوفيق في عملك وبحثك .. وجزاك الله خيراً اخي الحبيب .... تحياتي، sBForum
__________________ أحمد أبو النصر Junior php Developer +20166196074 | |||||
|
| |||||
|
نقاش حلو وموضوع جميل جداً لكن اختلف معاك اخي عبدالله في وجهة النظر PHP هي لغة برمجة حقيقية .. وعشان اكون واضح .. PHP لغة برمجة مواقع حقيقية اذا كنت تبغى تعمل موقع سواءاً ثابت او تفاعلي .. لا محالة من استخدام الـHTML لأن المتصفح لا يفهم غيرها (مع استثناء الفلاش والتقنيات المساعدة كالجافا اسكربت والـCSS وغيرها) كذلك الحال مع لغات برمجة التطبيقات او الـDesktop .. فهي مهما رحت ومهما جيت في النهاية الأمر لا يتعدى شفرة أسمبلي فالمقارنة بينهم ظلم وبهتان ![]() لأن اقصى امكانيات المتصفح عرض النصوص والصور مع بعض حركات الجافا اسكربت وتنسيق الـCSS اما اقصى امكانيات الكمبيوتر فهي لا نهاية لها من قوة الجرافكس وبرمجة الالعاب الى ما شاء الله هذا مو تقليل من لغات برمجة المواقع لكن هذه امكانياتها من وجهة نظري .. لاني شايفك ركزت على نقطة مخرجات لغات البرمجة, فاذا تتكلم على المخرجات هذه هي الامكانيات لكن اذا كنت تتكلم على قوة التفاعل مع المستخدم, فبرمجة المواقع في تحسن مستمر في التفاعل مع المستخدم خصوصاً بعد ظهور الاجاكس, ولا نلوم لغات برمجة المواقع على الضعف في الامكانيات لكن هذا الشئ هو الذي فرضه المتصفح, فإذا كنا نريد نقله نوعيه يجب اننا نشوف حل مع المتصفح ولغته HTML .. اما يغيروها او يعملوا تقنيات قوية يدعموا المتصفح بها, عشان كذا جات الجافا اسكربت والـCSS والاجاكس وغيرها بصراحة المستقبل مبشر للغات برمجة المواقع .. فلو شفتوا بريد الياهوو الجديد لن تصدقوا ان هذا موقع .. بل برنامج على كمبيوتر .. قوة فظيعة في التفاعل اما تفاعل مع المستخدم بالنسبة للغات برمجة الكمبيوتر فهي ليست محدوده بحدود معينة كالتي فرضها المتصفح بسبب امكانياته البسيطة, فعندما تبرمج لك الحرية في استخدام كل امكانيات الكمبيوتر! وطير بخيالك بعيييد
__________________ قال عليه الصلاة والسلام:"ليس منا من دعا إلى عصبية وليس منا من قاتل على عصبية وليس منا من مات على عصبية" # مشاريع: - الفوائد .. خلاصة العلم والمعرفة alfawaed.net العمل بصمت - nawaf.hareeri.net | |||||
|
| |||||
|
عبدالله عيد اثابكم الله موضوع جدا رائع ::: اقتباس:
__________________ إميل سعودي مجاني htaccess بكل بساطة الشفرة الموحدة "يونِكود" (إن من مفاسد هذه الحضارة أنها تسمي الاحتيال ذكاءً، والانحلال حرية، و"الرذيلة فناً" والاستغلال معونة) - مصطفى السباعي | |||||
|
| |||||
|
السلام عليكم ،،، في الواقع لم أكد أريد المشاركة بهذا الموضوع ... لأنني غير متمكن من البي أتش بي ... ولست ضليعاً بلغة سي حتى أتمكن من القاء نظرة على مصدر محرك بي اتش بي ... ولكنني قررت أن أقول ما لدي والله الموفق ... البي اتش بي لغة برمجة وليست لغة برمجة ... كيف ؟ -ليست لغة برمجة في بعض الأوامر مثل echo وليس الأمر في كل الحالات كذلك ... فلو قلت echo "marshosh"; فالأمر هو مجرد تصدير لكلمة marshosh من هذا الأمر الى HTML عادي ... -ولكنها لغة برمجة في كثير من الحالات ... if , do ويكفينا عمليات المقارنة ... فهل يمكننا عمل كل هذا بــ HTML ؟ بالتأكيد لا ... فيمكننا القول أن : [CENTER] البي أتش بي هي لغة برمجة للغة ترميز [/CENTER] ... فأنت بلغة البي أتش بي تبرمج كود HTML بطريقة أسهل ... كالمثال الذي ذكرت ... والله أعلم | |||||
|
| |||||
|
تحية طيبة للجميع وشكراً لكل من شارك ولو بحرف ... أستاذ sBForum أن لم أجزم ولم أنفي أن php لغة برمجة ولكن قلت يمكن أن تكون كلمة لغة برمجة هي كلمة مجازية إن صح التعبير ... على العموم ... الآن اتطرق إلى موضوع الـ Translator . وهو مهم جداً جداً ... نأتي الآن لقضية أخرى وهي التي تجعلنا ننبهر بما يفعله الغرب (رغم أننا مع الأسف حمقى)... الآن جميع من يريد بناء مترجم للغة معينة فهو لن يبني سوى الجزء الأول من المترجم وهو Front-End ...؟ كيف ذلك ؟ بما أننا ذكرنا أنه في مرحلة الـ Back-End يتم التحويل إلى Intermediate ثم إلى الأسمبلي ثم التنفيذ ... الآن المبرمجين عملوا فكرة الـ Translator وهي بعد أن يقوم المبرمج بتأليف لغته الخاصة يقوم بكتابة مرحلة الـ Front-End ثم بعد ذلك يقوم بإحضار مترجم للغة أخرى من المصادر المفتوحة مثلاً ويستخدم اللغة التي تروق له مثل C أو Pascal أو C# أو Java أو C++ ... طيب وبعدين ... بعدها يقوم المبرمج بإستخدام إحدى هذه اللغات كـ Intermediat Code لمترجمه أي بإختصار بعد مرحلة الـ Front-End يقوم المبرمج بالتحويل إلى لغة معروفة مثل C , Java,Pascal مثلاً في ملف مؤقت ... يعني الآن أفرض أنني قمت بكتابة المترجم وأريد التحويل بعد ذلك إلى لغة Java .. عندها سأبني لغتي الخاصة بعدها سأذهب وأحضر مثلاً مترجم مجاني للغة جافا وليكن أسمه Java.exe الآن وليكن مترجم لغتي بإسم abdulah.exe الآن عندما يشغل أحدهم المترجم مالذي يحدث ؟ يقوم مترجم abdulah.exe بالتحويل إلى ملفات جافا وحفظها في ملفات مؤقتة بإسم مثلاً abdulah.java.temp بعدها يقوم abdulah.exe بتشغيل Java.exe وتمرير abdulah.java.temp إليه وكل هذا يحدث في الخلفية ... بعدها يقوم مترجم الجافا بعمل المطلوب واخراج ملف الـ exe الذي تريده وبعدها يظن المستخدم أن لغة abdulah هي التي اخرجت الملف التنفيذي بعد الترجمة ... الآن لو هناك أحدهم كتب برنامج بلغتي في ملف بإسم example.abdulah فإن ترجمته ستكون كالتالي : كود: example.abdulah -> abdulah.exe ->Translate to java -> java.exe -> example.exe وبعدها ألف مبروك صار عندك لغة ... وهذا هو الشئ الذي يعمل عليه العالم الآن ويصدر لنا لغات برمجة بشكل سريع ... فكل ماتراه الآن هو عبارة عن Translator وليس Compiler في الأصل ... لذلك الهمة ياشباب ... وللبقية حوار تحياتي أخوكم عبدالله عيد
__________________ قال صلى الله عليه وسلم (كلمتان خفيفتان على اللسان ثقيلتان في الميزان (سبحان الله وبحمده ** سبحان الله العظيم) اوكما قال صلى الله عليه وسلم . (فهل هذه الكلمتان ثقيلتان على لسانك كي لا تقولها مرة واحدة في اليوم على الأقل) | |||||
|
| |||||
|
بخصوص لغة برمجة عربية ... ستنجح لو كانت عربية ... لو كان الكود يكتب بالعربي ... لن تجد أي لغة أخرى تجد شهرتها ... طبعاً عند العرب ... خلال نسخها التجريبية لن يصدق أحد الإقبال عليها ... هل ترى الآلاف الذين يحاولون تعلم البرمجة ؟ هل تجد شيء يردهم غير اللغة ؟ بالتأكيد لا ... فإن حلت العقدة تجاوزوا كل شيء ... ستجد في كل يوم برنامج جديد ... لا يهم كيف ستصدر هذه اللغة ... حتى لو كانت Translator للغة قوية كــ C أو C++ فستبقى حلاً للمشكلة ... أخي عبد الله عيد ... أضفني hasanmarwan@hotmail.com وشكراً | |||||
|
| |||||
|
حينما تقرأ عنوان الموضوع ومقدمته أنت كمبرمج تنحرق أعصابك لانه بنعت الـ php بأنها لغة برمجة - مجازياً - اذا فهي ليست لغة برمجة إذا فنحن كمبرمجون php لسنا مبرمجون وعبارة عن مصممون على الفرونت بيج أو الدريم ويفر أو أياً من البرامج المتقدمة التي تتعامل مع الـ html ..ولكن حينما قرأت التعليقات الجميلة والتي شُرح فيها كيفية تعامل الـ php مع أمها الـ C فاننا نخلص أنها ليست لغة برمجة بالاستفادة من الكلام السابق ولكن هذا للخبير بلغات البرمجة أمثال الـ C و اخوتها ولكن لمن لا يفقه هذه اللغات ويتعامل مع الظاهر فقط ؟ فإن الـ php تتعامل له مع السيرفر وتستخلص منه معلومات قد طلبها عن طريق الـ php كمبرمج php ولم يطلبها من الـ C مثلاً .. إذا مبرمج الـ php هل يمكن اعتباره مبرمج C مجازياً أيضاً ؟ الجواب لربما نعم .. ولكن بالرجوع الى الحقائق حينما تضع مبرمج بي اتش بي أمام الـ C سيقف عاجزاً (ان كان لا يفقه سوى الـ php) ولكن كيف تتعامل الـ asp مع المتصفح أيضا ؟ وكيف تتعامل اللغات الأخرى مع المتصفح أيضاً .. ولكن طالما انك تتعامل مع الـ php والتي بدورها تتعامل مع الـ C فهي لغة برمجة حقيقياً لا مجازياً لأنها توصلك إلى أوامر الـ C بشكل أو بآخر وانت تتعامل معها .. هذه وجهة نظري والتي تقبل الخطأ بالطبع .. بالنسبة لسؤال هل سيتم اعتماد لغة برمجة عربية فالجواب بدون مكابرة وبدون غرور وبكل بساطه لا لانه غيرهم كان اشطر خصوصاً بتوفر البرامج والسكريبتات العربية والتي بالرغم من توافرها نتعامل مع البرامج الأجنبية وحتى ولو كانت سرقة X سرقة ولكن سيتم التعامل مع لغة برمجة عربية حينما تجد مبرمجاً عاقلاً يتعلم بسرعه ، وهذا صعب لأننا تقولبنا على اللغات الأجنبية ولكن لابد وانه ستظهر لغة برمجة عربية رغم انني أذكر انني قبل أكثر من سنة دخلت موقع به لغة برمجة عربية حتى أوامرها عربية ولكنني للأسف لا أذكر هذا الموقع بالطبع ان كان هذا الموقع وهذه اللغة أساساً تعيش حتى الأن ![]() اجمل تحية للجميع وأشكر لمن تحمل فلسفتي في تسمية اللغات ولنا لقاء | |||||
|