یادگیری
پی اچ پی با هدف اولیه سادگی برای استفاده
و یادگیری نوشته شده است و تاکنون نیز هدف را منظور کرده است بنابراین
میتوان به سادگی گفت که یادگیری و استفاده از PHP ساده تر از ASP.NET
(حتی با وجود زبانی با سینتکس ساده
VB.NET) است.استفاده از ASP.NET
نیازمند آشنایی با مفهوم اولیه شی گرایی و همجنین پیچیدگیهای خاص دانت
(مثل رویدادهای اجرای صفحات به جای اجرای خطی) است. در واقع یادگیری و
استفاده از ASP کلاسیک ساده تر از
ASP.NET و قابل قیاس با یادگیری PHP
است. عموما طراحان وب سایت به دلیل سادگی استفاده و یادگیری PHP
آنرا فرا
میگیرند و برنامه نویسان حرفه ای و مهندسان نرم افزار هم علاقه بیشتر به
دات نت و JAVA دارند.
همچنین یک نکته قابل توجه در PHP وجود هزاران خط
کد و اسکریپت آماده به زبان PHP است که تقریبا در هر
زمینه ای وجود دارند
(از کارهای ساده با بانک اطلاعاتی تا کار با تصاویر،سوکتها، وب سرویسها،
XML و ...) این
قضیه باعث شده بسیاری از برنامه نویسان PHP به جای نوشتن
کدها بسیاری اوقات اسکرپیتهای آماده موجود در اینترنت
را سر هم کنند و به
هدف خود برسند و یا شیوه کار را فرا بگیرند. البته کم کم در مورد دانت نیز
این قضیه در حال اتفاق
است و سایتهایی که کدهای نمونه یا نرم افزارهای
آماده با سورس ارائه میکنند در حال افزایش هستند.
بازار کار
دو معیار برای سنجش بازار کار وجود دارد
یکی سایتهای خارجی و دیگری بازار ایران، اگر نگاهی به ساده به سایتهای
کاریابی خارجی مانند (مونستر یا Yahoo Job) داشته باشید خواهید دید که هم
برای برنامه نویسان PHP و هم برای
ASP.NET موقعیتهای شغلی وجود دارد اما
نکته قابل توجه حقوق بالاتر و همچنین شرکتهای معتبری هستند که برای
استخدام برنامه نویسان ASP.NET آگهی داده اند.
در ایران نیز عموما
شرکتهای معتبر نرم افزاری ( که به شکل سنتی در پلاتفرم وابسته به ویندوز)
فعالیت می کنند علاقه
مند به استخدام برنامه نویسان ASP.NET هستند. و
شرکتهایی که روی ترجمه،ارائه ابزارهای پشتیبان یا تغییرات روی
نرم
افزارهای Open Source معروف خارجی کار میکنند و یا نیازمند به پیاده سازی
سایتهایی در لینوکس هستند
علاقمند به استخدام برنامه نویسان PHP هستند.
اگرچه این یک نظر شخصی است اما براساس تجربه شخصی حقوق
برنامه نویسان
ASP.NET در ایران نیز در مقایسه بیشتر است.
شاید سوال پیش آید که چرا
با وجود برخی برتریهای ASP.NET همچنان تعداد زیادی برنامه نویس PHP و نرم
افزارهای تحت وب با این زبان نوشته می شود. یکی از مهمترین دلایل آن
همانطور که قبلا اشاره شد ارزانی کار با
ترکیب PHP و لینوکس است که به آن
اختصارا LAMP گفته می شود. اجرا و طراحی یک وب در بستر ویندوز با در
نظرگرفتن هزینه لایسنس ویندوز سرور، SQL Server و محیط توسعه Visual
Studio در قیاس با ارزانی و حتی
رایگان بودن سیستم عامل لینوکس و MYSql و
محیطهای توسعه PHP دلیل مهمی برای انتخاب ترکیب PHP و
لینوکس بخصوص برای
برنامه نویسان مستقل در خارج از کشور است. اما قاعدتا در مورد پروژه ای
بزرگ و شرکتهای
بزرگ نرم افزاری این هزینه ها آنقدر قابل توجه نیست و
بنابراین این شرکتها استفاده از پلاتفرمهای حرفه ای تر مانند
JAVA و دات
نت را انتخاب می کنند.
دیگر موارد
یکی از خصوصیات PHP کدباز یا Open
Source بودن آن است که توسط طرفداران PHP به عنوان یک مزیب
به شمار می
رود. این قضیه این امیدواری را ایجاد میکند که PHP با عدم پشتیبانی در
آینده مواجه نخواهد بود و به روند
رو به توسعه خود ادامه خواهد داد اما از
طرفی با نگاه واقعگرایانه خواهیم دید که مفسر اصلی و برخی از مهمترین
ابزارهای PHP توسط یک شرکت خاص (Zend )عرضه می شود و در عین حال
مایکروسافت توانسته پیشرفت قابل
توجهی در مقایسه در ابزارها و بسترهای
توسعه نرم افزار خود ایجاد کند.همچنین نکته ای که برای فارسی زبانان قابل
توجه است پشتیبانی ذاتی دات نت از یونی کد و رشته های فارسی است. در PHP
اگرچه ارسال یا دریافت اطلاعات
فارسی امکان پذیر است اما در واقع خود PHP
درک درستی از آن ندارد و این قضیه در زمان کار پیچیده با رشته ها
مشخص تر
است.
کدامیک را انتخاب کنیم؟
انتخاب یک ابزار
یا بستر توسعه نرم افزار (یا وب سایت) همانطور که گفته شد بایستی براساس
نیاز نرم افزار یا وب
سایت باشد. بطور مثال اگر لازم است سایت در سرور
لینوکس اجرا شود و یا در آینده سایت از یک محیط (مثل ویندوز
به یونیکس)
منتقل شود با توجه به شرایط روز شاید بهتر باشد PHP انتخاب شود. اگر قرار
است پروژه ای بزرگ با
استفاده ازمتدها و ابزارهای مهندسی نرم افزار پیاده
سازی شود باشد و هزینه اجرا ارجحیت نخست نیست شاید
ASP.NETگزینه بهتری
باشد. در عین حال فکر میکنم دانشجویان و مهندسان نرم افزار ایرانی با توجه
به بازار خوبی
که در خارج از کشور و همچنین ایران وجود دارد و اینکه
یادگیری دانت فقط پیاده سازی صفحات وب نیست و امروز
یکی از رایجترین
ابزارهای توسعه نرم افزارهای تحت ویندوز است یادگیری دات نت را به عنوان
یک گزینه مهم بایستی
مد نظر داشته باشند.
منبع:وبلاگ علیرضا شیرازی
امیدوارم جالب بوده باشه براتون.
باتشكر