وان پلاس
6 سال پیش توسط وان پلاس مطرح شد
3 پاسخ

عدم محبوبیت Asp

چرا asp .net دیگر محبوب نیست ؟
و چرا در بین زبان های محبوب برنامه نویسان مثلا( گیت هاب و استک اور فلو ) قرار ندارد ؟


ثبت پرسش جدید
محسن بستان
تخصص : Senior Backend Developer
@mohsenbostan 6 سال پیش مطرح شد
1

@hashemiyanfard
اصلی ترین دلیل ها شا مل موارد زیره :
1 - نیاز به مسلط بودن به C#
2 - هزینه های زیاد ( البته در .net core این مورد کمتر به چشم میاد )
3 - پروسه یادگیری بالا
4 - امنیت نسبتا کمتر از زبان های دیگر
5 - طولانی بودن زمان انجام پروژه ها
6 - سرعت پایین
و ...


سید محمد حسین موسوی
تخصص : FullStack Developer
@SeyedMH.Mosavi 6 سال پیش آپدیت شد
5

@mohsenbostan
1- این که ایراد نیست! برای هر زبان برنامه نویسی شما باید یه چیزی یاد بگیری!! برای django باید پایتون رو یاد بگیری و بعد فریم ورک django که بتونی باهاش وب سایت درست کنی. برای php هم شما یادش می گیری بعد می تونی بصورت pure یا با فریم ورک های اون کار بکنی. اگر بخوای با ruby هم کار کنی برای وب باید ruby on rails رو هم یاد بگیری و ...
اگر شما زبان php رو مسلط نباشی، می تونی یه پروژه باهاش بزنی؟ به هر اندازه که تسلط پیدا کنی، در هر زبانی، پروژه شما هم کیفیتش می ره بالاتر

2- این موضوع دیگه مطرح نیست. الان بیش از یکساله که دیگه شما وابستگی به هیچ چیزی نداری و می تونی سرورت رو لینوکسی کنی. البته خودت هم ذکر کردی :)

3-زبان c# و php و java همه c base هستند. خود زبان سخت نیست اما پروسه یادگیری و حرفه ای شدن در C# از php بیشتره و همینطور از Java کمتره. پایتون هم که از همه راحت تره. این رو بنده نمی گم و امارها می گن. در هر صورت حق با شماست

4- امنیت "خیلی" وابسته به زبان نیست. یه بخشی خود زبانه، یه بخش بسیار زیادی برنامه نویس و دانش اون و بخشی هم وابسته به وب سرور و سرور هست. نمی شه گفت که فلان زبان بطور کلی امنه و فلان زبان نیست.

5- این هم درسته تا حدودی

6- برعکس!!! اتفاقا asp.net بشدت سریع تر از هر زبان دیگه ای هست که شما فکر می کنی! برای اینکه خروجی کدهای شما کامپایل می شه ولی در زبان php یا python یا ... زبان ها مفسری هستند!!! این که شما می گید کندتره واقعا عجیبه!
اینجا هم باز سرعت به یه عامل بر نمی گرده. تو بحث وب، این فقط خود زبان نیست بلکه وب سرور هم مطرحه که چون در زبان های مثل php دست شما بازتر بود، می تونستی وب سرور رو تغییر بدی ولی در asp شما فقط می تونستی از iis استفاده کنی که البته این موضوع برطرف شده.

اما علت اینکه اقبال دنیا به asp.net کمتر بوده چنتا علت داره:
1- همونطور که دوستمون هم گفتند، پروسه یادگیریش طولانی هست. یک چیزی هست که من الان اسمش رو نمی دونم:) تعریفش اینه که اگر بخوای تو یه زبان و تکنولوژی مسلط بشی چقدر چیز باید یاد بگیری. مثلا فرض کنید می خواید یه پروژه با python بصورت حرفه ای کار کنید. باز هم به فرض می گم که برای پایتون اینطوری که خود زبان پایتون، فریم ورک django و یه دیتابیس و تمام
البته باز هم عرض می کنم مثاله.
حالا برای php مثلا این موارد می شه 6 تا
برای asp می شه مثلا 10 تا
برای جاوا می شه 20 تا

-2 ذات زبانی مثل C# و Java اینطوری که برای پروژه هایی با scale متوسط و بزرگ ساخته شدند. مواردی داخل هست که رعایتشون باعث می شه حجم کار شما بیشتر و هزینه های کدنویسی شما افزایش پیدا کنه. بهمین خاطره زبان و فریم ورک های php و ruby on rails و بخصوص python و django انقدر محبوب شده. بخصوص django تو این روزها که هر روز هم داره محبوب تر می شه. علتش هم اینه که سرعت توسعه تو این زبان ها بیشتر اما سرعت اجرای کد کمتر.
هزینه تولید کد و برنامه نویس ها تو همه جای دنیا خیلی خیلی بیشتر از سخت افزاره. بهمین خاطر شرکت ها به این نتیجه رسیدند که از زبان ها و فریم ورک هایی استفاده کنند که سرعت توسعه اشون بره بالا ولی اگر یه مقدار خیلی خیلی کمی سرعت کم شد، تهش می دن یه هزینه به نسبت کمتری می دن و سخت افزار بهتری تهیه می کنند. یا اگر یه بخشی نیاز مهمی به سرعت داشت، اون بخش رو با یه زبان دیگه توسعه می دن.
از طرفی فقط بحث هزینه هم نیست. این روزه رقابت در بازار بسیار شدید و شرکت ها و استارتاپ ها باید بتونند هر چه سریع تر محصولشون رو به بازار عرضه کنند و حتی یک روز دیرتر هم باعث می شه شرکت های رقیب زودتر وارد بازار بشن و سهم بازار رو تصاحب کنند. بهمین خاطر سرعت لانچ پروژه بشدت اهمیتش بیشتر از قبل شده.

3-مایکروسافت در گذشته خیلی بسته رفتار می کرد و بهمین خاطر برنامه نویس ها دل خوشی ازش نداشتند. هر روز می گذشت و زبان ها و فریم ورک های مختلفی ارائه می شد و همه open source بودند و هم سیاست های اشتباهه ماکروسافت باعث شد اقبال جامعه برنامه نویس ها بهش کم و کمتر بشه.

همچنین مواردی مثل هزینه سرور، عدم ارتباط خوب با فریک ورک های جاو اسکریپتی، بالا بودن زمان توسعه پروژه و یه سری موارد دیگه
البته تو asp.net core این مشکلات برطرف شده.
سرعت توسعه بشدت بالا رفته.
بلحاظ سرعت بشدت افزایش پیدا کرده.
asp.net core الان open source هستند و سیاست های ماکروسافت بشدت در این ضمنیه تغییر کرده
قابلیت multi platform بودن رو داخلش خودش اورده
مثل گذشته دیگه وابسته به وب سرور IIS و الزاما سیستم عامل ویندوز سرور نیست.
با زبان های client side هم ارتباطش بسیار بسیار خوب شده
و ...
به نظر می رسه ماکروسافت قدم های خوبی رو با ارائه NET Core برداشته و کم کم در حال بازگشت به دوران اوج خودشه.

اینجا فقط خواستم ایراداتش رو بگم و مواردی که تو نسخه های جدید برطرف شده و هدفم این نبود که بگم ASP بهترین گزینه موجوده. بسته به شرایط کاری و اهداف شما، زبان های مختلفی پیش روی شما خواهد بود.


وان پلاس
تخصص : مدیر وبلاگ پلاس
@Oneplus 6 سال پیش مطرح شد
0

@SeyedMH.Mosavi

سلام آقای موسوی

توضیحاتی بسیار کامل و جامع

ممنون از این که وقت گذاشتین و پاسخ دادین بزرگوار 🌷🌷🌷


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام