loading...
داده پردازان راتین
گروه راتین بازدید : 28 دوشنبه 09 اردیبهشت 1392 نظرات (0)

 مقایسه و انتخاب ابزارهای توسعه نرم افزار همواره یکی از بحثهای داغ برنامه نویسان و توسعه دهندگان نرم افزار بوده است. از مقایسه C و پاسکال تا مقایسه VB و ++VC و Delphi و با ورود به عصر اینترنت مقایسه امکانات perl ، پیتون ، PHP ، ASP و ASP.NET ، JAVA بحثهای بوده است که در فرومها و سایتهای تخصصی همواره به آن پرداخته شده است. البته خیلی اوقات این قضیه از یک بحث فنی تبدیل به بحثی صرفا براساس علاقه و تعصب برنامه نویسان تبدیل شده یا اینکه مقایسه تبلیغاتی برای نمایش ضعف رقیبان و قدرتهای یک ابزار خاص بوده است .
به نظرم مهم است که یک برنامه نویس و توسعه دهنده نرم افزار به زبانها و پلاتفرمهای توسعه نرم افزار صرفا به عنوان یک ابزار نگاه کند و براساس نیازهای کمپانی یا تیم نرم افزاری و نیازهای نرم افزار  پلاتفرم و ابزارهای لازم را انتخاب کنند. مباحثی مثل علاقه شدید به مایکروسافت یا ضدیت با آن به نظرم شیوه حرفه ای و درستی برای انتخاب ابزارهای طراحی و توسعه نرم افزار نیست.
این روزها در ایران مقایسه و انتخاب دو زبان و تکنولوژی خاص یعنی PHP و ASP.NET بحث داغی هستند و البته با گذشت زمان تقریبا هر گروه (بیشتر براساس سیاست شرکتهایی که در آن کار میکنند) یکی از این تکنولوژی ها را به عنوان ابزار اصلی توسعه نرم افزار و سایتها انتخاب کرده است. بارها از من پرسیده شده است که کدامیک از این زبانها انتخاب بهتری است و دلایل آن چیست؟ به عنوان برنامه نویسیکه  در سالهای قبل  علاوه بر ASP با زبان PHP نیز کار می کردم و در این زمینه مقاله، سمینار معرفی کوچکی و فعالیتهای در انجمن سابق ایران  PHP (مانند تابع سورت فارسی ) داشته ام و همچنین در سالهای اخیر نیز   عموما از 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 نوشته اند اما به هر حال در دات نت اینکار بصورت ذاتی و بدون نرم افزار خاص دیگری انجام می گیرد .

شرکت داده پرادازان راتین

www.ratingroup.com

درباره ما
Profile Pic
شركت داده پردازان راتین با استفاده از آخرين تكنولوژي هاي روز جهان و با هدف ارتقای این فن آوری در کشور در سال 1385 راه اندازی شد و در زمینه ارائه راهکارهای IT ، تولید و پیاده سازی نرم افزار های اختصاصی، طراحی سی دی های چند رسانه ای و طراحی سایت در حال فعالیت می باشد.
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • آمار سایت
  • کل مطالب : 21
  • کل نظرات : 7
  • افراد آنلاین : 1
  • تعداد اعضا : 0
  • آی پی امروز : 0
  • آی پی دیروز : 28
  • بازدید امروز : 2
  • باردید دیروز : 30
  • گوگل امروز : 0
  • گوگل دیروز : 2
  • بازدید هفته : 32
  • بازدید ماه : 195
  • بازدید سال : 2,157
  • بازدید کلی : 12,602