مقایسه php و Asp

کدام زبان برنامه نویسی برای طراحی سایت بهتر است؟

مطالبی که در این بخش آموزشی می خونید نتایج عملی از کارکردن و برنامه نویسی و آموزش های تخصصی غیر آکادمیک و آکادمیک می باشد به اضافه تحقیقات در این حوزه قبل از نوشتن و جمع بندی این مطلب.

خوب در ابتدا لازم میدونم بگم مقایسه زبان php و asp.net برای طراحی سایت بحثی طولانی و تمام نشدنی است. اکثر شرکت ها و برنامه نویسانی که یک زبان برنامه نویسی را یاد میگیرند علاقه مند به دفاع کردن از آن زبان هستند و بعضا دلایل غیر منطقی و غیر علمی برای کار خودشان دارند. دلیل اینکه تصمیم گرفتم این مقاله را بنویسم دامن زدن به بحث های طولانی و غیر منطقی که بین برنامه نویسان زبان های php و asp.net وجود دارد نیست زیرا شخصا اعتقاد دارم که زبان های برنامه نویسی ابزار هستند و در صنعت نرم افزار نیروی انسانی ، خلاقیت و تخصص است که حرف اول را می زند نه یک زبان برنامه نویسی. یک برنامه نویس بد با هر زبانی میتواند یک برنامه ضعیف، کند، غیر ایمن و سرشار از باگ را تولید کند و یک برنامه نویس خوب با یک زبان قدیمی نیز می تواند یک برنامه خوب بنویسد. این یک تجربه عملی است که خودتان هم به سادگی به آن خواهید رسید. خیلی برایم جالب بود زمانیکه در دو جلسه متفاوتی که داشتم، دلایل مطرح شده در دفاع از زبان اسکریپتی php به قدری برای من عجیب بود که نهایتا مجبور شدم دانش و تجربیات خود را نیز رها کرده و در اینترنت جستجو و به دنبال کشف واقعیت باشم. قبل از اینکه وارد مباحث مربوط به مقایسه این دو زبان بشویم لازم است این نکته را مطرح کنم که من به عنوان برنامه نویس وب بیش از 15 سال تجربه برنامه نویسی دارم و در این مدت با زبان ها و پلتفرم هایی مانند جاوا، php ، asp، و asp.net کار کرده ام و به تمام آنها مسلط هستم. یکی از مواردی که در دفاع از php مطرح می شود عبارت است از اینکه سرعت php از asp.net بیشتر است. یکی از دلایلی که برنامه نویسان php برای دفاع از آن مطرح می کنند سرعت آن است و میگویند که سرعت php از asp.net بیشتر است، در حالیکه آزمایشات انجام شده نتیجه کاملا متفاوت را نشان می دهند. از نظر منطقی نیز چنین چیزی امکان ندارد به این دلیل که کدهای خروجی asp.net در سمت سرور تفسیر نمی شوند و به صورت dll هستند و web server در زمان اجرای کدها هیچگونه زمانی برای تفسیر آنها نمی گذارد و با سریعترین زمان ممکن اجرا می شوند. لذا چنین حرفی هیچ پایه و اساس علمی ندارد. سرعت asp.net قابل مقایسه با سایر زبان ها و تکنولوژی ها نیست و به مقدار قابل توجهی مخصوصا در زمانی که مقدار داده ها افزایش می یابد و مقیاس سازمانی است سریع تر است. پس تا اینجا لا اقل در سایتهایی با پردازش بالا سرعت Asp بر php میچربد. بحث دیگر و بسیار مهم امنیت است. این یک قاعده کلی است که از قدیم مطرح می شد که امنیت برنامه های Open Source یا همان متن باز زیر سوال است. اما امنیت بیشتر این برنامه ها یعنی برنامه های متن باز  یکی از مباحثی است که برخی برنامه نویسان مطرح می کنند. به طور کلی هر سیستمی که افراد زیادی بر روی آن کار کنند و استفاده کنندگان زیادی داشته باشد به مرور تکمیل می شود. اما کدباز بودن نه تنها دلیل بر ایمن بودن نیست بلکه در بسیاری از موارد ممکن است باعث شود که سیستم فوق مورد حمله قرار گرفته و هک شود. به عنوان مثال پلتفرم جوملا که بر پایه php است یکی از ضعیف ترین پلتفرم ها از نظر امنیتی است و هر از چندگاهی شاهد هک شدن نسخه های مختلف آن در اینترنت هستیم. برخی از مشکلات امنیتی که ممکن است به خاطر برنامه نویسی سایت پیش بیاید عبارتند از: Remote code execution SQL injection Cross Site Scripting (XSS) Session Hijacking XSRF هیچکدام از موارد بالا ارتباطی به زبان برنامه نویسی ندارد و برنامه نویس باید با موارد فوق آشنا باشد تا مشکل امنیتی برای آن بوجود نیاید. ضمن اینکه سیستم های بسیار زیادی در دنیا وجود دارند که با پلتفرم دات نت کار میکنند و اگر این پلتفرم مشکل داشت قطعا هیچ کدام از این شرکت ها به سمت آن نمی رفتند.

پس تا اینجا هم بحث سرعت را کردیم و هم بحث امنیت.

حالا از شواهد موجود کمک می گیریم برای مثال آیا سایت های بزرگی مانند گوگل، فیسبوک و آمازون با php برنامه نویسی شده اند؟ پاسخ قطعا منفی است! سایت های فوق عمدتا از زبان های c++ پایتون و جاوا برای برنامه نویسی سمت سرور خود استفاده می کنند و به هیچ وجه از پلتفرم های اپن سورس مثل php در طراحی بخش های اصلی آنها استفاده نشده است. تنها گوگل برای برخی از سرویس های جانبی خود به طور محدود از زبان php استفاده می کند. تنها سایت پربازدید دنیا که از php استفاده می کرده است سایت یاهو است که آن هم در حال انتقال برنامه های خود به زبان جدید node.js است. برای مشاهده زبان های استفاده شده در سایت های بزرگ جهان می توانید به لینک زیر مراجعه نمایید.

مشاهده زبان های طراحی بزرگ ترین سایت ها

اگر ایران به قانون کپی رایت بپیوندد... در حال حاضر درصد قابل توجهی از سایت های بزرگ اینترنتی بر پایه asp.net طراحی شده اند، سوال اینجاست که مگر کشورهای دیگه از قانون کپی رایت حمایت نمی کنند؟ پس چرا با این وجود استفاده از تکنولوژی دات نت روز به روز در این کشورها رو به افزایش است؟ متاسفانه زمانی که ما میخواهیم هزینه استفاده از یک سیستم را محاسبه کنیم فقط به قیمت خرید آن فکرمیکنیم و این فرهنگ در ما ایرانی ها وجود دارد. درست است که زبان php یک زبان اپن سورس و رایگان است، اما اگر شما بخواهید یک پورتال اینترنتی را با استفاده از آن طراحی کنید این کار چقدر زمان خواهد برد؟ آیا خروجی پروژه به مقدار کافی مقیاس پذیر خواهد بود؟ آیا قابلیت توسعه و گسترش کافی خواهد داشت؟ اگر هزینه استخدام یک برنامه نویس n تومان در ماه باشد و پروژه php سه ماه طول بکشد و پیاده سازی همان پروژه با asp.net یک ماه زمان بخواهد، عاقلانه خواهد بود که با خرید لایسنس به سمت asp.net برویم یا از سیستم رایگان php استفاده کنیم؟ اگر منطق فوق درست بود، تا کنون تمام کشورهای دنیا از php استفاده می کردند و کسی به سراغ asp.net نمی رفت در حالیکه در عمل می بینیم که چنین نیست. گرچه سعی کردم بی طرفانه به مقایسه هر دو تکنولوژی فوق بپردازم اما واقعیت این است که پلتفرم asp.net از نظر امکانات، سطح تکنولوژِی و قابلیت هایی که دارد به هیچ وجه قابل مقایسه با زبان اسکریپتی php نیست. استفاده از php تنها زمانی منطقی است که یک اسکریپت رایگان و آماده برای پروژه ای که می خواهید انجام دهید وجود داشته باشد و نوشتن مجدد کد مقرون به صرفه نباشد. از طرف دیگر به دلیل اینکه سرورهای لینوکس از asp.net پشتیبانی نمیکنند و قیمت ارزان تری نسبت به سرورهای ویندوزی دارند، بسیاری از افراد به دلیل صرفه جویی در زمینه هاست به سراغ php می روند، در حالیکه به دلیلی که در بخش قانون کپی رایت ذکر کردم چنین کاری مقرون به صرفه نیست!

همینجا می خواهم این نکته را اضافه کنم که همیشه و همیشه حتی اگر سایت بزرگی می خواهید طراحی کنید، نیم نگاهی هم به Cms های آماده جهانی مثل وردپرس داشته باشید.

خوب است جمع بندی را با طرح 2 سوال به پایان ببریم.

چه زمانی بهتر است از php استفاده کنیم؟ اگر پروژه ای که میخواهید انجام دهید یک پروژه کوچک و یا متوسط است و در مقیاس های بزرگ عملیاتی اجراء نمیشود php میتواند گزینه خوبی باشد. اگر اسکریپت های آماده و کدهای آماده برای پروژه فوق به زبان php وجود دارند، گزینه مناسبی است. اگر سرور شما لینوکس است، از php استفاده کنید.

چه زمانی بهتر است از asp.net استفاده کنیم؟ اگر پروژه شما بسیار بزرگ بوده و شامل انواع نقش های سیستمی و سطوح دسترسی مختلف می باشد و با یک پورتال است از دات نت استفاده کنید اگر می خواهید از ساختارهای نوین برنامه نویسی مانند MVC استفاده کنید از دات نت استفاده کنید اگر می خواهید نرم افزار وب شما به صورت شی گرا تولید شود از دات نت استفاده کنید اگر به دنبال توسعه ساختار و پشتیبانی سیستم در دراز مدت هستید و دید کوتاه مدت به پروژه ندارید از دات نت استفاده کنید.

نمونه ای از آخرین کارهای ما

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

اگر ربات نیستی جواب بده *

پشتیبانی سایت سئو سایت

خدمات سایت

سئو

خدمات سایت

پشتیبانی سایت سئو سایت خدمات سایت