برنامه نویسی به زبان ارلنگ

ارلنگ زبان برنامه نویسی تابعی و همروند است

برنامه نویسی به زبان ارلنگ

ارلنگ زبان برنامه نویسی تابعی و همروند است

برنامه نویسی به زبان ارلنگ

در این وبلاگ مطالب مربوط به ارلنگ و الیکسیر منتشر خواهد شد

  • ۱
  • ۰

اگر شما از دنیای برنامه نویسی شیء گرا آمدید احتمال زیاد به فکر کردن به کلاس و متغیر و شیء عادت کرده اید. کلاس در حقیقت رفتار و الگو را تعریف می کند و اشیاء موقعیت و مرحله را نگه می دارند. برنامه نویسان وقت زیادی را صرف ارث بری و روابط کلاس ها می کنند و بدین ترتیب سعی در مدل کردن مسئله خود دارند. بیشتر زمان برنامه نویس در این مدل برنامه نویسی صرف استفاده از توابع و تعریف کردن کلاس، ارسال اشیاء به توابع مختلف و بطور کلی کار بر روی اشیاء می شود. با استفاده از توابع مختلف اشیاء موقعیت خود را بروز می کنند. در این دنیا کلاس ها نقش شاه را بازی می کنند. کلاس ها رفتار اشیاء را تعریف می کنند و دسترسی داده را تعیین می کنند. دنیای شیء گرا با دنیای واقعی تفاوت های بسیاری دارد. در دنیای واقعی  ما بدنبال مدل های انتزاعی نیستیم ما نمی خواهیم موقیعت ها را بروز کنیم بلکه هدف ما انجام کارهایمان است.  برای مثال در همین نوشته من فایلی خالی را تبدیل به فایلی حاوی نوشته می کنم و پس از آن از طریق امکانات وبلاگی آن را به فرمت وبی تغییر می دهم. بنابرین من داده را تغییر و شکل می دهم. برنامه نویسی فانکشنال اساسا درباره تغییر داده است.

الیکسیر و ارلنگ از طرف دیگر براحتی امکان موازی بر روی داده ها را دارد و این کار را بدون ایجاد تردها و پروسس های سیستم عامل انجام می دهد. پروسس های در ارلنگ بسیار سبک و کم حجم هستند. بنابرین شما می توانید میلیون ها پروسس داشته باشید که هر کدام کار خودشان می کنند. برخلاف زبان های برنامه نویسی رایج پروسس ها در ارلنگ داده هایشان را به اشتراک نمی گذراند بلکه برای هم پیام می فرستند. هر پروسس صندوق منحصر بفرد برای پیام های دریافتی اش دارد و هر زمان که خواست می تواند نامه هایش را بخواند. بهمین دلیل است که در الکسیر نیازی به داشتن انواع قفل ها و سمافور ها برای حفاظت از داده ها نمی باشد. همچنین با رشد روز افزون پردازنده های چند هسته ای، هر پروسس ارلنگ می تواند در هسته های مختلف اجرا شود و همین امر باعث سرعت خیره کننده برنامه و استفاده از همه هسته های پردازنده می شود. این قابلیت ها از ارلنگ هم به الکسیر رسیده است. به کمک همین قابلیت ها ست که شرکتهایی نظیر واتساپ توانایی ارسال میلیارد ها پیام را بین مشترکینشان دارند. لازم به ذکر است الیکسیر بر مبنای ارلنگ بوده و روی ماشین مجازی آن اجرا می شود. الیکسیر ظاهری شبیه به روبی دارد و قابلیت های بیشتری از ارلنگ ارائه می دهد که در ادامه مطالب این وبلاگ در موردش توضیح داده خواهد شد. 

در این وبلاگ من سعی ندارم مفاهیم بعضا خشک برنامه نویسی فانشکنال را بیان کنم. هدف من تنها اینست که بگویم برنامه نویسی شی گرا تنها روش برنامه نویسی نیست و در بسیاری از مسائل امروزه کارآمد هم نیست و همین امر شرکتهای بزرگی نظیر مایکروسافت را به فکر ایجاد زبان فانکشنال #F انداخته است.

  • ۹۴/۰۴/۱۴
  • مهدی حسینی مقدم

Elixir

نظرات (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی