در مقاله اول از این سری مقالات به معرفی کلی زبان های برنامه نویسی وب ASP.NET و PHP پرداختیم و در نهایت معیار و ملاک هایی برای انتخاب یک زبان برنامه نویسی وب را عنوان کردیم. در این مقاله به بررسی این معیار ها بصورت جزئی تر بپردازیم. پس تا انتهای مقاله با ما باشید.
هزینه و محیط برنامه نویسی
وقتی صحبت از PHP و لینوکس به میان می آید نا خودآگاه مفهوم متن باز یا Open Source به ذهن ها تداعی می شود و این طرز تفکر کاملا صحیح است چرا که این زبان یک زبان کاملا رایگان است. از پلتفرم اجرای آن یعنی لینوکس گرفته تا وب سرور آپاچی و بانک اطلاعاتی آن یعنی MySQL، همه و همه کاملا به رایگان در اختیار شما هستند. در حالی که زبان ASP.NET محصول شرکت مایکروسافت است و طبعاً هزینه هایی را در پی دارد. این هزینه ها عبارتند از:
- خرید لایسنس ویندوز، چرا که ASP.NET بر روی پلتفرم ویندوز اجرا می شود. هر چند شاید این مشکل خیلی بزرگی به حساب نیاید چرا که به لطف پروژه Mono-Project می توانید ASP.NET را حتی بر روی لینوکس هم اجرا کنید.
- ASP.NET نیاز به یک سرویس میزبانی (هاستینگ) وب مبتنی بر ویندوز دارد و معمولاً هزینه خدمات هاست ویندوز همیشه بیشتر از لینوکس بوده و هست.
- محیط برنامه نویسی یکی دیگر از عوامل مؤثر در مقایسه هزینه ها می باشد. محبوب ترین محیط برنامه نویسی (IDE) برای محصولات مایکروسافت از جمله ASP.NET، محصول همین شرکت یعنی Microsoft Visual Studio می باشد که اگر بخواهید از نسخه های پیشرفته آن استفاده کنید باید پرداخت هزینه ای سنگین را به جان بخرید. البته این شرکت به فکر تازه کار ها هم بوده و نسخه ای رایگان را با عنوان Microsoft Visual Studio Express را منتشر کرده تا تازه کاران هم که سرمایه ای ندارند بتوانند کار خود را شروع کنند.
به عنوان یک تازه کار نباید خیلی نگران هزینه های شروع کار با ASP.NET باشید چرا که مایکروسافت بستر مناسب برای شروع کار را برای شما فراهم آورده است. اما هنگامی که کسب و کارتان رونق یافت و رشد کردید باید به فکر کنار گذاشتن چند صد دلاری برای تهیه نسخه های پیشرفته MS Visual Studio باشید. در مقابل یکی از مزایای بسیار خوب زبان برنامه نویسی PHP این است که نیازی به محیط برنامه نویسی خاصی ندارد و تقریبا شما می توانید با هر ویرایشگر متنی که در دسترس است به زبان PHP کد نویسی کنید که یکی از مزایای عالی این زبان به حساب می آید. از طرفی برای اینکه بتوانید صرفا در یک محیط متنی کد نویسی کنید بایستی در برنامه نویسی PHP تا حدی حرفه ای باشید تا بتوانید نیاز خود را تمام و کمال برآورده سازید.
همانگونه که اشاره شد PHP کاملا رایگان بوده که هم بر روی لینوکس و ویندوز قابل اجراست و هم محیط های برنامه نویسی خوبی هم به صورت رایگان و هم به صورت پولی برای آن موجود است. بنابر این برنده در این مرحله PHP خواهد بود.
کارایی و انعطاف پذیری
قبل از اینکه این بحث را باز کنیم یک مسئله را روشن کنیم، توجه کنید که شما هر کاری را که می توانید با برنامه نویسی وب PHP انجام دهید با برنامه نویسی ASP.NET نیز می توانید انجام دهید و بر عکس همین موضوع نیز صادق است. سرعت و کارایی هر زبان برنامه نویسی به عوامل مختلفی بستگی دارد که از آن جمله می توان به تکنولوژی مورد استفاده در زبان برنامه نویسی ، نوع سیستم عامل مورد استفاده ، نوع فایل سیستم مورد استفاده ، بزرگی و گستردگی برنامه و پروژه و دانش برنامه نویسی اشاره کرد. بنابر این هر دو زبان برنامه نویسی PHP و ASP.NET کاملاً انعطاف پذیر هستند. توجه داشته باشید که دومین وبسایت بزرگ و پرترافیک دنیا یعنی فیسبوک با زبان PHP نوشته شده است این در حالیست که وبسایت MySpace که زمانی محبوب ترین شبکه اجتماعی دنیا بود هم با زبان ASP.NET نوشته شده بود . این نشان دهنده انعطاف پذیری هر دو زبان می باشد.
از لحاظ کارایی نیز می توان گفت برنده PHP است چرا که این زبان با داشتن پلتفرم بسیار سبک Linux در بسیاری از موارد نسبت به ASP.NET در ویندوز عملکرد بهتری دارد.
پشتیبانی و سهولت در یادگیری
سرعت توسعه و پیشرفت هر یک از این زبان های برنامه نویسی به عوامل متعددی بستگی دارد که از آن جمله می توان به پشتیبانی، منابع آموزشی و یادگیری و بازار کار این زبان های برنامه نویسی وب اشاره کرد. در خصوص پشتیبانی یکی از مهمترین موارد وجود یک ارگان یا یک شرکت منسجم در پس زمینه می باشد . در خصوص برنامه نویسی ASP.NET قطعا نمی توان به غول نرم افزاری بزرگ دنیا یعنی مایکروسافت شک کرد ، شرکت مایکروسافت به خوبی و با بهترین و منسجم ترین حالت ممکن همیشه در حال به روز رسانی، پشتیبانی و ارتقاء ASP.NET بوده است و همیشه مرجعی واحد به نام MSDN وجود داشته است که به راحتی می توانید مشکلات و مسائل خود در خصوص یادگیری را با این مرجع مرتفع کنید.
یکی از نقاط ضعفی که برای پشتیبانی از ASP.NET عنوان می شود این است که فقط یک شرکت انحصاری به نام مایکروسافت از این زبان پشتیبانی می کند و ممکن است این شرکت روزی دیگر از این زبان پشتیبانی نکند و در مقابل برای زبان PHP با توجه به فراگیر بودن آن منابع و پشتیبانی های متعددی وجود دارد.
در خصوص پشتیبانی از زبان PHP باید بگویم که در مقایسه با ASP.NET منابعی که در اینترنت برای آموزش و یادگیری PHP وجود دارد بسیار فراوان تر و گسترده تر می باشد. این امر کاملا طبیعی است زیرا عمومیت بیشتری در استفاده از PHP نسبت به ASP.NET وجود دارد و بر حسب ذات Open Source این زبان، وب سایت ها و تالارهای گفتمان تخصصی بسیار زیادی برای پشتیبانی از این محصول وجود دارد. در کنار این منابع آموزشی بصورت رسمی شرکتی به نام Zend مسئول توسعه و ارائه نسخه های جدید PHP می باشد که به پشتیبان اصلی این زبان معروف است. شرکت Zend همان کاری را انجام می دهد که مایکروسافت برای ASP.NET انجام می دهد و در واقع بروز کردن Engine مربوط به PHP را بر عهده دارد. طبیعی است که هیچوقت نیازی نیست نگران پشتیبانی یا عدم پشتیبانی از PHP باشیم ، آنقدر منابع آموزشی و اسکریپت های آماده برای یادگیری این محصول وجود دارد که به هیچ عنوان وابستگی به شرکت خاصی ندارد. با توجه به سادگی یادگیری و توسعه نرم افزارها در PHP و سهولت کاربری برای برنامه نویسان تازه کار ، سرعت توسعه و پیشرفت این زبان نیز به سرعت رو به پیشرفت است.
نتیجه گیری
فاکتور های مختلفی را در رابطه با مقایسه این دو زبان برنامه نویسی وب عنوان کردیم اما همانطور که در ابتدای مقاله هم اشاره کردم سعی کردم حقایق را عنوان کنم و طرفداری از محصول خاصی را نکنم. به هر حال با تمامی این اوصاف در نهایت این خلاقیت ، دانش و مهارت برنامه نویس است که یک زبان برنامه نویسی را خوب جلوه می دهد و یا بالعکس. یک برنامه نویس حرفه ای باید بتواند با Platform ها و ابزارهای مختلف کار کند و با آنها تا حدودی آشنایی داشته باشد. نوع ابزار مهم نیست مهم دانش و شیوه پیاده سازی آن است. برای یک برنامه نویس حرفه ای سویچ کردن از برنامه نویسی ASP.NET به PHP و برعکس کار چندان سختی نیست زیرا مفاهیم را همیشه در ذهن دارد فقط syntax اجرای آن را عوض می کند. توجه کنید تعصب بیجا به یک زبان برنامه نویسی صرفا برای برنامه نویسان مبتدی است نه برای برنامه نویسان حرفه ای، چیزی که در شبکه نیز وجود دارد و بصورت نادرستی سیسکو را با مایکروسافت مقایسه می کنند. در سطوح بالا هر دو به خوبی با هم کار می کنند اما در سطوح پایین همه با هم مشکل دارند. انتخاب یک زبان برنامه نویسی به صورت ویژه ای به سطح و اندازه کار و نیازمندی های پروژه شما دارد که در پاراگراف های قبل به این مسئله اشاره کردیم. در نهایت مهمترین رکن در برتری یک زبان برنامه نویسی نیروی انسانی است که زبان را در دست می گیرد. شما کدام زبان برنامه نویسی تحت وب را بیشتر ترجیح می دهید؟
امیدوارم این دانشنامه مورد توجه شما دوستان قرار گرفته باشد. بی صبرانه منتظر انتقادات و پیشنهادات و نظرات شما در مورد این مقالات هستم.