در برنامه نویسی ،
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
کد بنویسیم. اما شاید اگر در موقعیت متفاوتی بودم زبان دیگری را انتخاب میکردم
.