لیمبو (زبان برنامهنویسی) - ویکیپدیا، دانشنامهٔ آزاد
این مقاله به هیچ منبع و مرجعی استناد نمیکند. |
طراحی شده توسط | شان دوروارد، فیل وینترباتوم و راب پایک |
---|---|
توسعهدهنده | آزمایشگاههای بل، ویتا نووا هولدینگز |
ظهوریافته در | ۱۹۹۵ |
سیستمعامل | اینفرنو |
پروانه | متنباز |
وبگاه | |
پیادهسازیهای بزرگ | |
ماشین مجازی دیس |
لیمبو (به انگلیسی: Limbo) یک زبان برنامهنویسی برای نوشتن سیستمهای توزیعشدهاست و همینطور زبانی است که از آن برای نوشتن برنامههای کاربردی سیستمعامل اینفرنو استفاده شدهاست. این زبان در آزمایشگاههای بل توسط شان دوروارد، فیل وینترباتوم و راب پایک نوشته شدهاست. کامپایلر لیمبو کدهای مقصود مستقل از ماشین تولید میکند. ماشین مجازی دیس این کدها را تفسیر و اجرا میکند یا اینکه آنها را درست قبل از زمان اجرا برای بهبود کارایی کامپایل میکند. در نتیجه کلیه برنامههای سیستمعامل اینفرنو کاملاً پرتابل بوده و بر روی سختافزارها و معماریهای مختلفی اجرا میشوند.
قابلیتها و ویژگیها
[ویرایش]برخی از ویژگیهای این زبان عبارتند از:
- برنامهنویسی ماژولی
- رایانش همزمان
- کنترل نوع قوی در زمان کامپایل و زمان اجرا
- ارتباط بین پردازشی بر روی کانالهای مطبوع
- بازیافت حافظه خودکار
- انواع داده انتزاعی ساده
ماشین مجازی
[ویرایش]ماشین مجازی دیس (Dis) که کد لیمبو را اجرا میکند، با دستورالعملهایی برای محاسبات، کنترل جریان، حرکت دادهها، ایجاد فرایند، همگامسازی و برقراری ارتباط بین فرایندها، بارگیری ماژولهای کد و پشتیبانی از انواع دادههای سطح بالاتر: رشتهها، آرایهها، لیستها و کانالهای ارتباطی[۱] از ترکیبی از شمارش مرجع و بازیافت حافظه در لحظه برای دادههای چرخهای استفاده میکند.[۲]
مثالها
[ویرایش]لیمبو از تعاریف سبک آیدا به شکل زیر استفاده میکند:
name := type value; name0,name1 : type = value; name2,name3 : type; name2 = value;
سلام دنیا
[ویرایش] implement Command; include "sys.m"; sys: Sys; include "draw.m"; include "sh.m"; init(nil: ref Draw->Context, nil: list of string) { sys = load Sys Sys->PATH; sys->print("Hello World!\n"); }
جستارهای وابسته
[ویرایش]- سیستم عامل اینفرنو
- پلان ۹ از آزمایشگاه بل
- گو (زبان برنامهنویسی)، زبانی مشابه از گوگل
منابع
[ویرایش]- ↑ "Dis Virtual Machine Specification". Vita Nuova. 2000. Retrieved 2 February 2015.
- ↑ Lorenz Huelsbergen and Phil Winterbottom. "Very Concurrent Mark and Sweep Garbage Collection without Fine-Grain Synchronization" (PDF).
{{cite journal}}
: Cite journal requires|journal=
(help)