PDA

View Full Version : حالا تو asp چی داره که تو php نداره؟



mosi2007
شنبه 06 اسفند 1390, 16:30 عصر
ها
سلام
من مدتیه دارم php میخونم و خیلی خوشمم اومده و دارم حال میکنم باهاش
فکر کنم هرچی تو asp است تو php هم است به اضافه متن باز و سرورهای پرسرعت و ارزون
حالا برام سوال شده که چرا شما رفتین سراغ asp?چی داره این asp !

TeacherMath
شنبه 06 اسفند 1390, 17:11 عصر
asp ماکروسافت رو داره.که حمایتش می کنه.البته تا وقتی که توی ایران تقریبا مجانیه.

aminghaderi
شنبه 06 اسفند 1390, 17:41 عصر
هیچی نداره ؟!
هر چی که داخل php و بقیه زبان ها تحت وب داره ، در این هم داره به الاوه مشقت بیشتر در برنامه نویسی Hardcode و راحتی در توسعه به وسیله کامپوننت های موجود.
php از asp.net قوی تر هست چون مختص برای وب طراحی و پیاده سازی شده و الانم که توسعه خوبی داره.
Asp.net برای برنامه نویسان ماکروسافت ایجاد شده و پل ارتباطی بین دنیای دستکتاپ و وب هست که در مقاله ای خوندم دلیل توسعه فریم ورک دات نت همین موضوع بوده و هست ، یعنی توسعه داده شده برای نرم افزار های تحت وب و شبکه.
بگذریم....
و امتیازی که Asp.net داره پک کردن کد های خودش بروی سرور هست که تا جایی که من اطلاع دارم php توانایی این کار رو نداره ، به عبارت دیگه سورس وبسایت asp با روش های موجود تقریبا غیر قابل استفاده مجدد می شه در مهندسی معکوس ولی کد های php زیاد دوام نمی یاره هر چند هم گسسته سازی و از توابع بی معنا هم ساخته بشه ولی کد اون قابل توصیف هست .(به نقل از دوستان بخش php).
کد های c# یا vb رو می شه در اورد ولی به نظر من قابل درک نیست ، یا حد اقل هر کسی توانایی درک اون ها رو نداره.
منظورم باز کردن فایل های dll هست که در هم سازی شده و کلاس های اون به نام های بی معنی تبدیل شده.

اما قدرت php هم در اسکریپتی بودن اون و بدون واسطه (عدم داشتن سیستم کد میانی مثل c#) هست که سرعت ارائه رو خیلی بالابرده حتی در درخواست های بالا .(سایت کلوب دات کام یک نمونه هست)
من php رو می شناسم ولی تا بحال دنبالش نبودم و نیستم ، چون علاقه به سنتکسش ندارم ، ولی Asp.net رو خوب می شناسم ، یعنی از شناخت من دیگه گذشته چون سالهاست کارم هست.

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

امیدوارم پاسخم مفید بوده باشد.
با تشکر.

Leon_SFS
شنبه 06 اسفند 1390, 20:35 عصر
این دو یا هر نوع زبان برنامه نویسیه دیگه چه وب چه اپلیکیشن تقریبا میشه گفت باهم برابرن؛اگه یکیشون یه مزیتی داره به جاش یه عیبی داره که اون یکی نداره(حالا هرچی)
این برنامه نویسه که بسته به نیاز و محدوده کاریش زبانشو انتخاب میکنه

mg_mahyar
شنبه 06 اسفند 1390, 20:50 عصر
کامپایل:
----------زمان کامپایل ASP یبار دفعه اوله ولی PHP چون مفسری هست هر بار کامپایل میشه.(بسته به نیاز میتونه خوب یا بد باشه)

کاربرد:
----------ASP معمولا توی محاسبات استفاده میشه مثل اکثر سایت های دولتی و PHP در انجام کار با فایل مثل فیس بوک

مقایسه:
----------معمولا مقایسه ASP و PHP اشتباهه و ASP رو جاوا (Jee) مقایسه میکنن. برای درک قضیه کسی هست بتونه یک بازی آنلاین با PHP بسازه؟ منظورم باز مبتنی بر محاسبات هستش (برای مثال میتونید به Unity3d ) مراجعه کنید.

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

و قصه سر دراز دارد... هردوشو یاد بگیرید ضرر نداره بعدا راحت میتونید تصمیم بگیرید کدوم مناسبتونه

arefba
شنبه 06 اسفند 1390, 21:40 عصر
اتفاقا تو کلاسی که با استاد کرامتی (ادمین کل سایت) داشتیم این بحث مطرح شد و جواب جالبی شنیدم گفت گاماس گاماس
بعدش تو بعضی از قسمت های تدریس این مقایسه رو انجام داد و اونوقت بود که به قدرت asp.net ایمان آوردم
مثلا شما یه سایت دارین که 5000 کاربر آنلاین داره بعدش شما یه تغییر توی یکی از فایل های اصلی سایت میدین
حالا توی asp چه اتفاقی میفته و توی php چه اتفاقی میفته
جواب سوال قدرت asp رو نشون میده

mosi2007
شنبه 06 اسفند 1390, 22:00 عصر
حالا اگه من اول php رو خوبه خوب یاد بگیرم برام راحتتر میشه که asp رو هم یاد بگیرم یا در کنارش باهم البته اینم بگم که اگه در کنار همدیگه یاد بگیرم امکانش هست که قاطی کنم یا نه؟
بعد اینکه ایا جوملا و وردپرس و دیگر مدیریت محتوا ها از php هستند یا asp هم میتونه از اینا تولید کنه و نام ببرید

mmnoody2006
شنبه 06 اسفند 1390, 23:04 عصر
دوست عزیز بهتره یه تکنولوژی رو فقط یاد بگیرید ولی پیشنهاد من به شما 100% دات نت هست نیاز نیست دلیل خاصی براتون
بیارم تشریف ببرید سایت alexa و چهل پنجاه سایت اول لیست رو بررسی کنید متوجه می شید که همه با دات نت کار شده.

mosi2007
شنبه 06 اسفند 1390, 23:21 عصر
رفتم تو این سایت اول که گوگل بعد فیسبوک بعد یوتیوب و... فکر کنم اینا با php است بعد سوال دومم را که جواب ندادین که ایا cms است که با asp نوشته باشه معروف؟

goldengriff
شنبه 06 اسفند 1390, 23:33 عصر
با اجازه همه ی اساتید:


مقایسه و انتخاب ابزارهای توسعه نرم افزار همواره یکی از بحثهای داغ برنامه نویسان و توسعه دهندگان نرم افزار بوده است. از مقایسه C و پاسکال تا مقایسه VB و ++VC و Delphi و با ورود به عصر اینترنت مقایسه امکانات perl،پیتون،PHP،ASP و ASP.NET، JAVA بحثهای بوده است که در فرومها و سایتهای تخصصی همواره به آن پرداخته شده است. البته خیلی اوقات این قضیه از یک بحث فنی تبدیل به بحثی صرفا براساس علاقه و تعصب برنامه نویسان تبدیل شده یا اینکه مقایسه تبلیغاتی برای نمایش ضعف رقیبان و قدرتهای یک ابزار خاص بوده است.
به نظرم مهم است که یک برنامه نویس و توسعه دهنده نرم افزار به زبانها و پلاتفرمهای توسعه نرم افزار صرفا به عنوان یک ابزار نگاه کند و براساس نیازهای کمپانی یا تیم نرم افزاری و نیازهای نرم افزار پلاتفرم و ابزارهای لازم را انتخاب کنند. مباحثی مثل علاقه شدید به مایکروسافت یا ضدیت با آن به نظرم شیوه حرفه ای و درستی برای انتخاب ابزارهای طراحی و توسعه نرم افزار نیست. این روزها در ایران مقایسه و انتخاب دو زبان و تکنولوژی خاص یعنی PHP و ASP.NET بحث داغی هستند و البته با گذشت زمان تقریبا هر گروه (بیشتر براساس سیاست شرکتهایی که در آن کار میکنند) یکی از این تکنولوژی ها را به عنوان ابزار اصلی توسعه نرم افزار و سایتها انتخاب کرده است. بارها از من پرسیده شده است که کدامیک از این زبانها انتخاب بهتری است و دلایل آن چیست؟ به عنوان برنامه نویسیکه در سالهای قبل علاوه بر ASP با زبان PHP نیز کار می کردم و در این زمینه مقاله (http://www.ccwmagazine.com/Issues/Issue14/software/PHP.ASP)، سمینار معرفی کوچکی و فعالیتهای در انجمن سابق ایران PHP (مانند تابع سورت فارسی (http://www.iranphp.net/articles/code_examples/Articles001.pdf)) داشته ام و همچنین در سالهای اخیر نیز عموما از ASP.NET استفاده کردم و براساس تجربه و اطلاعات شخصی مقایسه مختصری درباره این زبانها را ادامه خواهم داشت. پی اچ پی PHP
زبان PHP با هدف نوشتن اسکریپتهای وب نوشته شد. در واقع هدف فرار از پیچیدگیهای Perl و نوشتن CGI با زبانهایی مثل C و ارائه دستوراتی ساده برای طراحان صفحات وب بود.پی اچ پی اولیه زبانی با دستورات محدود و ساده بود که بیشتر برای کارهای ساده و برای طراحان وب سایتها و نه برنامه نویسان حرفه ای بود. این زبان کم کم پیشرفت کرد و بخصوص Open Source بودن آن باعث شد تسریع این حرکت شد. در مرحله اول تعداد دستورات و توابع این زبان گسترش پیدا کرد بطوریکه امروز نیز براحتی کارهای نسبت پیچیده ای (مثل کار با سوکتها یا تصاویر) با توابع این زبان قابل اجراست.همچنین از لحاظ معماری این زبان با پشتیبانی از شی گرایی پیشرفت مهم دیگری داشته است. پی اچ پی به طور کلی یکی از زبانهای معمول برای نوشتن اسکریپتهای اجرایی در محیط یونیکس ، لینوکس (هرچند که در ویندوز نیز به خوبی اجرا می شود) و کار با نرم افزار مدیریت بانک اطلاعات MySQL است.
تکنولوژی ASP.NET
دات نت نسل جدیدی از ابزارهای توسعه مایکروسافت است. دات نت فقط یک زبان نیست و در واقع یک فریم ورک یا پلاتفرم برای توسعه و اجرای نرم افزار است.دات نت شباهت زیادی با پلاتفرم جاوا دارد و در واقع در رقابت با اوست. ASP.NET نیز نسل جدیدی از ASP کلاسیک در بستر دات نت است و از این جهت پیشرفت بسیار زیادی نسبت به ASP کلاسیک شاهد هستیم.با ASP.NET و با وجود کتابخانه غنی توابع و کلاسهای دات نت تقریبا هر کاری در وب امکان پذیر است. اگر چه مایکروسافت در معماری دات نت هدف اجرا در پلاتفرمها و سیستم عاملهای مختلف را مد نظر داشته است اما حداقل تاکنون میتوان دات نت را یک ابزار توسعه در سیستم عامل ویندوز دانست. البته پروژه هایی برای شبیه سازی و انتقال دات نت به محیط لینوکس نیز وجود دارد که مهمترین آنها پروژه Mono است که پیشرفت قابل توجهی داشته است.انتظار می رود در آینده نزدیک ASP.NET در هر سیستم عامل و پلاتفرمی قابل اجرا باشد.
سیستم عامل
اگرچه اصولا انتخاب ابزار توسعه نرم افزار ارجحیت بیشتری بر انتخاب سیستم عامل دارد اما در دنیای واقعی قضیه به این سادگی نیست و گاهی برنامه نویس براساس سیستم عامل ابزار خود را انتخاب میکند. امروزه تقریبا دو بستر متفاوت داریم از طرفی سیستم عاملهای سرور ویندوز و از طرف دیگر نسخه های مختلف لینوکس و یونیکس. ویندوز ابزار رایج و آشنایی برای کاربران و برنامه نویسان است و از طرفی یونیکس سیستم عامل ارزان تر ( و البته حرفه ای) است. در ویندزو عموما ترکیبی از دانت نت،IIS، SQL Server داریم و در یونیکس PHPو Apache و MySql و مشخص است که هزینه نهایی پیاده سازی و اجرای یک وب سایت در ترکیب لینوکسی ارزان تر است.پی اچ پی در ویندوز نیز قابل اجراست وبخصوص در نسخه های جدید PHP این اجرا شکل بهتری نیز گرفته است. در حال حاضر نسخه اولیه از Mono (دات نت در محیط لینوکس) قابل اجرا است اما حداقل به اندازه PHP رایج نیست. از طرفی نیز ASP.NET ترکیب ایده آلی برای کار با ویندوز و IIS است و در واقع هماهنگی و همخوانی این ابزارها در ویندوز (بخصوص اینکه همگی محصول یک شرکت هستند) شاید یکی از بهترین بسترهای توسعه نرم افزار و وب سایت در ویندوز را پدید می آورند.
معماری
همانطور که اشاره شد پی اچ پی برای طراحان سایت و گریز از پیچیدگی های ابزارها و زبانهای آن روزگار ایجاد شده است و بنابراین PHP اولیه یک ابزار ساده و نه چندان پیچیده بوده است. البته PHP در این سالها ارتقاء پیدا کرده است اما هنوز نقصهای اولیه ای را دارد( مثلا با وجود شی گرایی هنوز دستورات و توابع زیادی از آن ارتباطی با شی خاصی ندارد و یا خاصیتهای حرفه ای شی گرا را ندارد.). اما دات نت فراتر از یک زبان است و مجموعه از کتابخانه های استاندارد و زبانهایی که تقریبا تمام قابلیتهای زبانهای روز دنیا را دارند. سینکس حرفه ای، استاندارد و جذاب #C و یا سینتکس ساده و کارآمد VB.NET و البته #J و ++C و چند زبان دیگر نیز وجود دارند. دات نت کاملا شی گرا است و معماری آن حرفه ای است و از این جهت با JAVA (آنرا را با جاوا اسکریپ اشتباه نگیرید) قابل مقایسه است. در واقع از لحاظ معماری JAVA و دانت نت پلاتفرمهایی با معماری Enterprise هستند و PHP زبانی ساده با تمرکز برای نوشت اسکریپهای وب. شرکت ZEND که در حال حاضر Engine اصلی PHP را ارائه میدهند و برخی شرکتهای دیگر تلاشهایی برای ارتقاء و ایجاد فریم ورک حرفه ای تری برای PHP دارند اما در کل و از لحاظ مهندسی نرم افزار معماری دات نت برتری محسوسی نسبت به PHP دارد.
در بعد دیگر ابزارهای کار با دات نت و آموزه ها و پتانسیل دات نت نوشتن نرم افزارهای با معماری بهتر را امکان پذیر میکند و حتی بصورت پیش فرض معماری چند لایه در دات نت وجود دارد. همچنین نرم افزارهای مهندسی نرم افزار مانند ابزار CASE Tools ، Rational و... همخوانی با دات نت دارند .
یکی از مهمترین تفاوتهای ASP.NET و PHP در شکل اجرای آنهاست. در PHP در هر بار اجرای اسکریپ کدهای PHP تفسیر می شود ولی در دانت نت یکبار کدها کامپایل می شوند و در دفعات بعد کدهای اجرایی هستند که اجرا می شود. از این لحاظ بخصوص در نرم افزارهای تحت وب با حجم کد بالا اجرای کدهای کامپایل شده به مراتب سرعت بیشتری خواهند داشت. البته شرکتهای مختلفی برای PHP ابزارهای accelerator و caching نوشته اند اما به هر حال در دات نت اینکار بصورت ذاتی و بدون نرم افزار خاص دیگری انجام می گیرد.

سرعت توسعه نرم افزار
اگر قرار باشد فقط چند خط برای نوشتن در صفحه یا گرفتن پارامتری از کاربر داشته باشیم مطمئنا نوشتن با PHP ساده تر و سریعتر خواهد بود. اما هدف دات نت تسریع در نوشتن سایتهای بزرگ با فرمها و اطلاعات متعدد است. در ASP.NET از طراحی صفحاتی که web form نامیده می شوند تا حتی دسترسی به بانک اطلاعات و ماهیتهای مختلف اطلاعات، نمایش اطلاعات (مانند جداول) ابزارهای بصری وجود دارند که این در نهایت کار را بسیار ساده تر میکند همچنین برخی مسائل را به راحتی میتوان به فریم ورک دانت نت سپرد (مانند Caching، اعتبار سنجی اطلاعات ورودی authentication و...) همچنین استفاده از کتابخانه غنی دانت نت باعث می شود که نیاز چندانی به استفاده از کتابخانه توابع خارجی نباشد که این در توسعه نرم افزار بصورت تیمی و پشتیبانی یک مزیت به شمار می رود. البته در PHP نیز ابزارهای برای تسریع طراحی و نوشتن اسکریپتها وجود دارند اما هر کدام برای شرکتهای مختلفی است و شکل کار متفاوت است.
سرعت اجرای نرم افزار
همانطور که اشاره شده صفحات و کدهای ASP.NET کامپایل می شوند و قابل حدس است سرعت اجرای آنها نسبت به اجرای اسکریپت PHP بیشتر است و البته این کاملا درست است. اما در واقع شرایط به همین سادگی نیست. در اسکریپتهای PHP مفسر سریعا کدهایی که بایستی تفسیر شوند را اجرا کرده و خروجی را مرورگر کاربر می فرستند. اما در ASP.NET به غیر از کدهای نوشته شده توسط برنامه نویس چندین ماژول در لایه های دیگری نیز اجرا می شوند. (مثلا تنظیمات را میخوانند. خروحی کنترلهای وب فرمها را تولید (Generate) میکنند،اعتبار سنجیها را انجام میدهند) و اینها در سرعت اجرا موثر خواهند بود(البته امکاناتی برا حذف و بهبود سرعت وجود دارد) بنابراین با توجه به تجربه شخصی در اسکریپتهای ساده (در حد چند ده خط) و تعداد دفعات اجرای معمول سرعت اجرای PHP و ASP.NET آنقدرها اهمیت خاص ندارد. توجه کنید که به هر حال نرم افزارهای بر تسریع اجرای PHP نیز وجود دارند. اما در اجرای نرم افزارهای بزرگتر مانند web application هایی که از دهها یا صدها کلاس و لایه های مختلف تشکیل شده اند مطمئنا برتری با نرم افزارهای کامپایل شده خواهد بود. البته میدانید که در نسخه های کامپایل شده نیازی به قرار دادن سورس کدها در وب سایت یا ارائه آن به مشتری نیست که این قضیه برای بسیاری شرکتها (بخصوص برای حمایت از حقوق نرم افزار و همچنین امنیت) یک مزیت به حساب می اید.
یادگیری
پی اچ پی با هدف اولیه سادگی برای استفاده و یادگیری نوشته شده است و تاکنون نیز هدف را منظور کرده است بنابراین میتوان به سادگی گفت که یادگیری و استفاده از 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 گزینه بهتری باشد. در عین حال فکر میکنم دانشجویان و مهندسان نرم افزار ایرانی با توجه به بازار خوبی که در خارج از کشور و همچنین ایران وجود دارد و اینکه یادگیری دانت فقط پیاده سازی صفحات وب نیست و امروز یکی از رایجترین ابزارهای توسعه نرم افزارهای تحت ویندوز است یادگیری دات نت را به عنوان یک گزینه مهم بایستی مد نظر داشته باشند.

mosi2007
یک شنبه 07 اسفند 1390, 00:03 صبح
با اجازه همه ی اساتید:


مقایسه و انتخاب ابزارهای توسعه نرم افزار همواره یکی از بحثهای داغ برنامه نویسان و توسعه دهندگان نرم افزار بوده است. از مقایسه C و پاسکال تا مقایسه VB و ++VC و Delphi و با ورود به عصر اینترنت مقایسه امکانات perl،پیتون،PHP،ASP و ASP.NET، JAVA بحثهای بوده است که در فرومها و سایتهای تخصصی همواره به آن پرداخته شده است. البته خیلی اوقات این قضیه از یک بحث فنی تبدیل به بحثی صرفا براساس علاقه و تعصب برنامه نویسان تبدیل شده یا اینکه مقایسه تبلیغاتی برای نمایش ضعف رقیبان و قدرتهای یک ابزار خاص بوده است.
به نظرم مهم است که یک برنامه نویس و توسعه دهنده نرم افزار به زبانها و پلاتفرمهای توسعه نرم افزار صرفا به عنوان یک ابزار نگاه کند و براساس نیازهای کمپانی یا تیم نرم افزاری و نیازهای نرم افزار پلاتفرم و ابزارهای لازم را انتخاب کنند. مباحثی مثل علاقه شدید به مایکروسافت یا ضدیت با آن به نظرم شیوه حرفه ای و درستی برای انتخاب ابزارهای طراحی و توسعه نرم افزار نیست. این روزها در ایران مقایسه و انتخاب دو زبان و تکنولوژی خاص یعنی PHP و ASP.NET بحث داغی هستند و البته با گذشت زمان تقریبا هر گروه (بیشتر براساس سیاست شرکتهایی که در آن کار میکنند) یکی از این تکنولوژی ها را به عنوان ابزار اصلی توسعه نرم افزار و سایتها انتخاب کرده است. بارها از من پرسیده شده است که کدامیک از این زبانها انتخاب بهتری است و دلایل آن چیست؟ به عنوان برنامه نویسیکه در سالهای قبل علاوه بر ASP با زبان PHP نیز کار می کردم و در این زمینه مقاله (http://www.ccwmagazine.com/Issues/Issue14/software/PHP.ASP)، سمینار معرفی کوچکی و فعالیتهای در انجمن سابق ایران PHP (مانند تابع سورت فارسی (http://www.iranphp.net/articles/code_examples/Articles001.pdf)) داشته ام و همچنین در سالهای اخیر نیز عموما از ASP.NET استفاده کردم و براساس تجربه و اطلاعات شخصی مقایسه مختصری درباره این زبانها را ادامه خواهم داشت. پی اچ پی PHP
زبان PHP با هدف نوشتن اسکریپتهای وب نوشته شد. در واقع هدف فرار از پیچیدگیهای Perl و نوشتن CGI با زبانهایی مثل C و ارائه دستوراتی ساده برای طراحان صفحات وب بود.پی اچ پی اولیه زبانی با دستورات محدود و ساده بود که بیشتر برای کارهای ساده و برای طراحان وب سایتها و نه برنامه نویسان حرفه ای بود. این زبان کم کم پیشرفت کرد و بخصوص Open Source بودن آن باعث شد تسریع این حرکت شد. در مرحله اول تعداد دستورات و توابع این زبان گسترش پیدا کرد بطوریکه امروز نیز براحتی کارهای نسبت پیچیده ای (مثل کار با سوکتها یا تصاویر) با توابع این زبان قابل اجراست.همچنین از لحاظ معماری این زبان با پشتیبانی از شی گرایی پیشرفت مهم دیگری داشته است. پی اچ پی به طور کلی یکی از زبانهای معمول برای نوشتن اسکریپتهای اجرایی در محیط یونیکس ، لینوکس (هرچند که در ویندوز نیز به خوبی اجرا می شود) و کار با نرم افزار مدیریت بانک اطلاعات MySQL است.
تکنولوژی ASP.NET
دات نت نسل جدیدی از ابزارهای توسعه مایکروسافت است. دات نت فقط یک زبان نیست و در واقع یک فریم ورک یا پلاتفرم برای توسعه و اجرای نرم افزار است.دات نت شباهت زیادی با پلاتفرم جاوا دارد و در واقع در رقابت با اوست. ASP.NET نیز نسل جدیدی از ASP کلاسیک در بستر دات نت است و از این جهت پیشرفت بسیار زیادی نسبت به ASP کلاسیک شاهد هستیم.با ASP.NET و با وجود کتابخانه غنی توابع و کلاسهای دات نت تقریبا هر کاری در وب امکان پذیر است. اگر چه مایکروسافت در معماری دات نت هدف اجرا در پلاتفرمها و سیستم عاملهای مختلف را مد نظر داشته است اما حداقل تاکنون میتوان دات نت را یک ابزار توسعه در سیستم عامل ویندوز دانست. البته پروژه هایی برای شبیه سازی و انتقال دات نت به محیط لینوکس نیز وجود دارد که مهمترین آنها پروژه Mono است که پیشرفت قابل توجهی داشته است.انتظار می رود در آینده نزدیک ASP.NET در هر سیستم عامل و پلاتفرمی قابل اجرا باشد.
سیستم عامل
اگرچه اصولا انتخاب ابزار توسعه نرم افزار ارجحیت بیشتری بر انتخاب سیستم عامل دارد اما در دنیای واقعی قضیه به این سادگی نیست و گاهی برنامه نویس براساس سیستم عامل ابزار خود را انتخاب میکند. امروزه تقریبا دو بستر متفاوت داریم از طرفی سیستم عاملهای سرور ویندوز و از طرف دیگر نسخه های مختلف لینوکس و یونیکس. ویندوز ابزار رایج و آشنایی برای کاربران و برنامه نویسان است و از طرفی یونیکس سیستم عامل ارزان تر ( و البته حرفه ای) است. در ویندزو عموما ترکیبی از دانت نت،IIS، SQL Server داریم و در یونیکس PHPو Apache و MySql و مشخص است که هزینه نهایی پیاده سازی و اجرای یک وب سایت در ترکیب لینوکسی ارزان تر است.پی اچ پی در ویندوز نیز قابل اجراست وبخصوص در نسخه های جدید PHP این اجرا شکل بهتری نیز گرفته است. در حال حاضر نسخه اولیه از Mono (دات نت در محیط لینوکس) قابل اجرا است اما حداقل به اندازه PHP رایج نیست. از طرفی نیز ASP.NET ترکیب ایده آلی برای کار با ویندوز و IIS است و در واقع هماهنگی و همخوانی این ابزارها در ویندوز (بخصوص اینکه همگی محصول یک شرکت هستند) شاید یکی از بهترین بسترهای توسعه نرم افزار و وب سایت در ویندوز را پدید می آورند.
معماری
همانطور که اشاره شد پی اچ پی برای طراحان سایت و گریز از پیچیدگی های ابزارها و زبانهای آن روزگار ایجاد شده است و بنابراین PHP اولیه یک ابزار ساده و نه چندان پیچیده بوده است. البته PHP در این سالها ارتقاء پیدا کرده است اما هنوز نقصهای اولیه ای را دارد( مثلا با وجود شی گرایی هنوز دستورات و توابع زیادی از آن ارتباطی با شی خاصی ندارد و یا خاصیتهای حرفه ای شی گرا را ندارد.). اما دات نت فراتر از یک زبان است و مجموعه از کتابخانه های استاندارد و زبانهایی که تقریبا تمام قابلیتهای زبانهای روز دنیا را دارند. سینکس حرفه ای، استاندارد و جذاب #C و یا سینتکس ساده و کارآمد VB.NET و البته #J و ++C و چند زبان دیگر نیز وجود دارند. دات نت کاملا شی گرا است و معماری آن حرفه ای است و از این جهت با JAVA (آنرا را با جاوا اسکریپ اشتباه نگیرید) قابل مقایسه است. در واقع از لحاظ معماری JAVA و دانت نت پلاتفرمهایی با معماری Enterprise هستند و PHP زبانی ساده با تمرکز برای نوشت اسکریپهای وب. شرکت ZEND که در حال حاضر Engine اصلی PHP را ارائه میدهند و برخی شرکتهای دیگر تلاشهایی برای ارتقاء و ایجاد فریم ورک حرفه ای تری برای PHP دارند اما در کل و از لحاظ مهندسی نرم افزار معماری دات نت برتری محسوسی نسبت به PHP دارد.
در بعد دیگر ابزارهای کار با دات نت و آموزه ها و پتانسیل دات نت نوشتن نرم افزارهای با معماری بهتر را امکان پذیر میکند و حتی بصورت پیش فرض معماری چند لایه در دات نت وجود دارد. همچنین نرم افزارهای مهندسی نرم افزار مانند ابزار CASE Tools ، Rational و... همخوانی با دات نت دارند .
یکی از مهمترین تفاوتهای ASP.NET و PHP در شکل اجرای آنهاست. در PHP در هر بار اجرای اسکریپ کدهای PHP تفسیر می شود ولی در دانت نت یکبار کدها کامپایل می شوند و در دفعات بعد کدهای اجرایی هستند که اجرا می شود. از این لحاظ بخصوص در نرم افزارهای تحت وب با حجم کد بالا اجرای کدهای کامپایل شده به مراتب سرعت بیشتری خواهند داشت. البته شرکتهای مختلفی برای PHP ابزارهای accelerator و caching نوشته اند اما به هر حال در دات نت اینکار بصورت ذاتی و بدون نرم افزار خاص دیگری انجام می گیرد.

سرعت توسعه نرم افزار
اگر قرار باشد فقط چند خط برای نوشتن در صفحه یا گرفتن پارامتری از کاربر داشته باشیم مطمئنا نوشتن با PHP ساده تر و سریعتر خواهد بود. اما هدف دات نت تسریع در نوشتن سایتهای بزرگ با فرمها و اطلاعات متعدد است. در ASP.NET از طراحی صفحاتی که web form نامیده می شوند تا حتی دسترسی به بانک اطلاعات و ماهیتهای مختلف اطلاعات، نمایش اطلاعات (مانند جداول) ابزارهای بصری وجود دارند که این در نهایت کار را بسیار ساده تر میکند همچنین برخی مسائل را به راحتی میتوان به فریم ورک دانت نت سپرد (مانند Caching، اعتبار سنجی اطلاعات ورودی authentication و...) همچنین استفاده از کتابخانه غنی دانت نت باعث می شود که نیاز چندانی به استفاده از کتابخانه توابع خارجی نباشد که این در توسعه نرم افزار بصورت تیمی و پشتیبانی یک مزیت به شمار می رود. البته در PHP نیز ابزارهای برای تسریع طراحی و نوشتن اسکریپتها وجود دارند اما هر کدام برای شرکتهای مختلفی است و شکل کار متفاوت است.
سرعت اجرای نرم افزار
همانطور که اشاره شده صفحات و کدهای ASP.NET کامپایل می شوند و قابل حدس است سرعت اجرای آنها نسبت به اجرای اسکریپت PHP بیشتر است و البته این کاملا درست است. اما در واقع شرایط به همین سادگی نیست. در اسکریپتهای PHP مفسر سریعا کدهایی که بایستی تفسیر شوند را اجرا کرده و خروجی را مرورگر کاربر می فرستند. اما در ASP.NET به غیر از کدهای نوشته شده توسط برنامه نویس چندین ماژول در لایه های دیگری نیز اجرا می شوند. (مثلا تنظیمات را میخوانند. خروحی کنترلهای وب فرمها را تولید (Generate) میکنند،اعتبار سنجیها را انجام میدهند) و اینها در سرعت اجرا موثر خواهند بود(البته امکاناتی برا حذف و بهبود سرعت وجود دارد) بنابراین با توجه به تجربه شخصی در اسکریپتهای ساده (در حد چند ده خط) و تعداد دفعات اجرای معمول سرعت اجرای PHP و ASP.NET آنقدرها اهمیت خاص ندارد. توجه کنید که به هر حال نرم افزارهای بر تسریع اجرای PHP نیز وجود دارند. اما در اجرای نرم افزارهای بزرگتر مانند web application هایی که از دهها یا صدها کلاس و لایه های مختلف تشکیل شده اند مطمئنا برتری با نرم افزارهای کامپایل شده خواهد بود. البته میدانید که در نسخه های کامپایل شده نیازی به قرار دادن سورس کدها در وب سایت یا ارائه آن به مشتری نیست که این قضیه برای بسیاری شرکتها (بخصوص برای حمایت از حقوق نرم افزار و همچنین امنیت) یک مزیت به حساب می اید.
یادگیری
پی اچ پی با هدف اولیه سادگی برای استفاده و یادگیری نوشته شده است و تاکنون نیز هدف را منظور کرده است بنابراین میتوان به سادگی گفت که یادگیری و استفاده از 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 گزینه بهتری باشد. در عین حال فکر میکنم دانشجویان و مهندسان نرم افزار ایرانی با توجه به بازار خوبی که در خارج از کشور و همچنین ایران وجود دارد و اینکه یادگیری دانت فقط پیاده سازی صفحات وب نیست و امروز یکی از رایجترین ابزارهای توسعه نرم افزارهای تحت ویندوز است یادگیری دات نت را به عنوان یک گزینه مهم بایستی مد نظر داشته باشند.
اینطوری که شما گفتین باید زبان php رو ریخت سطل اشغال:خجالت::شیطان: و به کلی همه شرکتها که دارند توسعه میدن php رو مثل همین zend رو با این قیاستون زیر سوال بردین و اگه این پست تون رو بخونن شاید از غصه دق کنن و بفهمن که تا حالا کار بیهوده ای میکردن :تشویق::افسرده::قهقهه:
حداقل یه طوری تعصب نشون میدادین که تابلو نمیشد
حالا شما که دارین این حرفا رو میزنین تا حالا phpکار کردین و اگه اینطور بوده یه چند تا سایتی که برنامهنویسی کردین رو لینک بدین ببینیم و اگه کار نکردید که این قیاستون مشخصه که از روی تعصب بوده
ضمنا من اینو عرض کنم خدمت شما که من به عنوان شخص بی طرف این سوالو پرسیدم میخام ببینم که کدومش بهتره ؟

mg_mahyar
یک شنبه 07 اسفند 1390, 09:54 صبح
حالا اگه من اول php رو خوبه خوب یاد بگیرم برام راحتتر میشه که asp رو هم یاد بگیرم یا در کنارش باهم البته اینم بگم که اگه در کنار همدیگه یاد بگیرم امکانش هست که قاطی کنم یا نه؟
بعد اینکه ایا جوملا و وردپرس و دیگر مدیریت محتوا ها از php هستند یا asp هم میتونه از اینا تولید کنه و نام ببرید
اولا ربطی به هم نداره.
پیشنیاز php دونستن مبانی برنامه نویسیه ولی پیش نیاز ASP دانستن C# winForm هست.
در هر صورت پیشنهاد میشه هر کدومو میخونی بخون ولی حتما رعایت همنیاز و پیشنیاز رو بکن.

دوست عزیز بهتره یه تکنولوژی رو فقط یاد بگیرید ولی پیشنهاد من به شما 100% دات نت هست نیاز نیست دلیل خاصی براتون
بیارم تشریف ببرید سایت alexa و چهل پنجاه سایت اول لیست رو بررسی کنید متوجه می شید که همه با دات نت کار شده.
تعداد بازدید توی الکسا هیچ ربطی به تکنولوژی نداره و این حرف رو غلط میدونم. ممکنه یه نفر یه خبر رو توی HTML بنویسه و بزاره و میلیارد ها نفر بخونن و رتبه السا بشه 1 بعدا بگیم HTML بهتر بوده؟؟؟؟؟؟؟



رفتم تو این سایت اول که گوگل بعد فیسبوک بعد یوتیوب و... فکر کنم اینا با php است بعد سوال دومم را که جواب ندادین که ایا cms است که با asp نوشته باشه معروف؟
معروف نه.
چون اکثرا پروژه های تجاری هست و اختصاصی نوشته میشه ولی PHP ها خیلیاشون اپنسورسه و رایگان برای همین معروفتر و پرکاربرد تره.ولی DotNetNuke رو میشه اسم برد که معروفه و رایگان و اپنسورس و با ASP هم نوشته شده.

AMIBCT
یک شنبه 07 اسفند 1390, 10:11 صبح
اتفاقا تو کلاسی که با استاد کرامتی (ادمین کل سایت) داشتیم این بحث مطرح شد و جواب جالبی شنیدم گفت گاماس گاماس
بعدش تو بعضی از قسمت های تدریس این مقایسه رو انجام داد و اونوقت بود که به قدرت asp.net ایمان آوردم
مثلا شما یه سایت دارین که 5000 کاربر آنلاین داره بعدش شما یه تغییر توی یکی از فایل های اصلی سایت میدین
حالا توی asp چه اتفاقی میفته و توی php چه اتفاقی میفته
جواب سوال قدرت asp رو نشون میده
چه اتفاقی می‌افتد؟

بستگی به برنامه نویس دارد
چند تا از بزرگ‌ترین سایت‌های جهان از جمله فیسبوک، ویکیپدیا، SourseForge و ... با php هستند و هیچ مشکلی هم ندارند
البته اگر یک برنامه‌نویس مبتدی بخواهد با php برنامه بنویسد با مشکل مواجه می‌شود
در حالی که با دات نت بخواهد بنویسد چند تا کامپوننت را داخل سایت می‌کشد و سایت را انتشار می‌دهد
دیگر نمی‌فهمد که چه اتفاقی در حال انجام است

Saman Hashemi
یک شنبه 07 اسفند 1390, 10:53 صبح
این بحث نخ نما شده هر از گاهی یکی میاد یه سوال مطرح میکنه که php بهتره یا asp؟همه میریزن به جون هم که اینی که ما کار میکنیم بهتره...!
البته فکر نکنم به غیر از فروم های فارسی کسی دنبال این سوالهای خفن باشه...!
یعنی شما تو زندگی همیشه دنبال مقایسه برندهایی؟
بنز بهتره یا بی ام و؟
سامسونگ یا اپل؟
...
دوست عزیز هر کدوم از اینا محاسنی دارند شما باید ببینی که با کدوم راحتری بعد شرایط کاری و علمی و پیشرفت و... مقایسه کنی؟
آیا کسی پیدا میشه بگه C++ یا VC++ به درد نمیخوره؟ اما واقعا تو ایران کار براش کمه و اگه بخوایی باهاش کسب درآمد کنی باید واقعا با سواد باشی...!
الان تو ایران تعداد شرکت هایی که asp کار میکنن بیشتره چون هم توسعه نرم افزار باهاش سریعتر انجام پذیره هم یاد گرفتنش برای افراد آماتور...!
بعدم شرایط کشورهای دیگر با ایران مقایسه نکنید تو ایران همه چی اپن سورس و مجانی...!
در ضمن اونایی که میگن php اپن سورس شرکت شما تا حالا چه استفاده ازین مزیت کرده؟
بحث سرعت هم فقط به زبان یا تکنولوژی ربطی نداره هزارتا دلیل داره که تو ایران بیشتر دلیل کندی نرم افزارها بی سوادی برنامه نویس...!
هر دوتا زبون بی نهایت cms رایگان دارند...!
در آخر آدم c کار کنه اما حرفه ای و اصولی کار کنه بهتره تا asp.net و php کار کنی اما بیسواد باشه...!

aserfg
دوشنبه 08 اسفند 1390, 09:41 صبح
وجود زبانهای گوناگون و یا تکنولوژیهای متفاوت همیشه به علت برتری یکی بر دیگری نیست . بلکه به خاطر وجود تفکرات متفاوت و به دنبالش سلیقه های گوناگون و شرایط مختلف است . به عنوان مثال من اگر روزی php به این حد برسه که با نگاه کردن به مانیتور خودش برنامه رو بنویسه ! بهش فکر هم نمی کنم . این به خاطر بدی php نیست با سلایق من جور نیست . شما هم برای انتخاب یکی از این دو تا بهتره به قابلیتهای خودتون فکر کنید . بعضیها asp.net رو تنها یه سری کامپوننت می دونند که با درگ کردن اونا روی فرم می تونن به مانند برنامه های دسکتاپ برنامه بنویسن . اینها همونهایی هستن که باعث شدن (خصوصا توی ایران) خیلیها برداشتهای بدی از asp.net داشته باشند .

raika17metal
دوشنبه 08 اسفند 1390, 10:00 صبح
به نظر من عصر حاضر از دنیای برنامه نویسی و وبسایت و نرم افزار متعلق به دات نت هستش دلیلش هم کاملا واضح هستش "زبان پر قدرت و محبوب سی شارپ"
سی شارپ جوان در حال کنار زدن Java هستش و ASP.NET در حال کنار زدن PHP
از قدرت و محبوبیت سی شارپ و کلا دات نت همین بس که سایت Oracle کامپوننت هایی برای کار با دات نت تو صفحه اصلی اش قرار داده!!!!
در مقایسه ASP.NET و PHP هم همین بس که شما اگه تونستید ابزاری مثل Telerik رو توی PHP پیدا کنید حتما برید سراغش!!!!

kimm66
دوشنبه 08 اسفند 1390, 11:50 صبح
من با 2 تاش کار کردم.فقط 1 چی میتونم بگم : php عالیههههههههههههه و Asp فقط اعصاب خرد کنه.مرگ بر ASP

nariman_t
یک شنبه 18 تیر 1391, 20:55 عصر
mmnoody2006 (http://barnamenevis.org/member.php?79279-mmnoody2006)
http://barnamenevis.org/images/statusicon/user-offline.png حرف شما کاملا اشتباهه تمام سایتهایی که پر ترافیک هستن با php درست شدن این حرف رو جای دیگه نزنید میخندن بهتون google و facebook که نمونه های بارز هستن هر دو از php و دیتابیس mysql استفاده میکنند تنها چیزی که میتونید بگید اینه که ایرانی ها همیشه راحت طلب بودند و micorsoft از این نکته استفاده کرده و همرو موعتاد خودش

masoud.2010
شنبه 09 دی 1391, 14:32 عصر
آقا
پي اچ پي كارا اينور
اي اس پي كارا اونور
و بقيه اونورتر
برا همه جا هست

هر كي مي تونه كار خوب كنه پول دربياره

در پروژها هرگز زبان برنامه نويسي مطرح نميشه بلكه ماهيت سايت كه مطرحه

بهترين سايت دنيا رو ميخواي بنويسي ، بنويس ، حالا اگه دوست داري با اسبلي بنويس !!!!!!!!!!!

aminmorteza
شنبه 09 دی 1391, 22:19 عصر
به نظر بنده فرقی نمیکنه چون سایت نویسی که php ,asp.net نیست خیلی چیزها رو آدم باید یاد بگیره تا بتونه یک طراح وب سایت بشه از جمله گرافیک javascript,jquery,html,css,xml,sql,سی شارپ,امنیت و غیره...که تقریبا تویه دوتاشون مشترک هستش.(البته به غیر از سی شارپ)به نظر من مفاهیم مهمه من خودم asp.net شروع کردم بعد از یک مدتی رفتم php هم کار کردم سریع تونستم php رو هم یاد بگیرم چون باز هم تقریبا مفاهیم مشترکی دارند البته بنده php رو به طوره تخصصی کار نکردم ولی چون مفاهمیشون یکی هستش(,....session,cookie,querystring) سریع یاد گرفتم کد نویسش هم که خیلی شبیه سی شارپ یا سی هستش.دیگه مشکل چیه شما اینقدر بحث میکنید راحت میشه اون یکی رو هم یاد گرفت...

refugee
پنج شنبه 28 دی 1391, 18:38 عصر
ولا منم این سوال رو از معلمومون کردم که کدام بهتره asp یا php اونم گفت هر کدام خوبی و بدی داری ...

ولی بیشتر از پی اچ پی تعریف کرد تا ای اس پی ؛

گفت asp چون تحت ویندوز کار میکنه باید وقتی کامل شد و خواستیم آپلود کنیم قبلش باید کامپایل کنیم فایل ها رو و وقتی روی سرور قرار میگیره برای اولین بار یه مقدار از رم سرور رو میگیره و افرادی که هاستینگ میدن معمولا هر 15 دقیقه بخاطر فشار نیاد روی سرور کش های رم رو خالی میکنن و این یعنی هر 15 دقیقه فایل های ای اس پی باید دوباره لود بشه و سنگین میکنه سایت رو ... در حالی که پی اچ پی اینطور نیست .
و دیگه اینکه اگه توی سایتی که با ای اس پی نوشته شده باگ داشته باشه و .. که باید تعمیر بشه باید تمامی فایل ها روی کامپیوتر طراح قرار بگیره تعمیر بشه و دوباره کامپایل بشه و روی سرور آپلود کنی ... در حالی که فایل های پی اچ پی رو همونجا داخل نوت پد هاست تغییر میدی و ذخیره میکنی ..

و اینم گفت که کد نویسی با ای اس پی باگ زیاد داره و هر روز مجبوری باگ گیری کنی ولی سایتهای پی اچ پی اینجوری نیست ..


من در این مورد از خیلی ها پرسیدم و گفتن که پی اچ پی سرعت بهتری نسبت به ای اس پی داره .. و کلا PHP بهتر از ASP است ./



گفته دیگران و نقل کردم و خودم اطلاعاتی در این زمینه برای فعلا ندارم ...

silverfox
پنج شنبه 28 دی 1391, 21:54 عصر
و اینم گفت که کد نویسی با ای اس پی باگ زیاد داره و هر روز مجبوری باگ گیری کنی...
عذر می خوام این معلمتون تدریس خصوصی به صورت فشرده هم انجام می دن؟

meisam3322
جمعه 29 دی 1391, 00:01 صبح
از مدیران محترم خواهش میکنم این تاپیک رو حذف کنن ، خجالت داره از این همه بحث های بی معنی ، بی منطق و بدون دلایل و استدلال و ... :عصبانی:

ordebehesht
جمعه 29 دی 1391, 00:16 صبح
به نظر من این بحثا خوبه چرا که ما برنامه نویسها و دیگر کاربرا بیشتر به ماهیت تکنولوژیها روز آشنا تر بشیم و به درک سالمی برسیم اما بدور از جدل و بحثای افراطی...............:لبخندساده::ل بخندساده::لبخندساده::لبخندس اده::لبخندساده::لبخندساده:

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