ASP.net يا PHP ؟ کدام زبان را ياد بگيريم؟


در برنامه نويسي ،
syntax (گرامر زبان يا همون لغاتي که در زبان براي نوشتن دستورات بکار ميره) خيلي مهم نيست و اون چيزي که زبان ها رو از هم متفاوت ميکنه، دستورات ترکيبي و کتابخانه هايي است که هر کدام براي دسترسي به منابع سيستم در خود دارند.

 

در اينجا تفاوت هاي asp.net رو با Php مي نويسم تا خودتون بهتر بتونيد تصميم بگيريد:

  • ASP.net يک محصول مايکروسافتي است که در مجموعه دات نت ارائه شده است. اما php يک زبان تحت وب اوپن سورس است.
  • برنامه هاي نوشته شده توسط asp.net روي سرور هاي ويندوز قابل اجرا هستند ، اما برنامه هايي که با php توليد ميشوند تحت لينوکس اجرا ميشوند. (البته تحت ويندوز هم ميشه php نصب کرد، اما تحت لينوکس به صرفه تره . چون اجاره سرور لينوکس ارزان تره)
         
  • ASP.net قابليت encode کردن کدهاي نوشته شده سمت سرور را با تبديل آنها به يک فايل DLL فراهم ساخته است (code-Behind) تا حتي کسي که به سرور شما دسترسي دارد هم سورس هاي شما رو نبيند. اما php گزينه کامپايل ندارد . البته يک رمزنگار بنام zend براي php نوشته شده که کاري مشابه encode کردن را بر روي کدهاي php انجام ميدهد.
  •      
  • قابليت هاي شي گرايي در asp.net به دليل قابليت کامپايلي بودن آن و مجتمع شدن با ساير زبان هاي دات نت خيلي بهتر پياده سازي شده است.
  •      
  • Asp.net براي برنامه نويسي هاي سريع بسيار مناسب است. زيرا تعداد بسيار زيادي کتابخانه دارد که کامپوننت هاي مخصوص هر کاري را بصورت آماده در اختيارتان قرار مي دهد . اما در برنامه نويسي با php شما مجبوريد اکثر بخش هاي برنامه نويسي را خودتان بنويسيد و اين وقت زيادي از شما مي گيرد. البته در پروژه هاي بزرگ ، بخش کدينگ چون يکبار نوشته شده و چندين بار استفاده ميشود، در ميزان وقتي که در مقايسه با asp.net مي گذاريد چندان فرقي نمي کند. در ضمن در php گاهي دستان شما بازتر است.
  •      
  • IDE به محيطي برنامه نويسي زبان ها ميگويند. ASP.net تحت Visual Studio نوشته ميشود که در کشورهايي که ملزم به رعايت کپي رايت هستند 4000 دلار قيمت دارد. در حالي که IDE هاي موجود براي زبان PHP معمولا رايگان است. اما در ايران که خداروشکر اين مورد با هزار تومن در درسترس است.
  •      
  • بانک اطلاعاتي مورد استفاده براي زبان هاي دات نت معمولا SQL Server است و بانک اطلاعاتي مرتبط با PHP معمولا MySQL است. تا اين اواخر MySQL امکان نوشتن stored Procedure را نداشت که گويا در نسخه جديدش اضافه شده. قيمت لايسنس SQL server معمولا از my sql بالاتره.
  •      
  • کدهاي رايگان براي هر دو زبان در اينترنت به وفور يافت ميشود و در اين مورد نگراني نداريد.
  •      
  • امکانات URL-Rewriting در زبان PHP ساده تر از زبان هاي دات نتي قابل پياده سازي است. براي اينکار در ريشه سايتي که نوشته ايد يک فايل htaccess ميگذاريد و تنظيمات مربوط به URL Rewriting  را داخل آن تنظيم ميکنيد. اما براي زبان هاي دات نتي شما بايد اين تنظيمات را روي سرور انجام دهيد. به همين دليل اگر پروژه اي نوشته باشيد که بخواهيد در آن از امکانات URL Rewriting استفاده کنيد در حالت برنامه نويسي دات نتي، نيازمند اجاره کردن يک سرور هستيد که اينکار براي پروژه هاي کوچک که با 20 مگابايت هاست کارشون راه ميفته توجيه اقتصادي نداره.
         ((
    URL-Rewriting به ايجاد آدرس هاي مجازي روي سرور ميگن. مثلا آدرس وبلاگ هايي که شما در يک سرويس مانند پرشين بلاگ ميسازيد مجازي هستند. چون هيچ دامنه اي امکان داشتن يک ميليون ساب دامين واقعي رو نداره. پس اينکار توسط شبيه سازي انجام ميشه که بهش URL Rewriting ميگن.))
  •      
  • PHP با زبان خاص خودش نوشته ميشود و چندان هم مشکل نيست. اما ASP.net با استفاده از زبان  هاي دات نتي قابل نوشتن است. که معروف ترين آنها vb.net و سي شارپ است. کدنويسي با استفاده از VB.net براي تازه کارهاي برنامه نويسي خيلي ساده تر است و کد نويسي C# براي دانشجويان رشته نرم افزار که با زبان C آشنايي دارند توصيه ميشه. معمولا هر برنامه نويسي با يکي از اين زبان ها کار ميکند و روي آن زبان متمرکز ميشود. قدرت هر 2 زبان سي شارپ و VB.net  در برنامه نويسي يکسان است و فقط سينتکس آنها متفاوت است.

 

خلاصه اينکه اين دو زبان قدرت يکساني دارند و فقط گاهي براي رسيدن به يک نتيجه خاص در پروژه تان ، با يکي ممکن است بيش از ديگري کد بنويسيد و گاهي برعکس . اما در کل چيزي از هم کم ندارند و اين پارامترهاي تجاري است که تعيين ميکند که در پروژه هاي بزرگ از کدام زبان استفاده شود .

البته من خودم با توجه به اينکه تو ايران هستم و با زبان هاي دات نتي بيشتر کار کردم ترجيح ميدم با ASP.net کد بنويسيم. اما شايد اگر در موقعيت متفاوتي بودم زبان ديگري را انتخاب ميکردم.

  




نظرات:

«» می‌گوید:
«»




گزارش تخلف
بعدی