۷ دلیل برای اینكه استفاده از PHP بهتر از ASP می باشد
۱- سرعت ، سرعت ، سرعت
اولین باری كه یك كد به زبان 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 ها را داراست كه این یك
مزیت برای برنامه نویس ها محسوب می شود .