در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

کاملترین مقایسه بین زبان برنامه نویسی ASP.NET و PHP - قسمت 3

در مقاله دوم از این سری مقالات ابتدا به بررسی تکنولوژی های مورد استفاده در زبان های برنامه نویسی PHP و ASP.NET پرداختیم ، سپس بررسی کردیم که برنامه نویسی با کدامیک از زبان های برنامه نویسی ASP.NET یا PHP ساده تر است و در نهایت بحث وابستگی به سیستم عامل در هر دو زبان برنامه نویسی را بررسی کردیم ، در این مقاله دو فاکتور مهم دیگر را با هم بررسی می کنیم ، اولین فاکتور بحث امنیت است ، امنیت کدام زبان برنامه نویسی وب PHP یا ASP.NET بیشتر است و در نهایت با همدیگر سرعت و کارایی هر یک از این زبان های برنامه نویسی را بررسی خواهیم کرد پس تا آخر مقاله با ما باشید.

فاکتور چهارم : امنیت ASP.NET بیشتر است یا PHP ؟

پرسیدن این موضوع که امنیت در ASP.NET بیشتر است یا در PHP دقیقا مثل همین سئوال است که امنیت در لینوکس بیشتر است یا در ویندوز ، در نهایت شما به جواب قاطعی در این زمینه دست پیدا نخواهید کرد. بحث امنیت بیشتر در حوزه میزان تخصص و دانش برنامه نویس بستگی دارد ، چه بسا شما یک اتومبیل FJCruser ( عشق منه این ماشین ) داشته باشید و بلد نباشید با آن رانندگی کنید ، این اتومبیل با پیکان برای شما تفاوتی نخواهد داشت چون دانش استفاده از آن را ندارید.

اما مواردی هم هست که کمی قبل تر هم در مورد آنها صحبت کردیم ، یکی از موارد امنیتی که در پروژه های PHP وجود داشت این بود که فایل های PHP متن باز هستند و در صورتیکه کسی به سرور شما دسترسی داشته باشد می تواند سورس کدهای شما را براحتی بخواند اما در ویندوز با دلیل اینکه فایل ها قبل از اجرا توسط کامپایلر به فایل های DLL تبدیل می شوند و دارای قابلیت Code-Behind هستند نمی توان از این نقطه ضعف استفاده کرد. PHP برای پوشش این مسئله و Encode کردن سورس کد های خود قابلیت Zend را معرفی کرد که یک روش رمزنگاری برای کدهای PHP می باشد که دیگر این نقطه ضعف را نداشته باشند.

امنیت در برنامه نویسی ASP.NET بیشتر است یا در PHP

یکی دیگر از مزایایی که به عنوان مزیت امنیتی برای PHP محسوب می شود این است که نرم افزارهایی که بصورت عام و در قالب پروژه هایی مثل GNU ارائه می شوند متن باز هستند و شما می توانید سورس کد آنها را مشاهده و از نظر امنیتی آن را تحلیل کنید و به دلیل استفاده زیاد افراد در دنیا از اینگونه نرم افزارها و بدست آوردن باگ های امنیتی آن کدهای PHP از امنیت بالاتری برخوردارند . این بحث درست نیست زیرا همانطور که کدهای باز می تواند باعث بالاتر رفتن امنیت شوند باعث انتشار باگ های امنیتی یک محصول هم می توانند باشند ، یک هکر می تواند سورس کد یک محصول را بصورت کامل در اختیار داشته باشد و آن را از نظر امنیتی تحلیل و با نقاط ضعف بدست آمده به آن حمله کند اما در کدهای ASP.NET همچنین مشکلی وجود ندارد.

البته باز هم تاکید می کنم که هیچ ملاکی برای امنیت بیشتر برنامه نویسی PHP بر ASP.NET و برعکس آن وجود ندارد و صرفا این دانش یک برنامه نویس است که تعیین کننده امنیت یک نرم افزار است. برای مثال CMS رایگان Joomla که بصورت رایگان در اینترنت وجود دارد یکی از اهداف همیشگی و ساده هکرها محسوب می شود ، اگر می خواهید در خصوص انواع حملاتی که به Web Application ها انجام می شود اطلاعاتی بدست بیاوردی به مقاله زیر از خودم مراجعه کنید که در انجمن امنیت اطلاعات و ارتباطات همین وب سایت قرار گرفته است :

برخی اوقات مشاهده می کنیم که برنامه نویس های PHP این ادعا را دارند که چون سایت های بزرگی مثل گوگل ، یاهو و ... از برنامه نویسی PHP استفاده می کنند بنابراین امنیت این برنامه نویسی از ASP.NET بیشتر است. قبل از هر چیز باید یک نکته را خاطر نشان کنیم که این یک تصور نادرست است که بگوییم یک وب سایت بزرگ در دنیا صرفا از یک زبان برنامه نویسی استفاده می کند ، معمولا این وب سایت ها از انواع زبان های برنامه نویسی برای کار خود استفاده می کنند که قطعا PHP هم می تواند جزوی از آنها باشد ، PHP در گوگل به عنوان زبان برنامه نویسی اصلی به کار نمی رود .

زبان غالب اکثرا در این وب سایت ها C و C++ و جاوا می باشد و در برخی از ماژول های زیر مجموعه ممکن است از PHP استفاده کنند ، عزیزان توجه کنید که ASP.NET با برند مایکروسافت معرفی می شود و طبیعی است که حتی اگر بهترین زبان برنامه نویسی دنیا هم باشد شرکت های رقیب از آن برای نمایش کار خود استفاده نکنند. اما به واقع می توان گفت زبان برنامه نویسی PHP بسیار بسیار محبوب تر و مرسوم تر از ASP.NET در اینترنت می باشد ، برای اثبات این دو موضوع به مطالب زیر مراجعه کنید :

فاکتور پنجم : سرعت و کارایی ASP.NET بیشتر است یا PHP ؟

قبل از اینکه این بحث را باز کنیم یک مسئله را روشن کنیم ، توجه کنید که شما هر کاری را که می توانید با برنامه نویسی وب PHP انجام دهید با برنامه نویسی ASP.NET نیز می توانید انجام دهید و بر عکس همین موضوع نیز صادق است . سرعت و کارایی هر زبان برنامه نویسی به عوامل مختلفی بستگی دارد که از آن جمله می توان به تکنولوژی مورد استفاده در زبان برنامه نویسی ، نوع سیستم عامل مورد استفاده ، نوع فایل سیستم مورد استفاده ، بزرگی و گستردگی برنامه و پروژه و دانش برنامه نویسی اشاره کرد.

در وهله اول برنامه نویسان ASP.NET اینطور القاء می کنند که چون زبان برنامه نویسی ASP.NET یک زبان کامپایلری است و زبان PHP یک زبان مفسری است بنابراین سرعت اجرا کدها در ASP.NET بیشتر از سرعت اجرا کدها در PHP است. این حرف هم درست است و هم اشتباه ، درست از این بابت که سرعت اجرای برنامه های کامپایل شده که در قالب فایل های DLL وجود دارند از برنامه های مفسری که بصورت خط به خط اجرا می شوند بیشتر است. یک اسکریپت PHP سرعت بیشتری نسبت به اسکریپت مشابه در ASP.NET دارد اما دلیلی برای اینکار وجود دارد.

زمانیکه شما یک اسکریپت PHP را اجرا می کنید این کد به سرعت تفسیر شده و اجرا می شود و خروجی به مرورگر کاربر ارسال می شود که در این میان وقفه ای نداریم ، اما زمانیکه صحبت از اسکریپت ASP.NET می شود این کد علاوه بر اینکه به خودی خود باید اجرا شود بایستی چندین ماژول مانند ماژول های خواندن تنظیمات ، کنترل کردن Web Form ها ، انجام authentication ها و بسیاری دیگر از موارد را بصورت همزمان انجام دهد که همین مورد باعث کمتر شدن سرعت آن نسبت به مفسر PHP می شود.

اینجاست که برنامه نویس های PHP به خود مغرور می شوند که زبان سریعتری دارند اما حقیقت طور دیگری است. بدون شک در برنامه هایی با تعداد خطوط پایین و اسکریپت های کوچک برتری با PHP است اما در سطوح کلان و برنامه های بسیار بزرگ سطح Enterprise که دارای ده ها یا صدها هزاران خط هستند برتری بدون شک با زبان های کامپایلری است . هر چند برنامه هایی برای سرعت بخشیدن به عملیات اجرای کدهای PHP ایجاد شده است اما همچنان برتری در سطح کلان با ASP.NET است.

سرعت PHP بهتر است یا ASP.NET

نوع سیستم عامل نیز عامل بسیار مهمی در سرعت اجرا نرم افزارها می باشد. قطعا و بدون شک سیستم عامل ویندوز از نظر کارایی و سرعت نمی تواند با سرویس های لینوکسی برابری کند. این را به حساب تجربه کاری بنده با این سیستم عامل ها بگذارید. ویندوز به یکباره کلیه منابع سیستم را در اختیار می گیرد و وجود رابط گرافیکی ناخواسته سرعت اجرای نرم افزارها و سرویس ها را کند می کند ، اما لینوکس بر حسب نیاز اینکار را انجام می دهدو تمامی کارها از طریق Command و دستورات خط فرمان انجام می شود و رابط گرافیکی عملا وجود ندارد. سرویس های لینوکس بسیار قابل اعتمادتر از سرویس ها در ویندوز هستند و قطعا به این مورد برخورده اید که با انجام هر تغییری در سیستم عامل ویندوز یک Restart نیاز است.

اما توجه کنید که اگر کدهای ASP.NET را بر روی سرور لینوکس و از طرفی کدهای PHP را بر روی سرور ویندوزی اجرا کنید که قطعا هم این امکان وجود دارد دیگر سیستم عامل جزو ملاک های سرعت و کارایی نمی تواند باشد. از طرفی طبق تحقیقات فایل سیستم مورد استفاده در هارد دیسک شما نیز می تواند عامل سرعت اجرای کد شما باشد که در این حالت گفته می شود بهترین فایل سیستم برای سرعت فایل سیستم لینوکسی ext4 است. هر چند این ملاک ها نسبی است زیرا بیشتر ما می خواهیم در خصوص خود برنامه نویسی صحبت کنیم نه سخت افزار و فایل سیستم ، در اینصورت وجود RAID در هارد دیسک ها نیز می تواند جزو ملاک ها محسوب شود. با توجه به تحقیقات انجام شده در صورت اجرای کدهای ASP.NET با استفاده از MONO در لینوکس سرعت اجرا آن از PHP به نسبت بالاتر خواهد بود.

اما از همه اینها بگذریم مهم دانش برنامه نویسی است که در این حوزه استفاده می شود ، شیوه Query گرفتن و شیوه کد نویسی بر حسب دانش افراد در این حوزه متفاوت است ، هر چقدر هم که شما پروژه بزرگتری داشته باشید طبیعی است که دانش بیشتری را نیاز خواهید داشت ، در این خصوص به یک خاطره اکتفا می کنم ، در حوزه پایگاه داده قطعا Oracle از برتری مشهوی نسبت به MSSQL Sever برخوردار است. در یکی از پروژه هایی که یکی از دوستان در یک سازمان دولتی داشت قرار شد که یک Query از دیتابیس های Oracle گرفته شود که بعد از نوشته شدن این Query و اجرای آن در حدود 30 ثانیه پاسخ به Query و دریافت پاسخ از Oracle طول کشید.

اما جالب اینجا بود که همین Query در MSSQL Server تنها 5 ثانیه طول می کشید. در اینجا مسئله دانش Oracle بود که دوست ما این دانش را نداشت. فردای همان روز یک Oracle کار حرفه ای همان Query را با کمی تغییر در Oracle وارد کرد و مشاهده کردیم که پاسخ در کمتر از یک دهم ثانیه ارائه شد. این نشان از اهمیت دانش برنامه نویسی و کد نویسی در سرعت و کارایی یک برنامه دارد که واقعا از همه چیز در بحث سرعت و کارایی مهمتر است. در مقاله بعدی فاکتورهای نهایی مقایسه این دو زبان برنامه نویسی را با هم مقایسه خواهیم کرد . توسینسو را به همه معرفی کنید.

نویسنده : محمد نصیری

منبع : جزیره طراحی و توسعه وب وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد

#ملاک_انتخاب_یک_زبان_برنامه_نویسی #امنیت_asp.net_بیشتر_است_یا_php #asp.net_ساده_تر_است_یا_php #سرعت_php_بیشتر_است_یا_asp.net #کارایی_php_بیشتر_است_یا_asp.net #php_یا_asp.net #مقایسه_asp.net_و_php #php_بهتر_است_یا_asp.net #php_بهتر_است_یا_ASP.net_یا_JSP؟
عنوان
1 کاملترین مقایسه بین زبان برنامه نویسی ASP.NET و PHP - قسمت 1 رایگان
2 کاملترین مقایسه بین زبان برنامه نویسی ASP.NET و PHP - قسمت 2 رایگان
3 کاملترین مقایسه بین زبان برنامه نویسی ASP.NET و PHP - قسمت 3 رایگان
4 کاملترین مقایسه بین زبان برنامه نویسی ASP.NET و PHP - قسمت 4 رایگان
زمان و قیمت کل 0″ 0
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره پاییزه می تونی امروز ارزونتر از فردا خرید کنی ....