ارلنگ
From Wikipedia, the free encyclopedia
ارلنگ (به انگلیسی: Erlang، /ˈɜːrlæŋ/ UR-lang) یک زبان برنامهنویسی همهمنظوره، همروند، دارای زباله جمعکن و سامانهٔ زماناجرا (به انگلیسی: Runtime) است. برای همروندی از مدل اکتور (به انگلیسی: Actor Model) پیروی میکند. این زبان توسط شرکت اریکسون برای پشتیبانی و توسعه برنامههای توزیعشده، تحملپذیر در برابر خطا، بیدرنگ نرم (به انگلیسی: soft-real-time) و بدون وقفه طراحی شدهاست. اریکسون برای طراحی نرم افزار های سوییچینگ تلفن قبلا از زبانی به نام PLEX استفاده میکرده که این زبان بسیار شبیه Erlang بوده منتهی مشکلاتی داشته که Erlang بطور کامل آنها را رفع کرده. این زبان از تعویض داغ[نیازمند منبع] (به انگلیسی: Hot swapping) که در آن بدون توقف سامانه، قادر به تغییر کدهای برنامه هستیم پشتیبانی میکند.
پارادایم برنامهنویسی | چندالگویی: همزمان، تابعی |
---|---|
طراحی شده توسط | جو آرمسترانگ، روبرت ویردینگ، و مایک ویلیامز |
توسعهدهنده | اریکسون |
ظهوریافته در | ۱۹۸۶؛ ۳۸ سال پیش (۱۹۸۶-خطا: زمان نامعتبر}}) |
انتشار پایدار | |
نیرومند، پویا | |
پروانه | مجوز آپاچی ۲٫۰ |
.erl, .hrl | |
وبگاه | |
پیادهسازیهای بزرگ | |
Erlang | |
متأثر از | |
پرولوگ، اسمالتاک، PLEX، لیسپ | |
تأثیر گذاشته بر | |
اف شارپ، کلوژر، راست (زبان برنامهنویسی)، اسکالا، اوپا، Reia، الیکسیر (زبان برنامهنویسی)، دارت (زبان برنامهنویسی)، Akka | |
سیستم زمان اجرا ارلنگ برای طراحی سیستم هایی که نیازمند خصوصیات زیر هستند استفاده میشود (به نوع ماشین مجازی ارلنگ این امکانات را دارد):
- توزیع شده (به انگلیسی: Distributed)
- بردباری خطا (به انگلیسی: Fault-tolerant)
- زمان واقعی ملایم (به انگلیسی: Soft real-time)
- بسیار در دسترس، بدون توقف (به انگلیسی: Highly available, non-stop applications)
- تعویض داغ (به انگلیسی: Hot swapping) که در آن کد میتواند بدون توقف سیستم تغییر کند.
زبان برنامهنویسی ارلنگ برای خواص زیر شناخته میشود:
- داده تغییرناپذیر (به انگلیسی: Immutable data)
- تطبیق الگو (به انگلیسی: Pattern matching)
- برنامهنویسی تابعی (به انگلیسی: Functional programming)
ارلنگ در واقع یک زبان اختصاصی در شرکت اریسکون بود که توسط Joe Armstrong، Robert Virding و Mike Williams در سال ۱۹۸۶ توسعه پیدا کرده بود، اما در سال ۱۹۹۸ به عنوان یک زبان متن باز منتشر شد. Erlang/OTP توسط واحد محصول OTP در اریکسون پشتیبانی و نگهداری میشود.