# زبان های اسکریپتی > PHP > گفتگو: مقایسه Asp.net و php

## maryshayegh

* سلام به همه ی دوستان 
*

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

((از اونجایی که این انجمن ، صرفا مختص [COLOR=rgb(0, 0, 0)]*php*[/COLOR] است ، اگر از *مزایا و معایب php* (هر چی که به ذهنتون  میرسه) هم بنویسین خیلی خوبه ، خودم میرم دنبال Asp.net  :لبخند: ))

----------


## sonixax

به نظر من PHP بهتره فقط به این دلیل : متن بازه .

----------


## rezarayaneh

سلام
به نظرمن پی اچ پی بهتره چون کدنویسیش آسونه

----------


## amir.bakhtiari

> به نظرمن پی اچ پی بهتره چون کدنویسیش آسونه


اگه یه جستجوی کوچیک میکردی این حرفو نمیزدی!!!
------------------------------------------------------------------------------->



> به نظر من PHP بهتره فقط به این دلیل : متن بازه .


متن بازه(درسته) نمیشه که از asp.net بهتر باشه

----------


## binyaft

از این بحثا زیاد شده ، لطفا بیخیال شید که به هبچ جا نمیرسه!

----------


## rasoul_par

php سريع تره و چون متن بازه مازياي نرم افزارهاي متن بازو هم داره يه نكته ديگه هم كه هست اينه كه براي Asp تو به سرور ويندوز احتياج داري كه خب گرونتره و سروراي linux  هم كه مزاياش مشخصه

----------


## somalek

برای شروع کار طراحی سایت php گزینه مناسبتری است چون در اکثر مسائل پیش رو سریع تر به نتیجه می رسید و نیازی به دانستن دانشهای حواشی ویندوز از جمله امنیت و iis و ... نیست . از طرفی ارزان تر است ، از این بابت که نیاز نصب نرم افزارها جدید و امکانات سخت افزاری با کیفیتی را می طلبد . مخصوصا زمانیکه بخواهید بصورت داخلی در یک سازمان از آن استفاده کنید ، لازم است یک سرور درست و حسابی به این برنامه اختصاص بدهید . به نظر من در ادامه کار و مسلط شدن به این حرفه ، رو آوردن به ASP.net خالی از لطف نیست . چون سیستم عامل غالب در ایران ویندوز است و می توان سرویسهای تحت وب خوبی من جمله sharepoint را ارائه نمود

----------


## rezaonline.net

این بحثها همیشه هست
همیشه هم بوده
ما کردها یه ضرب المثل کردی داریم که میگه
هیچ کسی نمیگه ماست من ترشه!

الان هر کسی با هر زبانی که کار کرده ، ظرفیت شنیدن انتقاد رو نداره
پس بیخیال شید که آخر عاقبت خوبی نداره


ولی پی اچ پی بهتره!

----------


## mohamad.zakery

دوستان عزيز اينقدر ساده نباشيد!!!!

متن باز بودن چه حسني داره؟؟؟

ايا شما به شخصه امكان توسعه يك محصول متن باز مثل php رو دارين؟؟؟

كافيه يكم فكر كنين اونجا متوجه ميشين چه كلاهي سرمون رفته با اين متن بازي؟؟!!!!!

در توسعه اين محصولات معمولا شركت هاي بزرگ سود ميكنن!!! باور نمي كنين:
شركت zend از طريق توسعه php  توانسته محصولات جانبي خودش مثل زند استوديو را در تيراژ بالا بفروشه!!!
شركت گوگل براي توسعه سيستم عامل آندرويد از كرنل لينوكس استفاده كرده!!!
اين ها را اگر بررسي كنيم مي بينيم كه متن باز بودن يك حسن براي شركت هاي بزرگ هست كه بدون پرداخت هزينه اي سودهاي كلاني مي كنند!!!

به قول معروف دنبال خر مرده ميگردن!!!!

حيف كه اصلان فكر نمي كنيم!!!

php متن باز بودنش به كنار ديگه چيزي براي رقابت با .net نداره!!!  بيايم قبول كنيم!!!  متن باز بودن براي ما حسن نيست چون ما توان توسعه يك محصول  متن باز را نداريم اما شركتهاي بزرگ چرا!!!!

----------


## mohamad.zakery

آيا شما ميتونين يك نسخه php مخصوص خودتون بسيازين؟؟؟  يا به عبارت درست تر توسعه بدين؟؟؟؟

----------


## Beginner2013

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


فکر میکنم این بهترین مقایسه ای هست که تا حالا دیدم،البته کامنت هاشم مفیدن.

----------


## k1csharpdeveloper

بیاید یک مقدار از هر 2 علم بدونیم من الان برنامه نویس دات نت هستم و در چند جا هم فعالیت میکنم و پروژه های بزرگی دستم دارم ولی هر کدوم میتونه مزایایی داشته باشه من تازه دارم با joomla و اینا کار میکنم ولی توی دات نت واقعا سختی هایی وجود داره ولی پشت این سختی ها برای حرفه ای ها دات نت یک  سرمایه میلیاردی محسوب میشه و کارهایی میشه کرد که اصلا با جوملا و php نمیشه انجام داد که بزرگترین اون ساختن یک فریم ورک شخصی هستش و ایجاد کامپوننتهای composit , custom که براحتی میشه اگر واقعا حرفه ای باشی همه کار انجام بدی ولی php رو افراد تازه کار که میخوان سریع یک سایت بسازن انتخاب میکنن نه افراد حرفه ای ولی باید نه در حد نوک زدن به هر 2 تا ولی درحدی که از هر 2 به عنوان ابزار درامد زایی استفاده کرد :چشمک:

----------


## lady64

اینو بخونید :
http://www.reset.gigfa.com/?p=185

----------


## nightspooky

php از دیدگاه ویژگی های کلی امنیت خوبی داره برای اینکه در سیستم عامل لینوکس اجرا میشه کد باز و رایگان است در هر سیستم عاملی با سادگی میتونی باهاش برنامه بنویسی از دید برنامه نویسی یک زبان typeless هست به عبارتی شما در این زبان نیازی به تعریف متغیر ها نداری از آن جایی که من دارم C#‎ را یاد می گیرم چیزی که متوجه شدم این است که در php بسیار ساده تر به پایگاه داده متصل می شوی معایبش اینه که چون محیط گرافیکی نداره شاید برنامه نویسی کمی طولانی بشه اما در هر دو شما باید برای داشتن نمای بهتر  و کیفیت بالاتر از css و html استفاده کنی  php به صورتی زاتی فریم ورک نداره که شاید کد نویسی کمی خسته کننده به نظر بیاد اما فریم ورک هایی براش است که این مشکل را هم حل می کند که نیرومند ترینشان yii , zend ,codeigniter ,symfony شاید باشد البته حداقل ۱۰ نوع فریم ورک گوناگون برای php هست 

امیدوارم توانسته باشم کمکی کرده باشم

----------


## crazy_ant

php مزایای خیلی زیادتری نسبت به asp داره.اولیش سرعت اونه که سریعتر از asp اجرا می شه.دوم سازگاریش با سرور linux هستش که بنظرم خیلی برای یک برنامه نویس وب اهمیت داره.چون سرور های linux پایداری بیشتری نسبت به ویندوز دارند.متن باز بودن php یکی دیگر از مزایاش هستش.که باعث می شه کلاس های فراوونی براش تو اینترنت وجود داشته باشه.ولی خوب asp بهر حال شرکتی مثل ماکروسافت پشتش هست و ساپورت قوی ای داره.یز مزایای این زبان ابزار نیرومندی بنام ویژوال استدیو هستش که خوب جای بحثی نداره.اگر با C#‎ کد های اون رو بنویسید طبیعی هستش که از قدرت C#‎ نیز بهره مند می شید.
یکی دیگر از مزیت های php فریم ورک های قوی ای هستش که براش وجود داره که کار برنامه نویسی رو واقعا قوی می کنه.مثل فریم ورک yii.اگر راجبش می خوای بیشتر بدونی این مقاله رو بخون.
الان فقط همینا  تو خاطرم هستش.امیدوارم مفید بوده باشه برات.

----------


## mohamad.zakery

جناب *crazy_ant*:



> .اولیش سرعت اونه که سریعتر از asp اجرا می شه.


اینو از کجا میگین؟؟  به چه دلیل؟؟ به صرف اینکه Asp.net دارای مرحله اجرای دو گانست این حرف نزنید!!! 
نیازی نیست من بگم بنچمارک های متععدی وجود داره که اثبات میکنه سرعته بالاتر ای اس پی!!!!
البته فکر کنم برای اطلاع بعضی دوستان بگم بد نباشه که با Build کردن پروژه Asp.net کامپایلر پروژه تبدیل به یابنری های دات نتی می کنی!!! که در زمان اجرا این باینری های دات نتی تبدیل به کد بهینه سیستم تارگت میشن و اجرا میشن!!!
اما Php مفسر داره و در زمان اجرا مفسر خط به خط دستوارت تفسیر میکنه!!!

شاید بد نباشه دوستان مقالاتی راجع به حلقه ها در مفسر ها بخونن و ببینن مفسرها چالش ها و گلوگاههای متعددی دارند مثل حلقه ها!!!




> چون سرور های linux پایداری بیشتری نسبت به ویندوز دارند


تا الان هیچ برنامه و سرور ویندوزی مبتنی بر .Net هک نشده!!!
دلیل بالاتر قیمت سرورهای ویندوزی چیه؟؟؟ آیا تا حالا بهش فکر کردن!!!
آپ تایم بودن سرورهای ویندوزی بشترن یا لینوکسی؟؟؟
تو سرورهای ویندوزی به راحتی Php اجرا میشن اما تو سرورهای لینوکسی نه!!! این یک موهبت برای برنامه نویس هسات که می تونن در یک سرور از دو غول استفاده کنند و امکانات همدیگرو جوین کنند!!

امنیت Asp.net بسیار بالاست و تا الان هنوز حفره مستقیمی در این فریمورک بی نظیر پیدا نشده!!!
Asp.et با قدرتمندترین Dbms یعنی Sql server 2012  با رمز کد ناتالی بسیار هماهنگه و جالبه بدونین چه امکانات بی نظیری در این Dbms قرار گرفته!!!
دیگه امروز اراکل یکه تازی نمی کنه و بازار دو قطبی شده!!!  به نفع ما برنامه نویساست!!!! 





> متن باز بودن php یکی دیگر از مزایاش هستش.که باعث می شه کلاس های فراوونی براش تو اینترنت وجود داشته باشه.


دوست عزیز راجب چیزی که نمیدونی چی هست نظر نده!!!

اصلا چه ربطی داره متن باز بودن به کلاس های فراوون!!!

پیشنهاد می کنم Extension Method تو .Net یک نگاهی بنداز 


دوستان من فقط به Php کارها میخوام بگم ، روی یک تکنولوژی تعصب نداشته باشین
شما دنباله نفع خودتوت برین!!!!

نه Php مال ماست نه Asp.net
ما باید دنبال راحتی خودمون باشیم.

----------


## WOLF_MEHRDAD

سلام دوستان 
من کوچیک تر از اونم که توی این بحث شرکت کنم ولی دیگه اومدم  :لبخند گشاده!: 

شما میگید asp خوبه من میگم php چون من حتی یه خط asp ننوشتم 

حالا یه مقاله هست به نام *php گریزی درایران* که توسط *محمد افاضاتی* نوشته شده ، مطالعه کنید بدک نیس

nophp.rar

----------


## mohamad.zakery

*WOLF_MEHRDAD* عزیز


اگه به شما بگن بین لکسوس و جنسیس یکی انتخاب کن کدوم انتخاب می کنی؟

----------


## Mousavmousab

> این بحثها همیشه هست
> همیشه هم بوده
> ما کردها یه ضرب المثل کردی داریم که میگه
> هیچ کسی نمیگه ماست من ترشه!
> 
> الان هر کسی با هر زبانی که کار کرده ، ظرفیت شنیدن انتقاد رو نداره
> پس بیخیال شید که آخر عاقبت خوبی نداره
> 
> 
> ولی پی اچ پی بهتره!


این ضرب المثل کردیه؟ نمی دونستم!! ولی کاملاٌ با شما موافقم

----------


## MMSHFE

> نیازی نیست من بگم بنچمارک های متععدی وجود داره که اثبات میکنه سرعته بالاتر ای اس پی!!!!


اتفاقاً نیازه. منبع و سند صحبتتون رو بیان کنید. خیلی دوست دارم بدونم کدوم بنچمارک معتبری هست که گفته سرعت ASP بالاتر از PHP هست. البته در شرایط متعادل و منصفانه. مثلاً اگه ASP.NET کامپایلی کار میکنه، باید با نسخه کامپایلی PHP که توسط ابزارهایی مثل HipHop تولید شده، مقایسه بشه. سرعت فیسبوک که مدنظرتون هست احیاناً؟!



> البته فکر کنم برای اطلاع بعضی دوستان بگم بد نباشه که با Build کردن پروژه Asp.net کامپایلر پروژه تبدیل به یابنری های دات نتی می کنی!!! که در زمان اجرا این باینری های دات نتی تبدیل به کد بهینه سیستم تارگت میشن و اجرا میشن!!!
> اما Php مفسر داره و در زمان اجرا مفسر خط به خط دستوارت تفسیر میکنه!!!


مایکروسافت و کد بهینه؟ بد نیست سرعت Load و اجرا و مصرف Resource خود سیستم عاملش رو با Linux مقایسه کنید.



> تا الان هیچ برنامه و سرور ویندوزی مبتنی بر .Net هک نشده!!!


واقعاً *هیچ* برنامه و سرور ویندوزی مبتنی بر NET. تابحال هک نشده؟ اطلاعات جالبی دارین.



> دلیل بالاتر قیمت سرورهای ویندوزی چیه؟؟؟ آیا تا حالا بهش فکر کردن!!!


بله بهش فکر کردیم و نتیجه هم همیشه قیمت بالای لایسنس ویندوز و نرم افزارهای جانبی که باید برای بقای سیستم نصب بشه، برای سرور درمقابل رایگان بودن لینوکس و تمامی نرم افزارهای امینتی که روی اون نصب میشه هست.



> آپ تایم بودن سرورهای ویندوزی بشترن یا لینوکسی؟؟؟


آپ تایم که دیگه امروزه چیزی شبیه جوکه. چون خیلی از سرورها لینک صفحه اصلی که به سایتهای بررسی کننده آپ تایم میدن، روی سرور خودشون نیست. بعلاوه فقط Up بودن سرور مهم نیست. Reliability هم در طی زمان Up بودن اهمیت خیلی زیادی داره. بعلاوه بخش عمده ای از Down شدنهای سرورهای لینوکس بخاطر ارتقای خودکاری هست که دارن.



> تو سرورهای ویندوزی به راحتی Php اجرا میشن اما تو سرورهای لینوکسی نه!!! این یک موهبت برای برنامه نویس هسات که می تونن در یک سرور از دو غول استفاده کنند و امکانات همدیگرو جوین کنند!!


روی سرورهای لینوکس PHP راحت اجرا نمیشه؟! شاید منظورتون ASP.NET بوده که راحت اجرا نمیشه که اون هم مشکل خاصی نیست. کسی که سراغ غولی مثل لینوکس میاد، هیچوقت خودش رو با ابزارهای مایکروسافت محدود نمیکنه.



> امنیت Asp.net بسیار بالاست و تا الان هنوز حفره مستقیمی در این فریمورک بی نظیر پیدا نشده!!!


اینقدر مطلق صحبت نکنید. از کجا اینقدر مطمئن هستین که حرفه مستقیم توی این فریمورک به قول شما بی نظیر D: پیدا نشده؟ پس اینهمه Service Pack و Hot Fix رو مایکروسافت برای خنده میگذاره؟



> Asp.et با قدرتمندترین Dbms یعنی Sql server 2012  با رمز کد ناتالی بسیار هماهنگه و جالبه بدونین چه امکانات بی نظیری در این Dbms قرار گرفته!!!


در اینکه SQL Server یک DBMS خیلی قوی هست شکی نیست ولی باید ببینید توی دنیای وب که اکثراً از هاستهای اشتراکی استفاده میشه، DBMS انتخابی شما چقدر Resource سیستم رو درگیر میکنه. امتیاز اصلی Oracle فقط سرعتش نیست. مصرف کم منابع سیستم هم هست. MySQL هم که کلاً برای وب بهینه سازی شده چون اکثر جداول دیتابیسهای مربوط به سایتهای وب بیش از چند میلیون رکورد ندارن و این مسئله به خوبی در MySQL پشتیبانی میشه. بعلاوه PHP هم امروزه در سازگاری با MSSQL مشکل خاصی نداره. راستی، ویژگی Open Source فقط بدرد شرکتهای بزرگ نمیخوره. اگه برنامه نویس قابلی باشین، توی یک شرکت کوچک هم میتونید PHP اختصاصی خودتون رو تولید کنید. کاری که ما توی شرکت خودمون انجام دادیم و داریم روی سرور سایتمون ازش استفاده میکنیم.



> نه Php مال ماست نه Asp.net
> ما باید دنبال راحتی خودمون باشیم.


 اتفاقاً اگه به فکر راحتی هم باشیم، PHP سادگی کارکرد و منابع آموزشی فراوان و توسعه و ارتقای بهتر و منظمتر و با درنظرگرفتن نیازهای برنامه نویس رو به ارمغان میاره. کاری که توی NET. و کلاً محصولات مایکروسافت مطرح نیست. مثلاً همین NET. رو درنظر بگیرین. چندبار تا حالا روش کارش رو با دیتابیس تغییر داده؟ خوب برنامه نویس بیچاره که کلی زحمت کشیده و با این ساختار هماهنگ شده چه گناهی کرده که همیشه باید منتظر باشه ببینه مایکروسافت توی نسخه بعدی NET. قراره چطور غافلگیرش کنه؟ مگه کلی از برنامه نویسها با Silverlight به مهارت نرسیدن؟ چرا مسیر توسعه رو تغییر داد؟ چی به سر این برنامه نویسها میاد؟ مگه Data Adapter چه اشکالی داشت که LinQ رو جایگزینش کرد؟ اما درمقابل توی دنیای PHP همه تغییرات آهسته و پیوسته و با اطلاع قبلی انجام میشه. مثلاً تا چند نسخه بعد، یک ویژگی منسوخ شده، هشدار E_DEPRECATED میده ولی برداشته نمیشه تا برنامه ها و برنامه نویسها فرصت بروزرسانی داشته باشن.
بطور کلی مایکروسافت فقط براش پول مهمه نه کسانی که از ابزارهاش استفاده میکنن. تا وقتی که برنامه نویسهای جدید هستن، پشتیبانی از قبلیها براش اهمیتی نداره. این سیاست رو بیش از دو دهه است که به دنیا ثابت کرده.

----------


## mfungroup

آقا دعوا نکنید هر دوی این ها زبان های کامل و حرفه ای و سریع و فوق العاده ای برای طراحی سایت هستن اما همینطور که میدونید کسی که PHP کار میکنه راحت تره چون اکثر هاست سرویس ها php روشون نصبه

اما asp به نظر من بهتره ( البته من خودم php میزنم ) چون تو سمت سرور با asp تمام زبان های برنامه نویسی ماکروسافت رو میشه استفاده کرد که این باعث میشه اگه خیلی حرفه ای عمل کنید سایت شما جزء بهترین و سریع ترین سایت ها محسوب بشه.

----------


## AbiriAmir

> دوستان عزيز اينقدر ساده نباشيد!!!!
> 
> متن باز بودن چه حسني داره؟؟؟
> 
> ايا شما به شخصه امكان توسعه يك محصول متن باز مثل php رو دارين؟؟؟
> 
> كافيه يكم فكر كنين اونجا متوجه ميشين چه كلاهي سرمون رفته با اين متن بازي؟؟!!!!!
> 
> در توسعه اين محصولات معمولا شركت هاي بزرگ سود ميكنن!!! باور نمي كنين:
> ...


دوست عزیز خیلی سطحی نگاه میکنیا...
متن باز بودن که حتما این نیست که من و شما به شخصه بشینیم روش کار کنیم... حتی اگر سوادش رو هم داشته باشیم شاید چندان لازم نباشه چون گروه های بزرگی توی دنیا روش کار میکنن...
شما آیا تاحالا به سود دوطرفه فکر کردید؟
درسته که شرکت Zend از قبال PHP سود زیادی کرده اما منِ برنامه نویس PHP هم سود کردم چرا که هنوزم داره PHP رایگان به دست من میرسه...
درسته که گوگل از قبال اندروید سود زیادی برده اما واقعا من و شما سود نبردیم؟ این همه گوشی با امکانات فراوان... این همه رام های متعدد با امکانات متفاوت که توسط گروه های متعددی در سرتاسر دنیا روشون کار شده به دست من و شما میرسه.

پس میبینید که حتما لازم نیست من و شما بشینیم روی یک سیستم متن باز کار کنیم تا اونوقت بتونیم بگیم متن باز بودن فایده داره...
همین که شرکت بزرگی مثل فیس بوک روی PHP کار میکنه و پروژه های متن باز دیگری مثل HipHop رو ارائه میکنه از مزایای متن باز بودنه.
همین که شرکت های مختلف Samsung ، HTC ، Sony و ... گوشی های خودشون رو با سیستم عامل رایگان و متن باز اندروید ارائه میکنن باعث جلوگیری از انحصارطلبی ، افت قیمت و در نهایت افزایش کیفیت به نفع من و شمای مشتری میشه... هرچند خودمون 1 خط کد از اندروید رو هم ندیده باشیم اما میبینید که سودش داره بهمون میرسه.

پس این همه سرویسی که رایگان توی اینترنت ارائه میشه فکر کردی عاشق چشم و ابروی شما هستن که این سرویس ها رو بهت میدن؟
نه عزیز. گوگل به شما سرویس رایگان ایمیل با کیفیت میده و مسلما خودش هم سود میکنه. همچنین سایر شرکت های دیگه و خدمات رایگان دیگه...

1 بار 1 جایی خوندم (شاید اعداد و ارقام دقیق نباشه) تعداد برنامه نویس هایی که در ماکروسافت روی IE کار میکنن 10000 نفرن ولی بد نیست بدونید برنامه نویس هایی که روی کروم کار میکنن ده ها و صدها هزار نفر از سراسر دنیا هستن چرا که خیلی راحت من و شمای برنامه نویس توی خونمون هم میتونیم روی این پروژه اوپن سورس کار کنیم...
طبیعیه که این سرعت رشد رو افزایش میده.




> تو سرورهای ویندوزی به راحتی Php اجرا میشن اما تو سرورهای لینوکسی نه!!! این یک موهبت برای برنامه نویس هسات که می تونن در یک سرور از دو غول استفاده کنند و امکانات همدیگرو جوین کنند!!


عزیز این حسن PHP هست که روی ویندوز اجرا میشه و نه حسن ویندوز
همچنین این که ASP روی لینوکس اجرا نمیشه عیب ASP هست و نه عیب لینوکس !
( PHP مستقل از سکو هست و ASP وابسته به ویندوز )

نرم افزار برای سیستم عامل توسعه داده میشه نه سیستم عامل برای نرم افزار!




> دلیل بالاتر قیمت سرورهای ویندوزی چیه؟؟؟ آیا تا حالا بهش فکر کردن!!!


شما که بهش فکر کردی بگو ما هم بفهمیم !
فکر نکنم دلیلی جز قیمت لایسنس داشته باشه.
وقتی شما برای ویندوز و MSSQL و هرچیز دیگری که روی سرور نصب میشه باید پول بپردازید طبیعیه که هزینه ها بالاتر میره.




> آپ تایم بودن سرورهای ویندوزی بشترن یا لینوکسی؟؟؟


لینوکسی.

چرا از شاتل فضایی بگیر تا هواپیماهایی که من و شما باهاشون سفر میکنیم تا گوشیِ توی جیبمون تا همون مودم ADSL که الان باهاش به اینترنت وصلی از لینوکس استفاده میکنن و نه ویندوز؟


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

ضمنا این بحث ها ده ها و صدها بار در اینترنت مطرح شده و هیــــــــــچ نتیجه ای هم نداشته.
پس شما هم بیخیالش شید.
اصولا مقایسه های اینچنینی خیلی صحیح نیست.
مثلا اینجا کسانی صحبت از زمان اجرا میکنن که عملا واسه هیچ کدوم چند دهم/صدم ثانیه سرعت اجرا تفاوت خاصی ایجاد نمیکنه.
پس بیشتر این بحث ها عملا بیخود هست.
چون همه ما میدونیم که هر دوی این زبان ها حداقل نیاز های من و شما رو براورده میکنن.

توصیه شخصی من اینه که کسی که یکی از این دو زبان رو بلده راه خودش رو ادامه بده. اگر هم فرصتی داشت نگاهی هم به زبان دیگر داشته باشه. البته بدور از تعصب و با نگاهی باز.

و توصیه من به اشخاصی که میخوان تازه یکی از این دو زبان رو برای یادگیری انتخاب کنن:
این انتخاب دقیقا به زمینه فرد داره. این که از قبل چه زبان هایی رو بلده و دیدگاهش نسبت به برنامه نویسی چیه و بعدا چجوری میخواد از این زبان استفاده کنه... (مثلا استخدام یا استفاده شخصی یا...)
اگر کسی در این مورد سوالی داره بگه تا جداگانه راجع بهش صحبت کنیم.

موفق و پیروز باشید.

----------


## youngold

بار ها این مقایسه انجام شده منم چند وقت پیش یک جواب مختصری دادم که شاید برای نتیجه گیری شخصی کافی باشه :
https://barnamenevis.org/showthread.p...22#post1773522

----------


## AbiriAmir

ضمنا ببینید هک شدن نشان از عیب PHP نیست.
مثلا میگن استفاده از آرایه ها و pointer ها تو C++‎ احتیاط داره چرا که اگر ایندکس اشتباه به آرایه بدید cpp اروری به شما نمیده اما برنامه شما درست کار نمیکنه و ممکنه 1 بخش از رم رو اشتباها 1 عملیات روش انجام بدید... (1 نفر میگفت میخوام محتوای رم رو sort کنم :دی )
خوب بله بعضی مواقع وقتی شما توی 1 زمینه دستت بازتر هست احتیاط بیشتری رو هم میطلبه و این عیب نیست.
این کاملا امری طبیعی هست که وقتی دست شما برای بعضی کارها بازتره احتمال خطا برای افراد نابلد هم بیشتره.
شما 1 پیکان رو هرچقدر انگلکش کنی (:دی) خراب نمیشه ولی بنز رو دستکاری کنی ممکنه هزارجاش بهم بریزه! آیا این برای بنز 1 عیب هست؟
البته توی این مثال منظورم این نیست که امکانات PHP از ASP بیشتره بلکه منظورم اینه که توی PHP دست شما بازتر هست و در نتیجه اشتباهات برنامه نویس ممکنه مشکل امنیتی در سایت ایجاد کنه که صدالبته این عیب PHP بشمار نمیاد. آیا شما خطای برنامه نویس رو جزء معایب زبان بحساب میارید؟
پس این صحبت ها که امنیت PHP کم هست پشتش اصول و منطق وجود نداره.

----------


## youngold

> ضمنا ببینید هک شدن نشان از عیب PHP نیست.
> مثلا میگن استفاده از آرایه ها و pointer ها تو C++‎‎ احتیاط داره چرا که اگر ایندکس اشتباه به آرایه بدید cpp اروری به شما نمیده اما برنامه شما درست کار نمیکنه و ممکنه 1 بخش از رم رو اشتباها 1 عملیات روش انجام بدید... (1 نفر میگفت میخوام محتوای رم رو sort کنم :دی )
> خوب بله بعضی مواقع وقتی شما توی 1 زمینه دستت بازتر هست احتیاط بیشتری رو هم میطلبه و این عیب نیست.
> این کاملا امری طبیعی هست که وقتی دست شما برای بعضی کارها بازتره احتمال خطا برای افراد نابلد هم بیشتره.
> شما 1 پیکان رو هرچقدر انگلکش کنی (:دی) خراب نمیشه ولی بنز رو دستکاری کنی ممکنه هزارجاش بهم بریزه! آیا این برای بنز 1 عیب هست؟
> البته توی این مثال منظورم این نیست که امکانات PHP از ASP بیشتره بلکه منظورم اینه که توی PHP دست شما بازتر هست و در نتیجه اشتباهات برنامه نویس ممکنه مشکل امنیتی در سایت ایجاد کنه که صدالبته این عیب PHP بشمار نمیاد. آیا شما خطای برنامه نویس رو جزء معایب زبان بحساب میارید؟
> پس این صحبت ها که امنیت PHP کم هست پشتش اصول و منطق وجود نداره.



بله، آپشن بیشتر مدیریت بهتر میخواد
مسئله منطقی هست، توی الگوریتم های کد نویسی هم به این مسئله بار ها برخورد میکنیم
اون نقطه ای که باید یک برنامه نویس تشخیص بده آیا با خصوصی سازی بیشتر نیاز داره؟ آیا بهای این خصوصی سازی رو میتونه بپردازه؟ و ده ها نکته دیگه که وابسته به شرایط و ضوابت اون برنامه یک برنامه نویس باید انتخاب بکنه
اینجا هم بحث انتخاب به جاست.

----------


## eshpilen

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

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

کلا بازمتن و آزاد بودن و باز بودن پیچیدگی و هزینه ها و ریسک ها رو به میزان قابل توجهی کاهش میده.
الان هم شما حتی اگر از PHP استفاده نکنید، حتی اگر از لینوکس استفاده نکنید، ولی بسیار بعیده که از دیگر دستاوردهای جنبش نرم افزار آزاد و بازمتن بصورت مستقیم و غیرمستقیم استفاده های مهم و گسترده ای نکنید؛ گرچه خودتون ممکنه متوجه نباشید. الان خیلی فرمتها خیلی پروتکل ها خیلی کدکها خیلی برنامه ها خیلی سرویسها از همین نوع هستن.

ولی البته دنیای غیربازمتن و تجارت و انحصار هم بعضی مزایای خودش رو داره و ضمنا بنظر میرسه باعث رقابت و پیشرفت در حیطه ها و سطوحی میشه که سیستم بازمتن در اون موارد بقدر کافی کارا نیست یا به اون اندازه کارا نیست.
بنابراین بودن هردوی بازمتن و غیربازمتن در کنار هم میتونه برای دنیا بهینه ترین حالت باشه و این دو طرف هر دو کمبودهای هم رو جبران کنن و از زیاده روی ها و انحراف همدیگر جلوگیری بکنن. یک تعادل قوا! بنظر شما جهانی تک قطبی خوبه یا چند قطبی؟

اینقدر دنبال این نباشیم که بگیم فقط یکی.
بنظر بنده برای هردو بقدر کافی جا هست.
و هردو درکل نزدیک هم هستن.
و بنا به نیازها و شرایط و خصوصیات افراد و هدفشون، کفهء ترازو میتونه بین این دوتا نوسان کنه.
مشکلی نیست، زندگی همینه. همه چیز شناور و نسبیه.

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

----------


## eshpilen

حالا اصلا مهم نیست بالاخره فراز و نشیب هست کوچک و بزرگ.
الان بین PHP و ASP.NET رقابت هست.
ممکنه یه زمانی دیر یا زود یکی از اینها شکست بخوره.
بازم مهم نیست.
میگذره.
دوباره بعد از مدتی ممکنه یک محصول از هر شرکتی بجای اون دربیاد.
شاید هم دیگه محصولات بعدی در یکی از این دنیاها باشن فقط. کسی چه میدونه؟
خلاصه همینطور مثل طبیعت میمونه که درش فصول، بلایا، حوادث و دوران های زمین شناسی و غیره رخ میدن. بزرگ و کوچک. تکرارشونده و غیر تکرارشونده (البته اکثرا تکرار شونده هستن یا حداقل احتمال تکرار دارن).  با فواصل زمانی مختلف. کسی اینا رو کنترل نمیکنه و نمیتونه دقیقا پیشبینی کنه، ولی در نهایت طبیعت به تعادل کلی خودش ادامه میده و بقای کرهء زمین و زندگی میلیون ها سال ادامه یافته و درکل رو به تکامل و پیشرفت رفته.
نیازی نیست ما به اینا زیاد فکر کنیم و سعی در پیشبینی و کنترل کامل و دقیق اونا داشته باشیم. اصلا تاحد زیادی نشدنی است.
بلکه ما باید دینامیک و منعطف باشیم و همیشه خودمون رو بصورت Real time با شرایط طبیعت و محیط تطبیق بدیم.
البته در این بین سهم و تلاش خودمون رو هم ادا میکنیم.
بهرحال بازمتن رو هم همین آدمها با تفکر و همت خودشون بوجود آوردن.
پس انسان میتونه در سرنوشت خودش دخالت زیادی داشته باشه.
اما نه اینکه از تغییر و چیزهای ناشناخته و تعدد و تنوع بترسه و بخواد بر این اساس عمل کنه.
سکون و محدودیت و ترس اغلب نمیتونه در درازمدت خوب باشه.
این منجر به عقب ماندگی و هزینه ها و خطرات بیشتری خواهد شد.

----------


## eshpilen

دایناسورها منقرض شدن ولی پستانداران کوچک باقی موندن.
چرا؟
میکروسافت مثل دایناسور میمونه.
بازمتن حقیقتا از اجزای کوچک و پراکنده و مستقلی تشکیل شده.
فقط موضوع اینه که مطمئن نیستیم چه عاملی باعث انقراض دایناسورها شد  :لبخند گشاده!: 

توزیع شدگی خوبه.
اینترنت توزیع شده است.
اینترنت باز است.
اینترنت موفق شد.
بازمتن هم همینه.
توسعهء این تفکر و روش به تولید نرم افزار.
البته از سایدافکت های این روش، مقداری هرج و مرج و بی ثباتی و کیفیتی میانه (نه درجهء بالا) است.

خوب بود؟  :متفکر:

----------


## youngold

موافقم *eshpilen*؛

من چندین سال هست که دارم میبینم بسیاری همکارانمون تایمی رو که به  کنترل این محصولات اختصاص میدن حتی بیشتر از زمان یادگیری متوسطه این هاست در حالی که میتونن به جای این سرگردونی از یک نقطه ای شروع کنن و حداقل در سطح مقدماتی که به یک درکی برسند که بتونند بعدش تشخیص بدن البته با مطالعه کافی
چند تا از دوستان  داشتند بحث میکردنند که با کم مصرف شدن silverlight و جایگزینی دابلیو پی اف آیا همین اتفاق هم آینده برای دابلیو پی اف میفته ؟ اگر میفته ما نریم سراغش؟ من هم گفتم اگر همیجوری پیش برید آینده اش زود میاد و شما هیچ کاری نکردین



حالا که حوصله کردی راجع به اپن سورس حرف بزنی من هم یک دسته بندی هم در تکمیل حرف هات میکنم

- دید فنی میگه باید توسعه سریع باشه بدون حاشیه  و ... (که معمولاً در انحصار دایناسور ها هست)
- دید کلی که شامل بازار نرم افزار و بررسی سیاست های نرم افزاری میشه میگه حاشیه ها رو باید به جون خرید ، باید صد خط کد اضافه هم زد و ... (اپن سورس)

به نظر من هم مطمئن ترین حالت فراگیری هر دو هستش حداقل اونی که بیشتر به کارشون میاد رو ابتدا یاد بگیرن بعد کنارش نیاز دیگری رو حس میکنن غیر از این که نیستش؟
یا میتونن صبر کنن تا دایناسور ها منقرض بشن

اما تخصص این کنار یک تناقضی ایجاد میکنه که کار متمرکز رو میطلبه و یک برنامه نویس رو برای انتخاب به فکر وامیداره
من توی پست های قبلیت دیدم که گفتی تجربه ای در بازار نرم افزار نداری ، به نظرم اینم از یک جهت مقایسه ات رو ناقص میکنه چون اونجا دیگه واقعاً وقتی برای این جور حاشیه ها نیست و وقتی کاری رو شروع کردی دیگه بیش از اونی درگیرش میشی که کنارش بخوای کار مشابه انجام بدی یا حداقل حوصله کار مشابه نداری (که دایناسور ها هم از همین آب ماهی میگیرند)

اما این بین تجربه دیگران راهنمای کار ماست ، آیا نمیبینید به لینوکس  مهاجرت کردند؟ آیا نمیبینید چه هزینه ای برای توسعه وابسته به تغییر پایه  کار متحمل میشوند؟ آیا نمیبینید تعداد پی اچ پی کاران بیش از آی اس پی دات  نت هست چرا نمیبینید ای کسانی که سنگ مایکروسافت به سینه میزنید :دی






> توزیع شدگی خوبه.
> اینترنت توزیع شده است.
> اینترنت باز است.
> اینترنت موفق شد.
> بازمتن هم همینه.


البته  اینترنت هم اینقدر توزیع شد که دیگه قابل مدیریت نیست، بهای این توزیع شدگی رو هم باید بفرمایید که باعث پراکندگی میشه و مدیریت میطلبه به همین دلیل آی اس پی دات نت طرف داران خودش رو داره و انحصار جذاب میشه :




> - دید فنی میگه باید توسعه سریع باشه بدون حاشیه  و ... (که معمولاً در انحصار دایناسور ها هست)
> - دید کلی که شامل بازار نرم افزار و بررسی سیاست های نرم افزاری میشه میگه  حاشیه ها رو باید به جون خرید ، باید صد خط کد اضافه هم زد و ... (اپن  سورس)


با توضیحاتی که دادم و قیاسی که کردم باعث تشویش بیشتر دوستان شد قول میدم الان هیچ کس نمیتونه حدس بزنه من شخصاً آی اس پی دات نت کار میکنم یاد پی اچ پی چون با هر دو بسته به نیاز کار میکنم
اما تکلیف کسانی که نمیتونند هر دو رو کار کنند چی میشه؟ فعلآً اونی که بهش احتیاج دارن یا حداقل ازشون میخوان رو کار کنند شاید تا اون موقع محصول دیگه ای اومد یا بعد در فرصتی بتونند به سراغ هدف بعدیشون برن
برای شروع من اپن سورس رو توصیه میکنم (پی اچ پی) چون در آی اس پی دات نت بسیاری مسائل اولیه در وب سر بسته میمونه و این برای پا گذاشتن به این زمینه خوب نیست اما اگر قبلاً در دات نت سابقه دارند آی اس پی دات نت رو برای شروع توصیه میکنم

----------


## youngold

up.................

----------


## Voodoo14

ASP،بدون تردید  :چشمک:

----------


## youngold

> ASP،بدون تردید


جداً ؟ اون همه بحث شده که به نظرم خیلی جای کار داشت
شما چجوری به این نتیجه رسیدی؟

این حرفتون رو به حساب ناآگاهیتون میزارم ، اینکه میخوای آی اس پی دات نت کار کنی موردی نداره اما "بدون تردید" خیلی مشکل داره

----------


## eshpilen

اصولا ویندوزی ها و بخصوص میکروسافتی ها تفکرشون اغلب بسته تر از لینوکسی ها و بازمتنی هاست و کمتر منطق سرشون میشه  :چشمک: 
کلی واسشون روضه میخونی باز میان دوباره صرف چندتا مزیت و مقایسهء فنی که به نفع ویندوز و میکروسافت باشه رو پیش میکشن.
بابا به خدا همهء دنیا اینا نیست!
همه چیز چندتا مسئلهء فنی جلوی پا نیست.

یه خوبی رفتن در دنیای بازمتن اینه که ذهن آدم باز میشه و اعتمادبنفس و شجاعتش هم میتونه بیشتر بشه.
میفهمه که بدون اونقدر وابستگی به و احساس حقارت در برابر شرکتهای بزرگ تجاری و انحصاری هم خیلی چیزها ممکنه و میتونه برای خیلی کارها کفایت کنه.
اینکه ما اونقدرها هم به اونا نیاز نداریم. یا حداقل همونقدر که ما به اونا نیاز داریم اونا هم به ما و بقیهء جامعه (منجمله بازمتن) نیاز دارن و جزیی از همه هستن.

البته این تاثیرات کم و بیش داره بسته به آدمش و گستره و عمقی که در دنیای نرم افزار آزاد و بازمتن پیش میره.

----------


## youngold

یک نکته دیگه هم هست که به طور کل میشه گفت پی اچ پی خروجی قوی تر و آی اس پی دات نت کدینگ قوی تری داره (البته با صرف نظر از سایر مسائل جزئی)

آی اس پی دات نت کامپایل چند مرحله ای داره ولی کد پی اچ پی مستقیماً توسط کامپایلر تفسیر میشه
همین کامپایل چند مرحله ای در سمت سرور برای آی اس پی دات نت درگیری سی پی یو سرور رو در پی داره، آی اس پی دات نت روی سرور های ویندوزی نمیتواند به اندازه ی پی اچ پی روی سرور های لینوکسی یا حتی ویندوزی خروجی هم زمان داشته باشد

جدا ازین مسائل هم که هر شخص عاقل و بالغی میتونه خودش تست کنه ببینه آیا  response یک صفحه پی اچ پی زودتر میاد یا آی اس پی دات نت که قطعاً پی اچ پی (البته توی یک صفحه خام، چون بعضی ها از کامپوننت های سنگین در آی اس پی دات نت استفاده میکنند)
به خصوص در چند response پشت سر هم کاملاً این قضیه محسوسه

----------


## eshpilen

آخرش ما نفهمیدیم این کامپایل دقیقا چطوریه و خروجیش کجا ذخیره میشه چرا بعدا دوباره استفاده نمیشه.
این سوال قبلا مطرح کردم که هیچکس منجمله کسانی که تبلیغ ASP.NET رو میکنن و باهاش کار میکنن نتونستن جواب روشن و مطمئنی بهش بدن.
مثلا اون خروجی Native آیا جایی روی دیسک ذخیره میشه؟ و اگر بله کجا؟ بعد چرا دفعات بعد از همون دوباره استفاده نمیشه که نیازی به طی مراحل کامپایل نباشه؟
همینطور کد میانی خود دات نت که بنظرم اسمش IL باشه. یه چیزی مثل بایت کد جاوا.

----------


## MMSHFE

کد MSIL روی دیسک ذخیره میشه ولی کد Native هربار در RAM تولید میشه. مثلاً مایکروسافت اومده از Java تقلید کنه ولی یکی نیست بهشون بگه آخه آدم عاقل! وقتی پلتفرم اجرا فقط ویندوزه، چه نیازی به کد واسط هست؟ خوب همون اول Native Code بساز دیگه.

----------


## eshpilen

> کد MSIL روی دیسک ذخیره میشه


کجا و چطور دقیقا؟ تا چه مدتی ازش استفاده میشه؟



> ولی کد Native هربار در RAM تولید میشه.


در هر اجرا منظورتونه؟
خب چرا در هر اجرا این کار دوباره انجام میشه؟ چه نیازی هست؟ میتونه یک بار انجام بشه و برای دفعات بعد هم ازش استفاده بشه، تا زمانیکه فایلهای برنامه تغییر کنن.



> مثلاً مایکروسافت اومده از Java  تقلید کنه ولی یکی نیست بهشون بگه آخه آدم عاقل! وقتی پلتفرم اجرا فقط  ویندوزه، چه نیازی به کد واسط هست؟ خوب همون اول Native Code بساز دیگه.


مگه ویندوز فقط روی معماری PC اجرا میشه؟
پلتفرم اجرا فقط سیستم عامل نیست. پلتفرم شامل سخت افزار و معماری پردازنده و اینا هم میشه.

----------


## youngold

> کد MSIL روی دیسک ذخیره میشه ولی کد Native هربار در RAM تولید میشه. مثلاً مایکروسافت اومده از Java تقلید کنه ولی یکی نیست بهشون بگه آخه آدم عاقل! وقتی پلتفرم اجرا فقط ویندوزه، چه نیازی به کد واسط هست؟ خوب همون اول Native Code بساز دیگه.


بله به دلیل تولید مجدد ناتیو هم تاخیر داریم، این هم من راجع بهش یک مقاله ای خوندم که ظاهراً به خاطر سیاست های آینده اش این کارو کرده اما فعلاً که از پشتیبانی در پلتفرم یا تکنولوژی دیگه خبری نیست

اما این تنها عامل تاخیر توی کامپایل (با کش)  نیست
جدا از این ها و لایه نهایی کامپایل بحث پشت سر گذاشتن دات نت هست، ران تایم و همون داستان های همیشگی دات نت که به نظر من در این خصوص دات نت برای تولید و ارائه یک خروجی وب قوی مناسب نیست

----------


## MMSHFE

> کجا و چطور دقیقا؟ تا چه مدتی ازش استفاده میشه؟


همون فایل exe. که با build ساخته میشه (توی Windows Application) و کدی که بعد از کامپایل تحویل میگیرین که روی وب سایت بگذارین، کد MSIL هست و تا زمانی که کامپایل مجدد انجام نشه، این کد پابرجاست.



> در هر اجرا منظورتونه؟
> خب چرا در هر اجرا این کار دوباره انجام میشه؟ چه نیازی هست؟ میتونه یک بار انجام بشه و برای دفعات بعد هم ازش استفاده بشه، تا زمانیکه فایلهای برنامه تغییر کنن.


بله در هر بار اجرا. دلیلش رو خودم هم نفهمیدم. فکر کنم باید از Microsoft بپرسیم.



> مگه ویندوز فقط روی معماری PC اجرا میشه؟
> پلتفرم اجرا فقط سیستم عامل نیست. پلتفرم شامل سخت افزار و معماری پردازنده و اینا هم میشه.


 نه ولی هرجا از NET. بخوایم استفاده کنیم، باید سیستم عامل Windows حضور داشته باشه. چه روی موبایل، چه روی وب و چه روی PC بصورت Standalone. بخاطر همین من به ویندوز اشاره کردم وگرنه فرمایش شما صحیحه و پلتفرم گسترده تر از سیستم عامله.

----------


## youngold

> مگه ویندوز فقط روی معماری PC اجرا میشه؟
> پلتفرم اجرا فقط سیستم عامل نیست. پلتفرم شامل سخت افزار و معماری پردازنده و اینا هم میشه.


پردازنده و سخت افزار در پیاده سازی دات نت روی سیستم عامل مستقیماً نقشی نداره و دات نت در لایه بالاتری از سیستم قرار داره (یعنی بعد از ویندوز) دات نت هم که فقط ویندوز رو رسماً پشتیبانی میکنه

----------


## eshpilen

> کدی که بعد از کامپایل تحویل میگیرین که روی وب سایت بگذارین، کد MSIL هست و تا زمانی که کامپایل مجدد انجام نشه، این کد پابرجاست.


البته من زیاد با ASP.NET کار نکردم و فقط روی لوکال هم کار کردم، ولی تاجاییکه یادمه همون سورس های معمولی بود که هر بار اجرا میشد و ظاهرا همونا رو باید مستقیما روی هاست میذاشتیم (صفحات با پسوند aspx که محتوی سورس برنامه بودن). البته اگر مثلا یکسری از کدها رو در قالب کتابخانه دربیاریم و dll بشن طبیعتا محتوای اونا MSIL خواهد بود، اما سورس صفحات عادی و بقیهء اجزایی که dll نیستن چطور؟

----------


## eshpilen

> پردازنده و سخت افزار در پیاده سازی دات نت روی سیستم عامل مستقیماً نقشی نداره و دات نت در لایه بالاتری از سیستم قرار داره (یعنی بعد از ویندوز) دات نت هم که فقط ویندوز رو رسماً پشتیبانی میکنه


 بالاخره نهایت برای اجرای هر برنامهء دات نت یک کد باینری اجرایی و Native همون سخت افزار باید تولید بشه دیگه.
صحبت سر همون کد بود که چرا مثلا فایلهای exe دات نت از ابتدا بطور مستقیم به همون کد کامپایل نمیشن بجای اینکه محتوی MSIL باشن.

----------


## youngold

> البته من زیاد با ASP.NET کار نکردم و فقط روی لوکال هم کار کردم، ولی  تاجاییکه یادمه همون سورس های معمولی بود که هر بار اجرا میشد و ظاهرا  همونا رو باید مستقیما روی هاست میذاشتیم (صفحات با پسوند aspx که محتوی  سورس برنامه بودن). البته اگر مثلا یکسری از کدها رو در قالب کتابخانه  دربیاریم و dll بشن طبیعتا محتوای اونا MSIL خواهد بود، اما سورس صفحات  عادی و بقیهء اجزایی که dll نیستن چطور؟


همون ها رو مستقیم روی هاست میزاریم ولی زمانی که iis راه اندازی میکنی موقع فراخوانی این ها کامپایل میشن (بنا به پسوند)
بعد از اون اگر درخواست تکراری وجود داشته باشه کش میشه و اون کد های آی الی که ذخیره شده به ناتیو تبدیل شده و استفاده میشه




> بالاخره نهایت برای اجرای هر برنامهء دات نت یک کد باینری اجرایی و Native همون سخت افزار باید تولید بشه دیگه.


متوجه منظورت هستم، این کد سطح میانی آی ال یک حد واسطی برای کنترل این موضوع هست، میگم که باز هم جز سیاست هاست




> صحبت سر همون کد بود که چرا مثلا فایلهای exe دات نت از ابتدا بطور مستقیم به همون کد کامپایل نمیشن بجای اینکه محتوی MSIL باشن.


به خاطر سیاست های آینده مایکروسافت که ازین سیاست های مُرده زیاد دارند دایناسور ها (مثلاً بخواد تکنولوژی جدیدی ارائه بده دوباره کاری نشه براش)

روشن تر بگم تصور کن بخواد یک پلتفرم دیگه رو پشتیبانی کنه ، برای اینکه دات نت رو به سیستم عامل بفهمونه یک کد واسطی گذاشته که بعد بتونه از روش کد ها ناتیو سخت افزار های دیگه رو تولید کنه
البته فکر کنم به این موضوع واقف هستی

البته جدا از این ها آی ال کاربرد دیگه داره ، من جمله اینکه زبان های دات  نتی رو به هم پیوند داده، شما میتونی از دی ال الی که با وی بی دات نت  نوشته شده در سی شارپ استفاده کنی و برعکس
در این راستا کامپایلر مرحله just in time دات نت هم فقط آی ال رو میفهمه و جزء معابر خروجی دات نت هست که موضوع خودش رو داره

----------


## maysam.m

من با هر دو کار کردم و به نظرم هیچ کدوم از اون یکی بهتر نیستند!
من پی اچ پی رو انتخاب کردم دلایل فراوانی داره که توی اینترنت زیاد مطرح شده اما دلایل خودم این بود که با پی اچ پی خیلی راحت ترم هم کد زدن راحت تره هم احساس کنترل کامل کدها رو داری. 
باید بین لینوکس و ویندوز یکی رو انتخاب کنی که من لینوکس رو انتخاب کردم.

دات نت هم خوبه به نظرم بیشتر برای ساخت برنامه های تحت ویندوز و کارهای دیداری یا ویژوال و سرعت بالایی داره برای ساخت برنامه

----------


## lord_viper

من هم به شخصه هم با asp.net کار کردم هم با php

تو asp.net شما با داشتن vs که یک IDE قدرتمنده و بدون درگیری با چیزهای ریز به راحتی میتونی یه سایت درست کنی و سایتتو تا اونجایی که فریمورک بهت اجازه میده گسترش بدی(یعنی تا وقتی که راهکار مستقیمی براش ارایه کرده باشه اگه نه که ....)
کنترل خوبی روی کدهای خروجی نداری و اگه به کد صفحه نگاه کنی کلی استایل و وب ریسورس به صفحت اضافه میکنه

تو php همه چیز دست خودته اونقدر تابع داره که بتونی هر کاری بکنی و گلیمتو ازش بیرون بکشی سبک و خوشدسته چیزی اضافه تر از کدی که شما نوشتی برات تولید نمیکنه راه افتادن توش یه کم زمان میبره

----------


## sh.n.n786

> امنیت Asp.net بسیار بالاست و تا الان هنوز حفره مستقیمی در این فریمورک بی نظیر پیدا نشده!!!


در پی سخنان ایشون این لینکو ببینید .  :تشویق: 
تعداد صفحات گویای همه چیز هست - من دیگه حرفی برا گفتن ندارم  :لبخند گشاده!: 
http://zone-h.com/archive/notifier=Dz4Hack
http://zone-h.com/archive/special=1/...HE-AjaN/page=2
آهان من نمی گم server linux هک نمیشه اما خیلی سریع بر طرف میشه شما توضیع RedHat رو برسی کنید متوجه میشید که دیگه نفوذ یه کلمه خنده دار میشه :D

----------


## MRmoon

> در پی سخنان ایشون این لینکو ببینید . 
> تعداد صفحات گویای همه چیز هست - من دیگه هرفی برا گفتن ندارم 
> http://zone-h.com/archive/notifier=Dz4Hack


ميشه منظورتو مستقيم بگيد.

شرمنده من متوجه نشدم.

----------


## MMSHFE

ببینید چند صفحه لینک سایتهایی هست که با ASP.NET نوشته شده بودن و هک شدن. سرورهای ویندوز رو درنظر داشته باشین. این بنده خدا (Dz4Hack) کلاً کار اصلیش هک ASP.NET هست.

----------


## arash691

یک سوال ؟ چرا بیشتر سایت های بانک رو با asp.net مینویسن ؟ مثل " ملی - تجارت و ... "

----------


## MMSHFE

دلیلش رو چون خودم مدتی کارمند بانک بودم بهتون میگم:
چون فکر میکنن اینکه ASP.NET برخلاف PHP بصورت Open Source نیست، یعنی امن تره. به قول معروف میگن زبانی که سورسش دست همه هست، امن نیست! کلی مکافات داشتیم تا به مسئول IT بانکی که اونجا مشغول کار بودم بفهمونیم که Open Source بودن یک زبان، باعث کشف و رفع سریعتر نقاط ضعف امنیتیش میشه و همیشه هم ابزارهای Closed Source امن نیستن. بخصوص اگه اون ابزارها محصول مایکروسافت باشن. بعلاوه Open Source بودن PHP ربطی به اینکه سورس سایتهایی که باهاش طراحی میشه دست همه بیفته نداره. در کل خودتون طرز فکر مسئولین رو ببینید، متوجه میشین چرا چنین سیاستی وجود داره.

----------


## AbiriAmir

راستی 1 سوال میپرسم وجدانن دوستان ASP کار راستشو بگن...
خداییش چند درصد از کسانی که از ASP طرفداری میکنن از ویندوزشون تا نسخه SQL SERVER و VS اونها اوریجینال هست؟
دلم میخواد جواب این سوال رو دوستان بدن تا ببینیم وقتی که مجبور باشن چند میلیون تومان فقط بابت این چیزها هزینه کنن آیا باز هم همین طرفداری ها رو میکنن؟

----------


## boysilent

قیمت واقعی ویژوال فک کنم 20 میلیون تومنه

----------


## MMSHFE

http://msdn.microsoft.com/subscriptions/hh442902.aspx
طبق این جدول قیمت، نسخه Ultimate همراه با MSDN تقریباً 49,206,300 تومان میشه. علاوه بر این مبلغ، باید هر ساله 15,721,300 تومان هم برای تمدید License پرداخت کنید.

----------


## eshpilen

واقعا مسخرس که آدم برای برنامه نوشتن نیاز به همچین ابزارهایی با قیمت سرسام آور داشته باشه.

البته واقعیت اینه که برای نوشتن برنامه های دات نت درواقع به چنین ابزارهایی هم نیازی نیست! بدون ویژوال استودیو هم میشه و زیاد هم سخت نیست.

این خارجیها حتما خوب پول درمیارن که استفاده از این ابزارهای گران قیمت واسشون میصرفه.
یعنی اینقدر باید از برنامه هاشون درآمد داشته باشن که اون راحتی و سرعتی که این ابزار بهشون میده در کل سودشون رو اونقدری زیاد کنه که این هزینه رو جبران کنه.

----------


## AbiriAmir

> واقعا مسخرس که آدم برای برنامه نوشتن نیاز به همچین ابزارهایی با قیمت سرسام آور داشته باشه.


البته توی این مورد خیلی با شما موافق نیستم.
این هم دقیقا ابزار کار هست... مثل هر ابزارکار دیگری میتونه قیمت داشته باشه... درست مثل لوازم تراشکاری تا حتی یخچال توی سوپری!

البته این عادت بد ما ایرانیا هم هستا...
یعنی چون همه نرم افزارها دور و برمون رایگان ریخته عادت نکردیم که چیزی که واقعا مورد نیازمون هست رو نصب کنیم...
هممون 1 پک King یا امثالهم رو میخریم و دلمون میخواد از دم همه رو روی کامپیوترمون نصب کنیم !
بهرحال کسی اینچیزا رو میخره که واقعا نیاز بهش داشته باشه و براش سودآور باشه!
1 بار رفته بودم سی دی فروشی، اتفاقی همین 2 نسخه ویژوال استودیو ( Professional و Ultimate ) رو کنار هم دیدم ! کنجکاو شدم ببینم قیمت هرکدوم چنده !
جالبه قیمت پشت جلد هر دو خورده بود 6500 تومان !
2 نسخه از نرم افزار که 12000 دلار تفاوت قیمت دارن اینجا هر دو 6500 تومان!!! طبیعیه که هرکس بخواد بخره به نیازش توجه نمیکنه بلکه میره اون نسخه بالاتره رو میخره !

شاید یکی از دلایلی که همه برنامه نویسای اینجا دارن از اوضاع برنامه نویسی مینالن همینه!
خوب وقتی شما هزینه ای رو پرداخت نمیکنید طبیعیه که کسی که کار حرفه ایش برنامه نویسی نیست هم تفننی وارد این کار میشه و بقول دوستان بازار رو هم خراب میکنه!

البته نمیدونم در این مورد نظر قطعی ندارم... از 1 طرف خاصیت اینترنت همین آزاد بودن و... هست و نمیشه محدودش کرد و از طرفی هم اینطور معایبی هم داره... خودم هم موندم که چی بگم... بهرحال هرچیزی از جمله آزاد و اوپن سورس بودن هم جنبه مثبت داره و هم جنبه منفی.

بهرحال شاید بشه گفت که این عادت بد ما ایرانیاست که متخصص همه چیز هستیم و متخصص هیچ چیز هم نیستیم !
ببینید دنیا داره تخصصی میشه و بلکه هم شده اما متاسفانه ما ایرانیا هنوز میخوایم برنامه ای که لازم داریم رو خودمون بنویسیم، ماشینمون رو خودمون تعمیر کنیم، مهندس ناظر خونمون خودمون باشیم و هزار تا مورد دیگه !
شاید یکی از دلایل عدم پیشرفتمون همینه! اینه که توی همه چیز اظهارنظر و کار میکنیم هرچند حیطه تخصصی خودمون هم نباشه...

البته در این مورد درست نمیشه نظرقطعی داد...

راستی درسته که 43 میلیون واسه ما خیلیه (درامد یکی دو سال ما!) ولی خوب در حقیقت 12000 دلار درامد 2 یا 3 ماه 1 فرد متوسط آمریکایی هست و احتمالا برای شخصی در آمریکا یا اروپا که برنامه نویسی حیطه تخصصی اون هست صرف چنین هزینه ای قابل توجیه هست.

----------


## eshpilen

البته من منظورم این بود که آدم بدون این ابزارها نتونه برنامه بنویسه یا براش خیلی دشوار بشه.
وگرنه که اگر واسه کسی میصرفه خب میتونه بخره و استفاده کنه.

بهرحال یک برنامه نویس واقعی واسه برنامه نوشتن نیاز مبرمی به این ابزارها نداره. یعنی به بن بست نمیخوره به این خاطر و اینطور نیست که اگر محیط ویژوالش رو ازش بگیری در ترس و ناتوانی غرق بشه!!

تاحالا که خوشبختانه در نوشتن هیچ برنامه ای در هیچ زبانی چنین نیاز ضروری ای وجود نداشته.
البته ابزارهای بازمتن هم زیاد هستن که طرف میتونه برای راحتتر و سریعتر کردن کار برنامه نویسی ازشون بهره بگیره.

----------


## mtnam1372

بحث جالبی بود 
من الان یک ساله که دارم توی دانشکده در مورد php بحث میکنم چون اکثر استادامون دوران دانشجوی asp خوندن هیچی از php نمیدونن و بیخودی php گریزی دارن
خوب من همه نکاتی که اشاره کردین رو میدونستم به جز hihop که گفتین این چی هست یکی توضیح بده

----------


## AbiriAmir

> بحث جالبی بود 
> من الان یک ساله که دارم توی دانشکده در مورد php بحث میکنم چون اکثر استادامون دوران دانشجوی asp خوندن هیچی از php نمیدونن و بیخودی php گریزی دارن
> خوب من همه نکاتی که اشاره کردین رو میدونستم به جز hihop که گفتین این چی هست یکی توضیح بده



http://developers.facebook.com/blog/post/2010/02/02/hiphop-for-php--move-fast/
http://en.wikipedia.org/wiki/HipHop_for_PHP


کد PHP رو تبدیل به کد cpp میکنه و بعد کامپایل میشه ;-)

----------


## h.rezaee

سلام. شرمنده پا برهنه وارد بحث میشم پیش شما بزرگواران و متخصصان ایده میدم.
بنده کمی تا قسمتی با asp کار کردم و همچنین php بیشتر.
asp و در کل برنامه هایی که تحت VS طراحی و برنامه نویسی میشن یک سری معایب و یک سری مزایا دارند.
مزایا اونا اینه که برنامه نویسی برای کسایی که تازه می خوان شروع به برنامه نویسی کنن رو راحت تر میکنه. منظورم اینه که بدون اینکه اطلاعاتی از mvc و ..... داشته باشه یک سری از این مطالب طبق ساختار VS خود به خود پیاده سازی میشه و مشکل عظیم و بزرگش ( له نظر بنده ) اینه که اگه یک قسمتی از اون باگ داشته باشه تا رفع نسخه بعدی برنامه ای که با اون طراحی و پیاده سازی شده این مشکل رو داره و همچنین یک بار با یکی از متخصصین حرفه ای در این زمینه صحبت می کردم می گفت که ماکروسافت یک جوری از این طریق جاسوسی میکنه برای شبکه های جاسوسی امریکایی و اسرائیلی ( نمی دونم راستیتش چقدر صحت داره !!!!!!!!!!!!)
و همچنین php هم یکسری مزایا و یک سری معایب داره . معایب اینه که باید از همون صفر خودت همت کنی و برنامه رو بنویسی ( به قول یکی از دوستان با امکانات زمان غارنشینی ) ولی کلی مزایا داره اولی  و مهمترینش هم اینه که خودت برنامه رو پیاده سازی میکنی و هر کجا که باگ داشته باشه سریعا بر طرفش می کنی و نیاز نیست منتظر باشی تا نسخه بعدی بیاد تا باگ بر طرف بشه.
به قول آقای شهرکی ، دقیقا ارگان های دولتی همین جوری هستن، الان یکی از اقوام ما به تازگی وارد بخش برنامه نویسی سازمان بورس شده ، یک بار من هم باهاش رفتم هر چی در مورد مزایای php می گفتیم قبول نمی کردند. ( البته این قضیه واسه 6 ماه پیشه ) . ولی به تازگی زبان های اوپن سورس داره جای خیلی خیلی خوبی در ارگان های دولتی پیدا میکنه. نمونش هم همین که سپاه اقدام به راه اندازی بخشی مربوط به زبان های اوپن سورس کرد. 
اکثر وب سایت های دولتی داره میاد به سمت php. نمونه اش هم همین وب سایت های صدا و سیما و رادیویی که آقای کرامتی فر زحمتشو کشیدن .
همچنین در یک جایی خوندم ( یادم نیست این سایت بود یا جایی دیگه ) که می گفتن نسخه های بعدی php حتی perl و  python رو هم میزاره تو جیبش و با java رقابت میکنه.
ولی به هر حال، هیچ چی php نمیشه.داره هر روز قدرتمند تر از روز قبل میشه.
همچنین این رو هم بگم که هر کسی php بلد باشه ، خیلی راحت میتونه برای زبون های برنامه نویسی دیگه برنامه بنویسه چون منطق برنامه نویسی میاد تو دستش و خیلی راحت در VS کد می نویسه.
بنده حاضرم شرط ببندم که اکثر برنامه نویس های با VS نمی تونن حتی یک خط کد برای ایجاد ارتباط بین CSS و صفحه asp بنویسند.چون میان با Drag Drop این کار رو انجام میدن.

----------


## محسن=0

> مشکل عظیم و بزرگش ( به نظر بنده ) اینه که اگه یک قسمتی از اون باگ داشته باشه تا رفع نسخه بعدی برنامه ای که با اون طراحی و پیاده سازی شده این مشکل رو داره و همچنین یک بار با یکی از متخصصین حرفه ای در این زمینه صحبت می کردم می گفت که ماکروسافت یک جوری از این طریق جاسوسی میکنه برای شبکه های جاسوسی امریکایی و اسرائیلی ( نمی دونم راستیتش چقدر صحت داره !!!!!!!!!!!!)




از نظر باگ وضعیت vC++‎.net چه جوریه؟ اگه اشتباه نکنم Asp.net و VC++‎.net کلا با هم فرق میکنن.

----------

