+1 امتیاز
قبل در کامپیوتر و اینترنت توسط (1.1هزار امتیاز)
زبان برنامه نویسی erlang به نسبت سایر زبان های برنامه نویسی ( جاوا، c++، پایتون و ... ) چه مزایایی برای تولید سیستم های توزیع شده و چند نخی دارد؟

1 پاسخ

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

زبان برنامه نویسی Erlang قابلیت های منحصر بفردی دارد که آن را برای تولید سیستم های توزیع شده و چند نخی (multi thread) بعنوان یکی از مطرح ترین گزینه ها مطرح می کند:

  • با استفاده از erlang می توان به راحتی برنامه های fault-tolerant تولید کرد و بدون از سرویس خارج کردن برنامه در آن تغییری اعمال کرد و یا در صورت از سرویس خارج شدن چند node سیستم کماکان بتواند به کار خود ادامه دهد.
  • erlang پشتیبانی عالی از مفاهیم چند نخی (multi thread) و همزمانی (concurrency) دارد برای مثال استفاده از مدل message passing بجای share resource برای ارتباط بین thread ها و یا پشتیبانی از CPU های multicore.
  • در erlang همزمانی و فرایند ها (processes) توسط سیستم عامل مدیریت نمی شود و در عوض erlang یک مدل فرایند فوق العاده سبک را در اختیار توسعه دهندگان قرار می دهد که امکان اجرای همزمان میلیون ها فرایند بصورت همزمان را به توسعه دهندگان می دهد.
  • erlang امکان اجرای فرایند ها (processes) برروی یک CPU یا یک CPU چند هسته ای و یا شبکه ای از CPU ها (سیستم توزیع شده) را به توسعه دهنده بدون نیاز به استفاده از lock ها و متدهای synchronized می دهد.
  • erlang یک زبان برنامه نویسی کاملا functional است (pure functional) و امکان بوجود آمدن side effect در کد های نوشته شده توسط آن وجود ندارد و همچنین در بسیاری از موارد تعداد خط کد کمتری برای کارهای روتین با استفاده از erlang (به نسبت زبان های برنامه نویسی imperative) نوشته می شود، البته شاید این به قیمت پیچیده تر شدن کد باشد.

سوالات مشابه

+1 امتیاز
3 پاسخ 3.9هزار بازدید
0 امتیاز
1 پاسخ 2.8هزار بازدید
0 امتیاز
1 پاسخ 840 بازدید
0 امتیاز
1 پاسخ 952 بازدید
سوال شده 9 سال قبل در کامپیوتر و اینترنت توسط webfo (0 امتیاز)
0 امتیاز
1 پاسخ 264 بازدید
0 امتیاز
1 پاسخ 409 بازدید
0 امتیاز
1 پاسخ 511 بازدید
0 امتیاز
1 پاسخ 305 بازدید
...