+3 امتیاز
قبل در برنامه نویسی توسط (1.1هزار امتیاز)
ویرایش شده قبل توسط

برای من سوال پیش آمده که چرا اکثر زبان های برنامه نویسی از Operator overloading پشتیبانی می کنند ولی جاوا از آن پشتیبانی نمی کند؟

1 پاسخ

+3 امتیاز
قبل توسط (1.1هزار امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ

به نظر من این کار دلایل زیر را دارد:

  • ساده سازی و شفاف بودن طراحی: سادگی یکی از مهمترین اهداف طراحان زبان برنامه نویسی جاوا بوده است، Operator overloading باعث می شود طراحی های انجام شده پیچیده تر شوند و مفاهیم اضافه تری به طراحی ها و کتابخانه ها اضافه شود و در نتیجه پیچیدگی زبان را بالا ببرد.
  • کند شدن JVM: اگر جاوا قابلیت Operator overloading داشت بدلیل اینکه JVM احتیاج به محاسبه بیشتری برای بدست آوردن معنای واقعی عملیات داشت کندتر می شد.
  • پیچیده شدن JVM: از دیدگاه JVM پشتیبانی از Operator overloading باعث پیچیده تر شدن دستورات byte code می شود و در نتیجه بهینه سازی و سایر عملیاتی زمان اجرا و کامپایل برروی byte code ها پیچیده تر و زمانبر تر می شود.
  • Refactoring ساده تر و امن تر با استفاده از IDE: زمانی که یک زبان از Operator overloading پشتیبانی نمی کند IDE ها کار ساده تری برای دادن قابلیت های مختلف Refactoring برای آن زبان دارند.

سوالات مشابه

0 امتیاز
1 پاسخ 216 بازدید
+1 امتیاز
1 پاسخ 682 بازدید
+3 امتیاز
1 پاسخ 1.9هزار بازدید
+2 امتیاز
1 پاسخ 2.4هزار بازدید
+3 امتیاز
1 پاسخ 2.5هزار بازدید
...