مشکل مطرح شده برای دات نت زبان برنامهنویسی ASP.NET ذاتا برای سیستم عامل ویندوز و استفاده در آن طراحی و ایجاد شده است و بیشتر برنامه هایی که در این زبان نوشته می شوند وابسته به سیستم عامل ویندوز هستند. البته این نکته را به عنوان نکته منفی در خصوص زبان برنامهنویسی ASP.NET مطرح می کنند جوابیه: اما توجه کنید که مایکروسافت پروژه هایی را شروع کرده است که برنامه هایی که توسط ASP.NET نوشته می شوند بر روی سیستم عامل های دیگر نیز قابل اجرا باشند. معروفترین این پروژه ها به نام MONO شناخته می شود. بنابراین در آینده ای نه چندان دور شاهد این خواهیم بود که برنامه هایی که توسط ASP.NET نوشته می شوند، به راحتی بر روی لینوکس و یونیکس نیز اجرا شوند.
از نظر تکنولوژی و معماری ASP.NET و Java از Platform هایی هستند که در سطح Enterprise و کلان استفاده می شوند و PHP معمولا برای نوشتن اسکریپت های وب استفاده می شود. همانطور که قبلا هم اشاره کردیم برای نوشتن یک برنامه پیچیده در زبان ASP.NET تعداد خطوط کد بیشتری نسبت به PHP نیاز است و به همین دلیل زمان تولید و توسعه یا همان Develop Time مربوط به زبان ASP.NET نسبت به زمان مشابه PHP بیشتر است. بر خلاف PHP که یک زبان مفسری است ،ASP.NET یک زبان کامپایلری است. بدین معنا که کدها بعد از هر بار نوشتن؛ مجددا بایستی کامپایل شده و با فایل های DLL تبدیل شوند.
بحث سادگی کار با یک محیط برنامهنویسی بستگی به موارد مختلفی دارد که از جمله آن ها می توان به اندازه پروژه ای که می خواهیم انجام دهیم اشاره کرد. در وهله اول باید بگوییم که یادگیری زبان PHP قطعا برای شروع ساده تر از برنامه نویسی به زبان ASP.NET است اما برای برنامه نویسی اسکریپت های چند خطی یا وب سایت های کوچک نه برای نوشتن Web Application های بزرگ و سازمانی و یا اتوماسیون های اداری پیچیده. اگر می خواهید صرفا یک وب سایت یا یک CMS یا یک Web Application ساده و دارای پیچیدگی های کم بنویسید، برای شروع یادگیری PHP بهترین گزینه است. شما با استفاده از هر ویرایشگر متنی قادر به نوشتن کدهای PHP هستید که این خود یکی از مزایای اصلی این زبان برنامه نویسی وب می باشد. متاسفانه PHP ویرایشگر و ابزار مشخصی برای کدنویسی ندارد. شرکت های مختلفی در اینترنت ابزارهای مختلفی برای استفاده برای کدنویسی این محصول ارایه داده اند که این خود یک عدم تمرکز برای برنامه نویسی PHP را ایجاد می کند.
اما اگر قصد برنامه نویسی Web Application هایی در سطح Enterprise دارید، ترجیجا ASP.NET را انتخاب کنید. هدف اصلی و ماهیت واقعی زبان ASP.NET (که همانطور که گفتیم یک Platform به حساب می آید) نوشتن Web Application های بزرگ و دارای فرم ها و اطلاعات ورودی و پیچیدگی های زیاد است. برای کسانی که به برنامه نویسی کردن در محیط های گرافیکی عادت دارند، این زبان بسیار بهتر است. در ASP.NET شما در قالب استفاده از ابزارهای گرافیکی براحتی می توانید تولید کد داشته باشید و همچنین با استفاده از فرم های آماده یا همان Web Form ها می توانید به راحتی به بانک های اطلاعاتی و ماهیت های مختلف اطلاعات و جدول ها به صورت گرافیکی دسترسی پیدا کنید، بدون اینکه نیاز به کد نوشتن داشته باشید. ASP.NET به صورت خودکار با ماژول هایی که در اختیار دارد این کدها را برای شما ایجاد می کند. در کنار این ها فریم ورک .NET برخی از موارد مانندCaching ، احراز هویت و بسیاری دیگر از این مسایل را به خودی خود انجام می دهد. توابع ASP.NET اینقدر زیاد است که تقریبا شما را از استفاده کردن از توابع خارجی در برنامه نویسی خود بی نیاز می کند. تمامی کارهایی که قرار است شما در ASP.NET انجام دهید در یک محیط یکپارچه یا بهتر بگوییم یک ابزار قدرتمند به نام Microsoft Visual Studio انجام می شود که طبیعتا سادگی های کار گرافیکی در محصولات مایکروسافت به خوبی در این نرم افزار نیز دیده می شود.
یکی از مواردی که تا چند وقت پیش به عنوان مزیت PHP بر ASP.NET مطرح می شد، این بود که کدهای نوشته شده توسط PHP بر روی هر سیستم عاملی قابل اجرا هستند و این موضوع برای کدهای ASP.NET وجود ندارد. با این موضوع تا حدودی موافق هستیم اما نه الان، در حال حاضر کدهای PHP براحتی با استفاده از نرم افزارهای شبیه سازی مثل WAMP و XAMP و بسیاری از این موارد براحتی بر روی سیستم عامل ویندوز اجرا می شوند و شما نیازی نیست برای برنامه نویسی PHP حتما لینوکس بلد باشید.
اما در مقابل مایکروسافت نیز در سالهای گذشته سعی کرده است این نقطه ضعف خود را پوشش دهد و در این راه پروژه معروفی به نام MONO را ارایه کرده است که توسط آن شما می توانید براحتی کدهای ASP.NET را بر روی Platform هایی مثل لینوکس و یونیکس اجرا و کد نویسی کنید.
پس همین مورد باعث شده است دیگر ASP.NET این ضعف را نپذیرد؛ اما به دلیل عدم شناخت درست افراد از وجود چنین پروژه ای و همچنین عادت کردن به زبان PHP و گسترده شدن این زبان معمولا این مسأله عنوان نمی شود. هر چند شخصی که واقعا می خواهد کدنویسی در محیط ASP.NET کند در ۹۹ درصد موارد از ویندوز استفاده می کند؛ اما با این پروژه حرف و حدیث ها در مقابل این نقطه ضعف تمام شد. در واقع یکی پروژه MONO به عنوان Open Source ASP.NET با استفاده از وب سرور آپاچی و سرور لینوکس پیاده سازی و استفاده می شود. بنابراین امروزه ASP.NET را نیز می توانیم زبان برنامه نویسی وب مستقل از سیستم عامل عنوان کنیم.