پروگراما | Programma
پروگراما | Programma
خواندن ۲ دقیقه·۱ ماه پیش

آیا جاوااسکریپت واقعاً زبان بدی است؟

توجه! : منبع این مقاله پروگراما است جهت دیدن سایت قسمت کامنت هارو چک کنید.


مقدمه

جاوااسکریپت، زبانی که همون‌قدر که محبوبه، منفوره!
هزاران برنامه‌نویس عاشقشن، هزاران نفر دیگه نمی‌تونن تحملش کنن.
از طرفی پادشاه فرانت‌اند حساب می‌شه، از طرف دیگه هزاران شوخی و میم (meme) درباره باگ‌هاش ساخته شده.
توی این مقاله می‌خوایم بررسی کنیم که چرا جاوااسکریپت انقدر دو قطبیه، آیا واقعاً زبون بدیه یا فقط بدفهمی پشتش هست.

بخش اول: چرا جاوااسکریپت تا این حد محبوبه؟

  • تنها زبان رسمی مرورگرها
  • قدرت اجرای کد در کلاینت و سرور (با Node.js)
  • یادگیری نسبتاً ساده
  • اکوسیستم بزرگ و جامعه فعال
  • فریمورک‌های قدرتمند مثل React، Vue، Angular
  • هزاران ابزار، کتابخانه و منابع آموزشی رایگان
  • امکان ساخت وب، موبایل، دسکتاپ، حتی بازی با همین یه زبان


بخش دوم: چرا خیلی‌ها از جاوااسکریپت متنفرن؟

  • سیستم تایپ داینامیک و خطاهای عجیب‌غریب ([] + [] = "" یا [1] + [1] = "11")
  • نبود type-checking (تا قبل از TypeScript)
  • تاریخچه‌ی شتاب‌زده در طراحی اولیه زبان
  • تفاوت‌های رفتاری بین مرورگرها (که البته الآن خیلی کمتر شده)
  • مشکلات مربوط به this، scope، hoisting و ... که برای تازه‌کارها دردسرسازن
  • Callback Hell و async complexities (تا قبل از async/await)

بخش سوم: آیا اشکال از خود زبانه یا نحوه استفاده؟

جاوااسکریپت تو سال 1995 توی 10 روز طراحی شد.
برای یه پروژه موقتی که قرار نبود انقدر بزرگ بشه!
اما بعداً با اضافه شدن استانداردها (ES5، ES6 و...)، این زبان تغییرات زیادی کرد.

مشکل بیشتر از زبونه، نحوه استفاده اشتباه، آموزش ناقص، و سوء‌برداشت‌هاست.

بخش چهارم: نقش جامعه و ترندها

خیلی وقتا آدم‌ها از یه زبان خوششون نمیاد چون باهاش بد شروع کردن، یا چون بقیه می‌گن بده!
این ترندهای منفی مثل "جاوااسکریپت فقط واسه فرانت‌انده" یا "کثیف‌ترین زبان دنیاست" واقعاً پایه علمی ندارن.
جاوااسکریپت درحال حاضر یکی از پرکاربردترین زبان‌های دنیاست، و این خودش یه نشونه از موفقیته.


بخش پنجم: آیا جاوااسکریپت آینده داره؟

نه تنها داره، بلکه آینده خیلی از فناوری‌های وب، موبایل و اپلیکیشن‌های کراس‌پلتفرم، بهش گره خورده.
زبان‌هایی مثل TypeScript و فریمورک‌هایی مثل Deno دارن مشکلاتش رو حل می‌کنن.
از طرف دیگه، توسعه‌دهنده‌هایی که بتونن درست باهاش کار کنن، همیشه بازار کار دارن.

نتیجه‌گیری

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

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