صفحة 1 من 3 123 الأخيرةالأخيرة
النتائج 1 إلى 15 من 37

الموضوع: [تحدي] PHP vs ASP.NET ، الجولة الأولى !

  1. #1
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647

    [تحدي] PHP vs ASP.NET ، الجولة الأولى !



    بسم الله ، والصلاة والسلام على أفضل خلق الله ، محمد بن عبدالله ، وعلى صحبه وتابعيه ومن والاه ، وبعد ؛

    إخوتي الكرام ، في هذا الموضوع ، سنبدأ بالتحدي الذي تم الاتفاق عليه في إحدى المشاركات الأخرى مع الأخ mr.kindy ..

    السيناريو

    يكون العضو mr.kindy حائراً في مشكلة ما في لغة PHP ، فيتساءل في قسم الـ PHP في سوالف سوفت حول حل المشكلة ، وعندما يجد حل مشكلته ، يبدأ بنعت لغة PHP بنعوت تنخفض عن مستواها ، ويُدخِل ذكر لغة ASP في مشاركته ، علماً بأن الموضوع لا يمت بصلة لتلك اللغة التجارية ..

    يتدخل العضو أشرف السمهوري (أنا :nice ليدافع عن لغته الحبيبة PHP ، والتي عاش معها بضع سنين ، فهو بخبرته " المعقولة " فيها لا يرضى لأي شخصٍ أن يذم هذه اللغة، وبطلب من الأخ بدأ التحدي ...

    شروط التحدي

    أشترط في هذا التحدي:

    1. أن يكون التحدي مقتصراً على العضوين المذكورين فقط ، بقية الأعضاء يمكنهم المتابعة بصمت إلى حين انتهاء الجولة الحالية .

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

    3. في حال مساندة أي عضو لعضو آخر في جولته ، سيتم إيقاف الجولة مباشرة .

    4. يحق للمراقبين إغلاق الجولة ( الموضوع ) حين خروجه عن شروط " سوالف سوفت " .

    5. الالتزام بآداب الحوار التي نلتمسها من ديننا الحنيف واجب في هذا التحدي ، بغض النظر عن التحيز إلى لغة معينة . في حال الخروج عن آداب الحوار ولو بشكل بسيط ، يعتبر الطرف الخارج عن تلك الآداب مهزوماً .

    6. يبدأ الجولة الطرف الجديد دائماً ، وليس الطرف المنتصر في الجولة التي تسبقها .. وفي هذه الجولة سأبدأ أنا .

    7. عند عجز إحدى الطرفين عن الرد أو عندما يحمل رده ميزة أقل من المطروحة عند الطرف الآخر ، تحتسب نقطة لصالح الطرف الأول .

    8. عند امتلاك أي من الطرفين 5 نقاط يعتبر هو الطرف المنتصر في الجولة ، ويتم المتابعة في الجولات الأخرى .

    9. لا يوجد مقابل في الجولة الأولى للمنتصر ، قد يتم النظر في الأمر مستقبلاً لتشجيع المنافسة .

    بداية التحدي

    بدايتي هي :

    إذا علمت أن لغة PHP تحاكي بالشكل الافتراضي قواعد البيانات التالية:
    كود:
    Adabas D 
    dBase 
    Empress 
    FilePro (read-only) 
    Hyperwave 
    IBM DB2 
    Informix 
    Ingres 
    InterBase 
    FrontBase 
    mSQL 
    Direct MS-SQL 
    MySQL 
    ODBC 
    Oracle (OCI7 and OCI8) 
    Ovrimos 
    PostgreSQL 
    SQLite 
    Solid 
    Sybase 
    Velocis 
    Unix dbm
    فما هي قواعد البيانات التي تستطيع لغة ASP.NET محاكاتها ؟!

    تحياتي، أشرف السمهوري





    التعديل الأخير تم بواسطة أشرف السمهوري ; 17-05-2008 الساعة 03:17 PM
    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!
    أشرف السمهوري غير متواجد حالياً


  2. #2
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    599


    جاء تقسيم .NETFRAMEWORK لقواعد البيانات كتالي
    MSAccess
    MSSQLSrever
    Oracal
    ODBC
    وعلي ما أعتقد ان نسبة 98% من قواعد البيانات يتم توصيلها من خلال ODBC
    حتي لو كانت
    MSAccess or MSSQL Server or Oracle
    وفضلت مايكروسوفت هذه التقسيمة بسبب عمل Classes افضل في التعامل مع القواعد البيانات السابق ذكرها من الـ ODBC
    يعني يمكن التعامل مع MySQL من خلال ODBC
    ارجو ان تكون اتضحت الصورة انه لا توجد مشكلة مع ربط اي قاعدة بيانات من خلال ASP.NET
    مع العلم لا حاجة لنا في ربط مشروعي بقاعدة بيانات بعيداً عن الثلاثة الكبار
    MSSQL Server and Oracle and MySQL


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

    ولكن من خلال لغة ASP.NET يمكنك التغلب علي هذه العملية بما يسمي Caching For Performance
    بتفعيل هذه الخاصية داخل الـ ASP فيكفي للمستخدم بعمل استعلام واحد ويتم حفظة في ذاكرة جهاز المستخدم لفترة انت تحددها سواء كانت دقيقة او 100 دقيقة ومع اول زيارة بعد انتهاء المهلة يتم عمل تحديث للبيانات القديمة
    طبعاً الكلام ده بينطبق علي اي Data مش شرط استعلام في قاعدة بيانات
    تخيلوا معي ماذا سيكون حال صاحب الموقع بعد تشغيل موقعه بسرعة طبيعية وكأنه غير متواجد غير عشرات الزوار فقط مع العلم عدم تغير عدد الزوار السابقين
    أكيد عرفنا ان المواقع الكبيرة حالياً تتجه الي الـ ASP.Net ليه
    سؤالي هل توجد خاصية مثل هذه الخاصية في الـ PHP

    تعديل 1 :
    للأستزادة حول caching
    ASP.NET QuickStart Tutorials





    __________________
    MrKindy
    mr.kindy غير متواجد حالياً

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Sep 2006
    المشاركات
    227
    Kasper غير متواجد حالياً

  4. #4
    عضو نشيط
    تاريخ التسجيل
    May 2006
    المشاركات
    161


    اخوي كاسبر لا تفسد الجولة!
    3. في حال مساندة أي عضو لعضو آخر في جولته ، سيتم إيقاف الجولة مباشرة .






    __________________
    سـبـحـان الله، والـحــمــد لله، ولا إلـه إلا الله، والله أكـــبـــــر.
    ALMimoni غير متواجد حالياً

  5. #5
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    599


    لاحظ جيداً ده امكانية قاعدة بيانات MySQL مش لغة PHP
    لاحظ جيداً انا قلت الـ caching علي اي Data مش استعلامات بس يعني صور وملفات جافا وما الي اخره
    لاحظ جيداً
    1. أن يكون التحدي مقتصراً على العضوين المذكورين فقط ، بقية الأعضاء يمكنهم المتابعة بصمت إلى حين انتهاء الجولة الحالية .






    __________________
    MrKindy
    mr.kindy غير متواجد حالياً

  6. #6
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


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

    وعلي ما أعتقد ان نسبة 98% من قواعد البيانات يتم توصيلها من خلال ODBC
    لغة PHP تعتمد في اتصالها بمعظم أنواع محركات قواعد البيانات على الاتصال المباشر Native ، والذي يختلف عن ASP.NET كونها تستخدم وسيط Wrapper للاتصال بالقواعد ، كما أن الوسيط PDO في PHP يعتبر في أدائه أفضل من ODBC في ASP.NET .. لغة PHP سهلة مع المحافظة على الأداء، بينما لغة ASP.NET تقدّم السهولة على الأداء ..

    سؤالي هل توجد خاصية مثل هذه الخاصية في الـ PHP
    بل توجد خواص ، وليس خاصية ..

    سأقسمها إلى قسمين ، الأول هو التخزين المؤقت Cache ، والآخر هو تحسين الأداء Optimization .

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

    بحر الـ Cache في لغة PHP ، يضم عدة أنواع ، منها :
    Database query/result caching ( فيما يتعلق بسيرفر قاعدة البيانات )
    Call/return value caching ( فيما يتعلق بالتطبيقات المنطقية )
    Template caching/code generation ( فيما يتعلق بالقوالب وإنتاج الأكواد )
    Output caching ( فيما يتعلق بعرض النتائج Result Displaying )

    أما تحسين الأداء Optimization :
    Profiling للمزيد: PHP Performance Profiling
    ومن حلولها المجانية المطروحة ، APD ، للتحكم التام بسلوك اللغة ..
    PHP: APC Functions - Manual

    المسرعات Accelerators ، وقد تم الحديث عنها في المنتدى بالتفصيل سابقاً .
    PHP accelerator - Wikipedia, the free encyclopedia

    كما يمكن تدعيم اللغة بامتدادات جديدة من صنع المبرمج بلغة C ، الأمر في غاية السهولة بالنسبة للغة مفتوحة المصدر مثل PHP .

    الآن ، حول بطء المواقع الكبيرة المصنوعة بلغة PHP ، فهذا يعتمد على إمكانيات المبرمج .. فمعظم المبرمجين لا يستخدمون أنظمة الكاش وتحسين الأداء ..

    فمثلاً ، ضمن الاتصال بقواعد البيانات ، وفّرت لغة PHP للمواقع التي يكثر زوارها دوال للاتصال الدائم Persistent Connection ، فمثلاً دالة mysql_pconnect ستسمح بالاتصال مرة واحدة بسيرفر MySQL ، ولا تقوم بإنهاء الاتصال ، حيث يتم استخدام نفس الاتصال لإرسال الاستعلامات لاحقاً عن طريق الزوار اللاحقين ..

    كما وفّرت بعض الدوال مثل mysql_unbuffered_query ، حيث أنها لا تحتفظ بالبيانات التي يتم جلبها في الذاكرة ، فاستخدامك لها فضلاً عن mysql_query عند الحاجة سيوفّر جهداً كبيراً على السيرفر ..

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

    كذلك، فإن هناك العديد من أطر العمل التي تعمل على زيادة كفاءة السكربتات المبرمجة بهذه اللغة ، منها Zend Framework ، cakePHP وغيرها الكثير .. من خلالها يمكن البرمجة بسهولة تامة وسرعة كبيرة ، وبأداء عالٍ ..

    سؤالي الآن ، وبغير خبرة في لغة ASP :

    هل يمكن لأي مبرمج بسيط أو أي شخص لديه خلفية في HTML تعديل الفورمز والأدوات داخل مشاريع ASP.NET التي تم بناءها ( Build ) ؟

    مثلاً :
    كود:
    <asp:Label ID="Label3" runat="server">
    وكذلك بقية أكواد لغة ASP.NET ، هل يمكن للمبرمج العادي كتابتها يدوياً ؟

    أعتقد أن مبرمجي ASP.NET لا يستغنون عن محرراتهم المرئية ( بيئة Visual Studio.NET )، في المقابل، يمكن لمعظم مبرمجي PHP كتابة برامجهم بسهولة تامة في محرر نصوص بدائي مثل Notepad وغيره .

    تحياتي، أشرف السمهوري





    التعديل الأخير تم بواسطة أشرف السمهوري ; 18-05-2008 الساعة 01:51 AM
    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!
    أشرف السمهوري غير متواجد حالياً

  7. #7
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    599


    غة PHP تعتمد في اتصالها بمعظم أنواع محركات قواعد البيانات على الاتصال المباشر Native ، والذي يختلف عن ASP.NET كونها تستخدم وسيط Wrapper للاتصال بالقواعد
    مين اللي قالك ان ODBC وسيط وليس ملحق ولو مش ملاحظ ده ارجع للفيجوال بيسك 6 وشوغ محركات قواعد البيانات اد ايه ويمكن اضافة اد ايه

    كما أن الوسيط PDO في PHP يعتبر في أدائه أفضل من ODBC في ASP.NET .. لغة PHP سهلة مع المحافظة على الأداء، بينما لغة ASP.NET تقدّم السهولة على الأداء
    علي اي اساس تقارن PDO بالـ ODBC انت جربته مع العلم ان كلاً منهم يعمل علي بيئة مختلفة
    ايضاً علي اي اساس تحكم ASP.NET تقدّم السهولة على الأداء
    لاحظ انا قلت لازم نحط الادلة العلمية او المراجع مع التوضيع علشان الاعضاء ميتهوش ما بنا

    أما تحسين الأداء Optimization :
    Profiling للمزيد: PHP Performance Profiling
    ومن حلولها المجانية المطروحة ، APD ، للتحكم التام بسلوك اللغة ..
    PHP: APC Functions - Manual
    علي ما اعتقد خطأ انت لم تقرأ اللينك جيداً او اسأت التوضيح ولقد تشعبت في اشياء جديدة لم احب ذكرها الآن
    انا هوضح للأعضاء علشان يكونوا في الصورة
    البقية تأتي في الرد التالي





    __________________
    MrKindy
    mr.kindy غير متواجد حالياً

  8. #8
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    599


    APD ده اختصار لـ Advanced PHP Debugger
    الوظيفة هي عمل تحليل للكود وتعمل علي تحليل سرعة الكود في التنفيذ الوقت المستغرق يعني عدد مرات التكرار وما الي اخره
    طيب وده هتفدنا في ايه
    كمثال بسيط كلنا نعرف ان احنا عندنا اكثر من حلقة بس اياهم نستخدم هذه الخاصية التي ستحدد الوقت المستغرق لكل لوب و بالتالي هاخد الاسرع في التنفيذ
    طيب اين الـ ASP.NET من هذا
    كما قلت كنت احب ان أأخذ كل خاصية علي حدا بس علشان نعمل مقارنة افضل بس للأسف انت جمعت بين الاتنين وهما ملهمش علاقة ببعض
    الخاصية ده تأتي تحت اسم Tracing في الـ ASP.NET
    للأستزادة
    ASP.NET QuickStart Tutorials
    كما يمكن تدعيم اللغة بامتدادات جديدة من صنع المبرمج بلغة C ، الأمر في غاية السهولة بالنسبة للغة مفتوحة المصدر مثل PHP .

    الآن ، حول بطء المواقع الكبيرة المصنوعة بلغة PHP ، فهذا يعتمد على إمكانيات المبرمج .. فمعظم المبرمجين لا يستخدمون أنظمة الكاش وتحسين الأداء ..

    فمثلاً ، ضمن الاتصال بقواعد البيانات ، وفّرت لغة PHP للمواقع التي يكثر زوارها دوال للاتصال الدائم Persistent Connection ، فمثلاً دالة mysql_pconnect ستسمح بالاتصال مرة واحدة بسيرفر MySQL ، ولا تقوم بإنهاء الاتصال ، حيث يتم استخدام نفس الاتصال لإرسال الاستعلامات لاحقاً عن طريق الزوار اللاحقين ..

    كما وفّرت بعض الدوال مثل mysql_unbuffered_query ، حيث أنها لا تحتفظ بالبيانات التي يتم جلبها في الذاكرة ، فاستخدامك لها فضلاً عن mysql_query عند الحاجة سيوفّر جهداً كبيراً على السيرفر ..
    كما ذكرت سابقاً لا هناك فارق بين امكانية قاعدة بيانات وامكانية لغة ما حالك حين تستخدم قاعدة بيانات اخري

    ارجع بقي للـ Caching
    انت قلت انها موجودة تحت اسم APC جميل اوي يبقي علينا دلوقتي نكرر ايه هي الافضل من الثانية
    تمام
    لم اجد سوي مقارنتين وهما
    ان APD و APC لازم تعملهم صطب يعني دول يعتبروا Extra Component و يعني لازم يكون ليك صلحيات علي السيرفر وده ممكن يعمل مشكله ارتفاع اسعار السيرفرات او بعد عمل اتصالات كثيرة بينك وبين صاحب السيرف يوافق علي اضافة هاتين الخاصيتين هيكون اضعت الكثير من الوقت
    اما في ASP ده موجود تلقائياً
    ثانياً سهولة استخدمها في الايه اس بي بأقل الاكوا علي العكس تماماً في البي اتش بي هتلاقي انها مقسماً علي الكثير من الدوال وكل داله لها الـ argument مختلفة للناس اللي بتبرمج باللغتين بنفس الاحترافية ممكن تقارن من خلال الرابطين
    ASP.NET QuickStart Tutorials
    PHP: APC Functions - Manual


    اما عن سؤالك لم اجيبك حتي ننتهي من جزئية جزئية حتي لا تطول الردود وتتشعب ونتوه الاعضاء معانا





    __________________
    MrKindy
    mr.kindy غير متواجد حالياً

  9. #9
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    اعذرني لقد سهوت ، APC وليس APD ، وهذا واضح في اللينك المرفق ..

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

    تحياتي، أشرف السمهوري





    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!
    أشرف السمهوري غير متواجد حالياً

  10. #10
    عضو نشيط
    تاريخ التسجيل
    Jun 2007
    المشاركات
    131


    <- متابع " بإتقان " .

    الله معاكم . منافسة رائعه .





    __________________
    بعت الموقع لاحد يقول لي ليه !!
    ديوانية مراجيج © غير متواجد حالياً

  11. #11
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    475


    متابعووون بشغف





    __________________
    omansecurity.com
    Email: OmanSecurity AT gmail DOT com
    OmanSecurity غير متواجد حالياً

  12. #12
    عضو نشيط جدا
    تاريخ التسجيل
    Jan 2008
    المشاركات
    553


    متابع بعنف ... معك يا أشرف ... PHP وبس





    __________________
    اللهم اغفر لي الذنوب التي تهتك العصم
    اللهم اغفر لي الذنوب التي تنزل النقم
    اللهم اغفر لي الذنوب التي تغير النعم
    اللهم اغفر لي الذنوب التي تحبس الدعاء
    اللهم اغفر لي الذنوب التي تنزل البلاء .
    الأزهر غير متواجد حالياً

  13. #13
    عضو جديد
    تاريخ التسجيل
    Jun 2003
    المشاركات
    25


    موضوع مثير للغاية، و تحدى رائع، و ان كنت اميل للغاية لجانب PHP.
    بإنتظار بقية التحدي.





    nardgo غير متواجد حالياً

  14. #14
    عضو فعال
    تاريخ التسجيل
    Mar 2008
    المشاركات
    1,392

    Smile



    هل تبحتان على الكمال في لغة معينة؟؟

    كلاهما فوق المستوى المطلوب وكلاهما مميز ولكل منها بساطته وصعوبته ولكل منهما مشاكله وعيوبه هل الأحسن يكون بالملمترات أو بالكلومترات ؟

    ربما أنا لست خبيرا فيهما وأسف لو كان ردي ينم عن جهل بالموضوع ولكن لو كان سؤالي يفيد حواركما أريد أن أعرف...

    ما الذي تستطيع فعله لغة و تعجز عنه عجزا كاملا اللغة الأخرى ؟

    لأن العجزء الجزئي سيكون مؤقت إلي حين أن يتم إصلاحه لذلك قلت عجزا كاملا






    التعديل الأخير تم بواسطة styl3rs ; 18-05-2008 الساعة 10:21 PM
    __________________
    الأفضل أن تموت وأنت تقاتل من أجل شيئ ما أو أن تعيش من أجل لاشئ.
    وكيف بك إذا كان ما تقاتل من أجله شيئ نبيل ؟.
    styl3rs غير متواجد حالياً

  15. #15
    عضو نشيط جدا
    تاريخ التسجيل
    Sep 2006
    المشاركات
    475


    هل تبحتان على الكمال في لغة معينة؟؟

    كلاهما فوق المستوى المطلوب وكلاهما مميز ولكل منها بساطته وصعوبته ولكل منهما مشاكله وعيوبه هل الأحسن يكون بالملمترات أو بالكلومترات ؟

    ربما أنا لست خبيرا فيهما وأسف لو كان ردي ينم عن جهل بالموضوع ولكن لو كان سؤالي يفيد حواركما أريد أن أعرف...

    ما الذي تستطيع فعله لغة و تعجز عنه عجزا كاملا اللغة الأخرى ؟

    لأن العجزء الجزئي سيكون مؤقت إلي حين أن يتم إصلاحه لذلك قلت عجزا كاملا
    المطورون ببساطة لا ينتظرون لغات البرمجة حتى توفر لها احتياجاتهم
    اما ان يقوموا بأضافة هذه الاحتياجات بنفسهم
    او ان ينتقلوا للبديل الذي يوفر هذه الاحتياجات

    لذلك تجد من يفضل لغه على اخرى مثلا لانها تتعامل مع الـ XML بشكل افضل
    او لأنها تدعم الـ Unicode
    وهكذا...





    __________________
    omansecurity.com
    Email: OmanSecurity AT gmail DOT com
    OmanSecurity غير متواجد حالياً





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

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