به نام خدا سلام ، من هرچی تو اینترت گشتم نتونستم منبع خوبی برای یاد گیری زبان ارلنگ (Erlang) به زبان فارسی پیداکنم پس بعد از اینی که این زبون رو یاد گرفتم به فکر این افتادم که این منبع رو ایجاد کنم!
خوب از حواشی دور شیم و بریم سراغ اصل زبوناول یک سری به کاربرد هاش و تاریخ اش میزنیم
ارلنگ یک زبان عالی برای برنامه نویس های back-end هستش و قابلیت هایی داره که تقریبا هیچ زبون برنامه نویسی او قابلیت هارو نداره .
مثلا :
1.توزیع شده هستش یعنی شما میتونید برنامه تون رو بدون مشکل ، هم زمان روی روی چند رایانه اجرا کنید (Distributed) .
2.اگه خطایی تو هر نخ از برنامه باشه اون خطا برای همون فراینده و روی بقیه فراین ها اثری میذاره (Error Handling) .
3.میتونید هنگامی که برنامه در حال اجرای بدون ایجاد خللی در کار برنامه کد های اونو عوض کرد (Hot swapping) .
اگر اطلاعات بیشتری در این باره میخواین ویکی خیلی کمک میکنه .
خوب حالا بیایم یک مثال بزنیم تا بیشتر با این زبان آشنا بشید .
متأسفانه ویرایشگر این سایت از کد های این زبان عالی پشتیبانی نمیکنه پس من عکس کد (ها) رو براتون میزارم و در انتهای هر آموزش فایل ها رو برای دانلود میزارم.
خط اول ، module :
تمام برنامه های هم در یک module قرار میگیرند .
نام فایلی که برنامه توشه باید با اسم module یکی باشه .
نام module نباید با حرف بزرگ شروع بشه .
module ها مانند namespace ها در زبان های شی گر عمل میکنند.
یک module میتونه شامل متغیر ها ، ثابت ها ، توابع و خیلی چیز های دیگه باشه .
خوب بریم سراغ خط دوم ، export :
هر زمان که لازم داشته باشیم یک تابع رو که توی یک module دیگه هست فراخوانی کنیم باید اون تابع رو export کرده باشم .
که این واژه به همین معنی هم هست .
خط چهارم : توی خط جهارم اومدیم یک تابع به نام start درست کردیم که صفر پارامتر (parameter) رو دریافت میکنه علامت ( <- ) کار هم همون Bracket ( } ) توی زبان هایی که معماری سی رو دارن میکنه .
توی خط پنجم هم اومدیم از module که اسمش io هست تابع fwrite رو فراخوانی کردیم ، این تابع به طور پیش فرض ذو مقدار دریافت میکنه که ما یک از اون ها رو بهش دادیم .
علامت (n~) هم یعنی برو خط بعدی (دقیقا کار n\ رو انجام میده یعنی میتونی بجای n~ از n\ استفاده کرد ).
خوب حالا چطوری این برنامه رو اجرا کنیم ؟
از اون جایی که Erlang زبونیه که هرجا جاوا اجرا بشه اجرا میشه ، روی خیلی از سیستم عامل ها اجرامیشه و من نمیتوم نصبش رو برای اینهمه سیستم عامل بگم پس خودتون برین نصبش کنید .
اینم لینک دانلود .
خوب بعد از نصب برنامه وارد terminal میشیم و با دستور cd ترمینال رو به اون پوشه ای که توش برنامه قرار داره میبریم و بعد وارد ارلنگ میشیم (توی ویندوز با اجرا کردن برنامه و توی لینوکس ، freebsd ، .... با دستور erl).
بعد با دستور .(filenem)c برنامه رو کامپایل میکنیم (نقطه فراموش نشه).
اگه با عبارت {ok,first} مواجه شدید برنامه تون به درستی compile شده .