هر دو زبان برنامهنویسی تحت PHP و ASP.NET در واقع زبان های اسکریپت نویسی سمت سرور یا در اصطلاح فنی Server Side Scripting هستند که برای طراحی وب سایت های داینامیک مورد استفاده قرار می گیرند. صفحات وب داینامیک ابتدا درخواست کلاینت (کاربر، بازدید کننده) را در سمت سرور پردازش کرده و در نهایت پس از هر بازدید کاربر، نتیجه را به سمت کاربر ارسال می کنند. انتخاب بین این دو زبان اسکریپت نویسی بستگی به مواردی از قبیل اندازه و بزرگی وب سایت، قابلیت های توسعه وب سایت، هزینه های هاستیگ وب، هزینه های پشتیبانی و زمان پیاده سازی و بسیاری دیگر از مواردی از این قبیل دارد.
دیگه اینکه تعداد خط مدایی که با ASP زده میشه (دات نت عو میگم) بیشتر از نوع های دیه عه زبانع بعدش باعد کامپایل بشه تا سرور بفهمه! ای ن باعث سختی عه استفاده ازش میشه بعد اینکه ویرایشش هم سخته ولی بازم اغلب شرکت ها از این زبان استفاده میکنن!
PHP مخفف کلمه PHP Hypertext Preprocessor است و یک نرمافزار یا بستر برنامهنویسی متن باز و رایگان است که توسط شخصی به نام رزموس لردورف در سال ۱۹۹۵ طراحی و ایجاد شد. یکی از نکات مهمی که در خصوص برنامهنویسی به زبان PHP وجود دارد این است که این زبان وابسته به هیچ Platform خاصی نیست و می توان آن را بر روی هر سیستمی عاملی اجرا و استفاده کرد. شرکت های متوسط و کوچک، بیشتر از این زبان برنامهنویسی در دنیا استفاده می کنند؛ زیرا هزینه توسعه و همچنین هزینه هاستینگی که در اینترنت دارد، بسیار ارزان است. بسیاری از ابزارهای رایگان برای توسعه دهندگان این زبان برنامهنویسی به صورت رایگان در اینترنت وجود دارد که به برنامه نویسان PHP این امکان را می دهد که بتوانند براحتی با آن ها برنامه بنویسند.
طبق چیزایی که خوندم پی اچ پی اومد تا از سختی های برنامه نویسی بکاهه تا این امکان را ایجاد کند که افراد تازه وارد به دنیای برنامهنویسی وب نیز بتوانند در این حوزه شروع به فعالیت کنند و به همین دلیل بیشتر کارهای ساده و طراحی وب سایت های کوچک با این زبان برنامهنویسی وب شروع شد و اکثرا در اوایل برنامه نویسان حرفه ای از این زبان استفاده نمی کردند. اما به مرور زمان با توجه به گسترش روزافزون نرم افزارهای Open Source و استفاده بیشتر از زبان Open Source ای به نامPHP حرکت رو به جلوی این زبان بسیار سریع صورت گرفت.
مشکلاتی که به پی اچ پی گرفته شد این بود یکی از مشکلاتی که به این زبان گرفته می شد عدم وجود توابع زیاد و همچنین دستورات کم بود که با گستردگی استفاده از PHP به مرور این موانع و مشکلات برطرف شد و امروزه می توان با PHP توابع و کارهای تقریبا پیچیده ای را برنامهنویسی کرد. PHP یک زبان مفسری است؛ یعنی در هر بار اجرا بایستی کد توسط وب سرور خط به خط اجرا و نتیجه نمایش داده شود. یکی از مشکلاتی که به PHP برنامه نویسان می گیرند این است که اگر شخصی بتواند به سرور لینوکسی یا آپاچی شما دسترسی پیدا کند، با توجه به اینکه کدهای شما به صورت کامپایل نشده و Open Source روی سرور قرار دارند، می تواند به آن ها دسترسی پیدا کنند. این مشکل در ASP.NET وجود ندارد زیرا برنامه قبل از اجرا به فایل های DLL کامپایل می شود و باعث عدم نمایش کد به مهاجم می شود. این مشکل را PHP با معرفی تکنولوژی رمزنگاری به نام Zend حل کرد تا بتواند کدهای PHP را Encode کند و دیگر نگران این مسأله نباشد. یکی از خرده هایی که به PHP گرفته می شود این است که هنوز تا حدودی نقص های اولیه خود را در خصوص شی گرایی دارد و به گفته برخی برنامه نویسان خاصیت های حرفه ای شی گرایی در این زبان برنامهنویسی دیده نشده است.
یکی از قدرت های بی بدیل PHP عدم وابستگی به Platform خاص است؛ یعنی برنامه هایی که با زبان PHP نوشته می شوند، به راحتی قابل اجرا بر روی هر سیستم عاملی از جمله ویندوز هستند. اما ذاتا تکنولوژی برنامهنویسی وب PHP مبتنی بر یک ساختار است که به آن در اصطلاح فنی LAMP می گویند. LAMP مخفف کلمات Linux به عنوان سیستم عامل،Apache به عنوان وب سرور، MySQL به عنوان پایگاه داده و در نهایت PHP به عنوان زبان برنامهنویسی می باشد. بنابراین اکثر افرادی که به برنامهنویسی وب PHP می پردازند، با این ابزارهای کاملا رایگان آشنا هستند. جالب اینجاست که به راحتی می توان این ابزارها را در سیستم عامل ویندوز نیز نصب و استفاده کرد.
یکی از قدرت های اصلی ASP.NET وجود کتابخانه ها یا همان Library های بسیار غنی و توایع زیاد و همچنین کلاس های زیادی است که در ASP.NET وجود دارد و همین امر امکان انجام تقریبا هر کاری را در محیط وب به یک برنامه نویس می دهد.
در بیشتر موارد برای برنامهنویسی ASP.NET از Microsoft Visual Studio و برای پایگاه داده نیز از Microsoft SQL Server و برای وب سرور نیز از IIS یا همان Internet Information Service مایکروسافت استفاده می شود. در ASP.NET کدها در سمت سرور Encode می شوند و اگر کسی بتواند به سرور دسترسی پیدا کند نمی تواند از این کدها که در قالب فایل های DLL هستند استفاده کند. در اصطلاح فنی به این عملیات Code-Behind گفته می شود.