توسعهدهنده | Sun Labs |
---|---|
ظهوریافته در | 2006 |
انتشار پایدار | 1.0_5033
/ ۷ سپتامبر ۲۰۱۱ |
بنسازه رایانش | سکوی جاوا، نسخه استاندارد 1.6+ |
سیستمعامل | چندسکویی |
پروانه | پروانههای بیاسدی |
وبگاه | |
متأثر از | |
فورترن، اسکالا، هسکل (زبان برنامهنویسی) |
فورترس (به انگلیسی: Fortress) یک زبان برنامهنویسی تجربی برای محاسبات با عملکرد بالا بود که توسط سان مایکروسیستمز با بودجهای برای پروژه ی سیستمهای محاسباتی با بهرهوری بالای دارپا ساخته شد. یکی از طراحان زبان، Guy L. Steele Jr. بود که از کارهای قبلی او میتوان اسکیم، لیسپ معمولی و جاوا را نام برد.
نام فورترس به عنوان یک فرترن ایمن انتخاب شده بود. یعنی زبانی برای محاسبات با کارایی بالا که انتزاع و ایمنی نوع را در تعادل با اصول زبانهای برنامهنویسی جدید فراهم میکرد. ویژگیهای زبان شامل موازی سازی ضمنی، پشتیبانی از یونی کد و نحو شبیه به نمادگذاری ریاضی می شد. این زبان برای این طراحی نشده بود که دقیقاً شبیه فرترن باشد. از لحاظ دستوری بیشتر شبیه اسکالا، استاندارد امال و هسکل است. فورترس از ابتدا به این شکل طراحی شده بود که شیوههای متعدد نحوی داشته باشد. کد منبع میتواند به صورت متن اسکی، یونی کد یا یک تصویر زیبا باشد. این ویژگی اجازه ی پشتیبانی از نمادهای ریاضی و بقیه ی نمادها در خروجی ارائه شده برای خواندن راحتتر را میدهد. یک ابزار مبتنی بر ایمکس به نام fortify کد منبع فورترس مبتنی بر ASCII را به خروجی لاتک تبدیل میکند.
همچنین Fortress مانند Java به منظور موازیسازی قوی و داشتن کارایی زیاد مشمول در کتابخانهها طراحی شده بود. برای مثال ساختار حلقه ی for
یک عملکرد موازی بود که بسته به زمینه ی پیادهسازی لزوماً در یک روش خطی با تأکید تکرار نمیشود. به هر حال ساختار for
یک تابع کتابخانهای بود و و میتواند به جای ساخته شده در زبان، با ورژن دیگری از میل برنامهنویس تعویض شود.
طراحان Fortress نحو آن را بسیار نزدیک به شبه کد ساختند و صدها مقاله ی ریاضی و علوم کامپیوتر، دورهها و کتابهایی که از شبه کد برای استخراج الگوهای استفاده ی مشترک در زبان انگلیسی و نمادگذاری استاندارد ریاضی برای نمایش الگوریتم ها در شبه کد را تجزیه و تحلیل کردند. سپس آنها کامپایلر را به منظور تلاش برای حفظ یک تناظر یک به یک بین شبه کد و Fortress قابل اجرا ساختند.
Fortress یکی از ۳زبان ساخته شده با بودجه ی پروژه ی محاسبات برای عملکرد بالا بود. (دو تای دیگر X10 از آی بی ام و Chapel از Cray Inc هستند.) Sun در نوامبر ۲۰۰۶ از HPCS جدا شد.
در ژانویه ۲۰۰۷، Fortress به یک پروژه ی متن باز با یک جامعه ی باز تبدیل شد. مردم عادی خارج از Sun میتوانستند کدهای Fortress را نوشته و با مقسر متن باز Fortress آن را تست کنند. ورژن ۱.۰ از مشخصات زبان Fortress در آوریل ۲۰۰۸ همراه با یک اجرای سازگار با هدف قرار دادن ماشین مجازی جاوا منتشر شد.
در ژوئیه ۲۰۱۲، اعلام شد که توسعه ی فعال Fortress بعد از یک دوره ی پیچ در پیچ مختصر با استناد بر پیچیدگیهای استفاده از سیستم نوع Fortress در ماشینهای مجازی موجود تمام خواهد شد.
در قسمت زیر نسخه ی Fortress از برنامه ی نمونه اولیه ی hello world که به صورت کارت ارجاع Fortress نشان داده شدهاست را می بینید:
component hello
export Executable
run() = println("Hello, World!")
end
جمله ی export
باعث میشود برنامه، قابل اجرا شود و هر برنامه ی قابل اجرا در Fortress باید تابع run()
را پیادهسازی کند. فایلی که برنامه در آن برای کامپایل شدن ذخیره میشود، باید اسم یکسان با چیزی که در جمله ی ابتدایی component
بیان شده است، داشته باشد. تابع println()
چیزی است که جمله ی !Hello, World را روی صفحه نمایش میدهد.