سلام دوستان عزیزم.
خیلی سلیقه ای هستش این بحث. هر کس بنا به تجربه و تخصص خودش انتخاب می کنه. مطلب رو که می خوندم دیدم متاسفانه دوستان نظراتی که میدن خیلی عامیانه هستش. عموماً نمیشه یک زبان برنامه نویسی رو به تنهایی با زبان دیگه مقایسه کرد. یک نرم افزار خوب مجموعه ای است از ابزارهایی که لایه های واسط کاربری ، نرم افزار و بانک اطلاعاتی و ...
نمیشه گفت به تنهایی کدوم بهتره.
به عنوان مثال من شخصاً از سال 1371 کار با بانک های اطلاعاتی رو شروع کردم و تا الان جزیی جدا نشدنی از کارهای من هستند. به واسطه کارم با همه dbms های عمومی کار کردم. از ابزارهای تکست بگیرید تا بانکهایی که در روز افزایش داده 2 میلیارد رکوردی دارند (ثبت اطلاعات و ترنزاکشن های شرکت های عظیم) که با پلتفرم های Sun/Oracle و DB2 مدیریت می شد.
بهتره بگیم هر کدوم کجا و چطور استفاده میشن و کجا استفاده از این ابزارها اقتصادی تره. مثلاً دوستان فیسبوک یا ناسا رو به عنوان کردند. به نظر شما آیا فیسبوک در پشت پرده اگر از مدیر بانک Mysql استفاده می کرد میتونست این نتیجه رو بگیره؟ یا مثلاً ناسا اگر درلایه داده خودش از Ms-Access استفاده می کرد چطور؟
معمولاً این پلتفرم ها رو بر اساس مزایا و معایب مقایسه می کنند. من نظر خودم رو اینطوری میگم.
پلفترم .net framework
یک فریم ورک رایگان مایکروسافت هستش که تقریباً دسترسی به تمام منابع سیستم رو در اختیار کاربر قرار می ده. همچنین جهت استفاده دروب سایت ها با ترکیب از ساختار تگ ها لایه واسط کاربر ASP.NET هست که از این پلتفرم بهره می بره.
مزایا
- دسترسی به حجم بزرگی از روتین ها و توابع سیستمی
- سرعت عملیاتی بالا به دلیل روش ترجمه (Compiler) و پس از دو سطح رسیدن به زبانی نزدیک زبان ماشین - CLR
- پشتیبانی توسط سیستم های عامل متفاوت (ویندوز و لینوکس: فریم ورک مونو)
- هماهنگی و قابلیت استفاده از زبانهای برنامه نویسی متفاوت مانند C++,C#,f#,j#,vb در یک پروژه (البته فقط درشرایط Compatibility)
- وجود ابزارهای برنامه نویسی بسیار قوی مانند Visual Studio و ابزارهای جانبی
- ابزار ها و فریم ورک های تست راندمان
- پشتیبانی شرکت مایکروسافت در رفع اشکالات در سطح سیستم عامل و فریم ورک
- هزینه کمتر آموزش نیروی کار و سطح دستمزد پرداختی
- قابلیت قرار گرفتن عضوی از یک برنامه وب ، موبایل ، ویندوز ، سرویس یا حتی Unmanaged Code!
- قابلیت دیباگ خط به خط و روتین به روتین کد (Stack Trace) و Watch ها
- تغییر و تخصیص مقادیر متغیر ها همزمان با دیباگ و اجرا در زمان دیباگ کردن
- پشتیبانی فوق العاده عالی (بیرون از ایران) در قبال دریافت پول
- Disaster recovery ساده تر و قابلیت ARR (Application Request Routing)
معایب
- نیاز به منابع زیاد (البته ویندوز 2012 به شکل معجزه آسایی مدیریت منابع رو بهبود داده)
- غیر اقتصادی بودن در پروژه های بسیار بزرگ با سطح درخواست 2 میلیارد درخواست در ساعت
- گران قیمت بودن ابزارهای برنامه نویسی (البته نسخه های کاملاً کاربردی Express رایگان نیز وجود دارد)
- گران قیمت بودن نرخ لایسنس و هزینه های پشتیبانی
پلتفرم PHP
زبان اسکریتپت سمت سروریه که برای ایجاد صفحات وب طراحی شده که البته به گاهی به عنوان زبان اسکریپتینگ عمومی هم استفاده میشه.در سال 1995 توسط راموس لردرف بنیان گزاری شده. در حال حاضر در بیش از 240 میلیون وب سایت این ابزار استفاده میشه. با اینکه php مفسر هستش (Interpreter) اما به اندازه کافی قوی هست که بشه هر نوع خروجی رو ازش گرفت.
مزایا
- کاملاً رایگان بودن ( بجز فریم ورک های جانبی)
- وجود منابع زیاد اطلاعات به دلیل متن باز بودن و وجود تعداد زیادی برنامه نویس که راهنمایی های دوستانه میدن
- تعداد کمتر خطوط برنامه نهایی به نسبت asp.net به دلیل interpreter بودن
- وجود ابزارها و محیط های برنامه نویسی زیاد ( البته به نسبت ضعیف تر از ابزارهای مایکروسافت )
- سادگی پیاده سازی محصول نهایی
- پشتیبانی از اکثر سیستم های عامل به صورت ISAPI و CGI و Core App
- کنترل بالا درکد و reusability
معایب
- سختی برنامه نویسی و درک کد در کار گروهی در صورت عدم رعایت استاندارد های برنامه نویسی
- وابستگی بسیار زیاد به سیستم عامل در نحوه مدیریت منابع
- کندی عملکرد نسبی به دلیل مفسر بودن
- عدم پشتیبانی ذاتی از OOP
- نیاز به زمان زیاد برای رسیدن به یک برنامه نویس حرفه ای
- هزینه دستمزد بالاتر
در مورد امنیت هم لازمه بگم کاملاً بستگی به برنامه نویس و شناختش از امنیت اطلاعات و داده داره. نمیشه گفت php امن تره یا asp.net.
شخصاً انتخاب من پلتفرم مایکروسافت بوده به دلیل اینکه برنامه نویسی راحت تری داشته و سرعت پیاده سازی کد در کار تیمی با توجه به ابزارهای جانبی بیشتر بوده.
به عنوان مثال من میتونم 2 وب سایت رو معرفی کنم که با استفاده از پلتفرم ویندوز ترافیک هایی چند ده و چندصد میلیونی رو بی هیچ مشکلی با حد اقل منابع جواب میدن. علتی که این 2 سایت رو مثال میزنم اینه که طراحی اونها کار خود ما بوده و اطمینان از صحت اطلاعات دارم.
نمونه 1 : تابلو معاملات بازار آتی سکه ، بورس کالای ایران : http://cdn.ime.co.ir در ساعات پیک ترافیک به 25 میلیون هیت در ساعت میرسه.
نمونه 2 : صرافی المپیک صرافی المپیک - اعلام نرخ لحظه ای ارز که در طول روز به طور متوسط 30 میلیون هیت روی وب سرور هستش.
نمونه 3 : سایت ساز سایت بایک سایت بایک! ابزار قدرتمند، سریع و اقتصادی طراحی وب سایت با پشتیبانی از 600 وب سایت بصورت Single Core که روی یک اپلیکیشن در روز بیشتر از 25 میلیون هیت رو جواب میده.
باز هم تاکید می کنم در ابعاد پروژه هایی که ما کار می کنیم هیچ تفاوتی نداره که از چه پلتفرمی استفاده بشه. البته یک برنامه نویسی بد میتونه یک وب سایت رو با 10 تا بازدید کننده هم کند کنه.
دنیای برنامه نویسی دنیای عجیبیه.
نه؟
پیروز باشید.