۷ دلیل برای اینكه
استفاده از PHP بهتر از ASP می باشد
به دلیل سٶالات زیادی كه در مورد این
موضوع شده بود تصمیم گرفتم كه كمی در مورد این موضوع تحقیق
و نتیجه برایاستفاده همان در سایت IranPHP.net برای استفاده همگان قرار دهم . قبلا گفته
باشم كه اینها تنها برداشت های شخصیمن در این تحقیق
می باشد و خوشحال می شوم كه بقیه ایرادات من را در این
تحقیق برایم ارسال كنند به دلیل اینكه منتجربه كار با ASP را ندارم و همچنین بعضی اطلاعات من
مربوط به ASP است و NET. را شامل نمی شود .
۱- سرعت ، سرعت ، سرعتاولین باری كه یك
كد به زبان PHP نوشتم بر
روی یك كامپیوتر Pentium 166Mhz بود بر روی سیستم عامل Linux و بههمراه Apache Web Server . بسیار برایم جالب بود كه چقدر كد
های من سریع اجرا می شوند . یعنی در آن موقع بااگر
شما یك Windows NT بر روی آن می توانستید سوار كنید و به فرض كه IIS هم بر روی آن بالا می آمد فكر كنم
اصلا وقت Serve كردن
صفحات عادی html را نداشت چه برسد به اینكه بخواهد ASP را هم اجرا كند . علتش این است كه Microsoft از یك Technology در اجرا كردن كدهای زبان ASP استفاده می كند كه در آن هر موقع شما تصمیم
بهاستفاده از یك عنصر خارجی مانند VBScript, MSSQL, ODBC و خیلی چیزهای دیگر
كه در حقیقت از Engine هایخارجی استفاده می كنند دستور به آن Engine خارجی می دهد و جواب بدست آمده را
بررسی و برای استفاده در اختیارادامه برنامه می گذارد .
همین رفت و برگشت و اجرا كردن Engine های خارجی باعث كند شدن سرویس
دهی می شود كهاین را شما به خوبی می توانید
در استفاده از MSSQL به
طرق مختلف احساس كنید . مثلا اگر شما خود MSSQL Extentions
برای استفاده از MSSQL استفاده
كنید برای یك Query مشترك ۱.۸۸ ثانیه
زمان تلف می شود و اگر همان را با استفادهاز ODBC اجرا نماﺋید زمانی در حدود ۹.۵۴ ثانیه تلف می شود كه این خود
نشان می دهد كه ASP اینها
را به تنهاﺋی اجراءنمی كند و از Engine های ویندوز استفاده می كند .
۲- استفاده بهینه از Memoryدر IIS4 اگر شما در یك صفحه مثلا ۲۰ بار یك صفحه را Include كنید این صفحه ۲۰ بار در
حافظه بارگذاری می شود و درحقیقت حافظه شما ۲۰ برابر زیادتر اشغال می شود . البته شنیدم
كه این مشكل در ویندوز ۲۰۰۰ و IIS5 حل شده استاما بازهم برای كسانی
كه ASP را مینویسند و می خواهند آنرا
بر روی سرور های Hosting كه دارای سیستم عامل NT هستند اجرا كنند مشكل زا است و باعث كند شدن سیستم می شود
و در Load بالا مسلما مشكل زا
خواهد شد .این مشكل به طور كلی در PHP وجود نداشته و ندارد و استفاده درست از Memory در هنگام اجرای یك كد باعث شده
استكه صفحات در Load بالا
نیز به خوبی قابل رٶیت باشند .
۳- خرج اضافی ندارید !مثلا در ASP اگر بخواهید از امكاناتی نظیر
Encryption یا
File Uploading یا
ارسال نامه توسط كد برنامه استفاده كنیدباید امكانات اضافی برای
این كار خریداری كنید و نصب كنید تا این
امكانات به IIS شما
اضافه گردد . این در حالیست كهدر PHP همه اینها در هنگام Compile در نظر گرفته می شوند و همگی از
امكانات Standard این
زبان هستند و هیچ نصبیا خرج اضافی در كار نیست .
۴- MySQL بهترین انتخاب، بیشترین
سرعتدر اینجا قصد ندارد به مقایسه MySQL و MSSQL بپردازم . اما به خاطر قدرت خارق العاده MySQL و
سازگار بودن اینDBMS با زبان PHP به صورتیكه PHP اتصال به MySQL را به صورت دستورات Internally پشتیبانی می كند و حتی
نیازبه نصب Module اضافی برای این كار نمی باشد ، از سرعت بسیار
بالاﺋی در كار با SQL برخوردار است كه شاید بعدا در مورد MySQL مقاله
ای نوشتم .
۵- نزدیك بودن Syntax به ++C/C و Javaاز آنجاﺋیكه اكثر برنامه نویسان
از ++C/C استفاده
كرده اند و بخاطر محبوب بودن بی حد Java معمولا با Syntax هایاین دو زبان اكثرا آشنا هستند . PHP هم اكثر Syntax های خود را شبیه به این
زبانها انتخاب كرده است كه برای یادگیری دوباره Syntax دستورات دچار مشكل نشوید كه مسلما Microsoft اصلا برایش این مساﺋل مشكل
حساب نمی شود .
۶- رفع ایرادات ، سریع ، بی
دردسرتا حالا از Microsoft خواسته اید
كه ایرادی را در سیستمهای خود رفع كند ؟ مسلما اگر شركت
بزرگی مانند Boeingنباشید حرف شما خیلی خریدار
ندارد یا لااقل به این زودی ها به نتیجه نمی رسید
.OpenSource بودن PHP این
امكان را به شما می دهد كه شخصا اقدام به رفع مشكل كنید و آنرا برای
دستندركاران PHPارسال كنید و یا اینكه در Mailing List های عمومی PHP موضوع را مطرح كنید و خواهید دید
كه از سراسر دنیا برای رفع ایراد شما Patch ارسال می گردد .
۷- اجرا بر روی Platform های مختلف درست است كه خیلی
از این ایرادات را Microsoft رفع خواهد كرد و Technology های جدیدتر اراﺋه خواهد كرد ( چه بسا این Net. كه الان آمده همه را درست كرده باشد ) اما یك
مشكل اساسی برای ASP وجود دارد و آن این است كه ASP بدون Windows یعنی هیچ ! بدلیل اینكه ASP نصفی از كدها را توسط Engine های ویندوز اجرا می كند كه در
سیستم عامل های دیگر خبری از آنها نیست . لذا ASP در سیستم عاملهای دیگر همیشه
دارای ضعفهای بزرگی است .
اما PHP به دلیل آنكه توسط GNU C Compiler در همه Platform ها قابل Compile شدن است و ازEngine های خاص هیچ سیستم عاملی
برای اجرای كدها استفاده نمی كند قابلیت اجرا بر روی
تعدا زیادی از OS ها را داراست كه این یك مزیت برای برنامه نویس
ها محسوب می شود
بازگشت به فهرست
بازگشت به صفحه نخست