امروز دارم کتاب Programming erlang رو می خونم

سینتکسش یه مقدار پیچیدست . کلا هدف هم بیشتر اینه که اینو بخونم بعدش برم elixir :))

ولی به طور کلی خیلی جالبه . مثلا

QuickSort رو , اگر بخواین مدل رندومش رو نزنین و صرفا هر بار بیاین اولین عنصر ( یا حالا آخرین عنصر , فرقی نداره )‌ رو به عنوان محور در نظر بگیرید , پیاده سازیش پنج خطه کلا .

 

کلا سادگی خاصی توش هست , و از اون طرف چیزای جذابی هم داره

مثلا می تونین راحت یه کلاینت سرور بنویسین که اینا با هم در ارتباطن و کلاینت مثلا می تونه از سرور بپرسه که آقا تو فلان دایرکتوری چه فایلایی هست ؟ یا مثلا فلان فایل رو بخون محتویاتشو بده به من .

هر پروسس قشنگ یه pid یا همون process identifier داره که می تونین از این طریق باهاش در ارتباط باشین . و پروسسی که اینجا راجع بهش حرف می زنیم با پروسس سیستم عامل فرق می کنه . یه مفهومیه تو خود زبون که خیلی هم سبک تر از پروسس اصلی تو سیستم عامله .

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

و کلا زندگی رو سعی کرده راحت کنه :))

 

مفهومی داره به اسم pattern matching که خیلی کار رو راحت می کنه .

تقریبا با pattern matching حتی نیاز به if هم ندارین . حتی نیاز به for هم ندارین 

(هر چند یه چیزایی مثل if خودشون وجود دارن ولی کلا حرف اینه که تقریبا به هیچ چیز خاصی نیاز نخواهید داشت)

 

و البته هنوز به جاهای اصلی قضیه نرسیدم . 

در آینده ای نزدیک سعی می کنم بیشتر در این مورد بنویسم :))


مشخصات

آخرین جستجو ها