فورترس

**فورترس**  یک زبان برنامه‌نویسی تجربی برای محاسبات با عملکرد بالا بود که توسط سان مایکروسیستمز با بودجه‌ای برای پروژه ی  دارپا ساخته شد. یکی از طراحان زبان، Guy L. Steele Jr. بود که از کارهای قبلی او میتوان اسکیم، لیسپ معمولی و جاوا را نام برد.

## طراحی
نام فورترس به عنوان یک فرترن ایمن انتخاب شده بود. یعنی زبانی برای محاسبات با کارایی بالا که انتزاع و ایمنی نوع را در تعادل با اصول زبان‌های برنامه‌نویسی جدید فراهم میکرد. ویژگی‌های زبان شامل موازی سازی ضمنی، پشتیبانی از یونی کد و نحو شبیه به  می شد. این زبان برای این طراحی نشده بود که دقیقاً شبیه فرترن باشد. از لحاظ دستوری بیشتر شبیه اسکالا، استاندارد ام‌ال و هسکل است. فورترس از ابتدا به این شکل طراحی شده بود که شیوه‌های متعدد نحوی داشته باشد. کد منبع می‌تواند به صورت متن اسکی، یونی کد یا یک تصویر زیبا باشد. این ویژگی اجازه ی پشتیبانی از نمادهای ریاضی و بقیه ی نمادها در خروجی ارائه شده برای خواندن راحتتر را می‌دهد. یک ابزار مبتنی بر ایمکس به نام fortify کد منبع فورترس مبتنی بر ASCII را به خروجی لاتک تبدیل می‌کند.

همچنین Fortress مانند Java به منظور موازی‌سازی قوی و داشتن کارایی زیاد مشمول در کتابخانه‌ها طراحی شده بود. برای مثال ساختار حلقه ی ` for ` یک عملکرد موازی بود که بسته به زمینه ی پیاده‌سازی لزوماً در یک روش خطی با تأکید تکرار نمی‌شود. به هر حال ساختار ` for ` یک تابع کتابخانه‌ای بود و و می‌تواند به جای ساخته شده در زبان، با ورژن دیگری از میل برنامه‌نویس تعویض شود.

طراحان Fortress نحو آن را بسیار نزدیک به [//en.wikipedia.org/wiki/Pseudocode شبه کد] ساختند و صدها مقاله ی [//en.wikipedia.org/wiki/Mathematics ریاضی] و [//en.wikipedia.org/wiki/Computer_science علوم کامپیوتر]، دوره‌ها و کتاب‌هایی که از شبه کد برای استخراج الگوهای استفاده ی مشترک در زبان انگلیسی و نمادگذاری استاندارد ریاضی برای نمایش [//en.wikipedia.org/wiki/Algorithm الگوریتم ها] در شبه کد را تجزیه و تحلیل کردند. سپس آن‌ها کامپایلر را به منظور تلاش برای حفظ یک تناظر یک به یک بین شبه کد و Fortress قابل اجرا ساختند.
## تاریخچه
Fortress یکی از ۳زبان ساخته شده با بودجه ی پروژه ی [//en.wikipedia.org/wiki/High_Productivity_Computing_Systems محاسبات برای عملکرد بالا] بود. (دو تای دیگر [//en.wikipedia.org/wiki/X10_(programming_language) X10] از آی بی ام و [//en.wikipedia.org/wiki/Chapel_(programming_language) Chapel] از [//en.wikipedia.org/wiki/Cray Cray Inc] هستند.) Sun در نوامبر ۲۰۰۶ از HPCS جدا شد.

در ژانویه ۲۰۰۷، Fortress به یک پروژه ی متن باز با یک جامعه ی باز تبدیل شد. مردم عادی خارج از Sun می‌توانستند کدهای Fortress را نوشته و با مقسر متن باز Fortress آن را تست کنند. ورژن ۱.۰ از مشخصات زبان Fortress در آوریل ۲۰۰۸ همراه با یک اجرای سازگار با هدف قرار دادن [//en.wikipedia.org/wiki/Java_virtual_machine ماشین مجازی جاوا] منتشر شد.

در ژوئیه ۲۰۱۲، اعلام شد که توسعه ی فعال Fortress بعد از یک دوره ی پیچ در پیچ مختصر با استناد بر پیچیدگی‌های استفاده از سیستم نوع Fortress در ماشین‌های مجازی موجود تمام خواهد شد.
## مثال : !Hello world
در قسمت زیر نسخه ی Fortress از برنامه ی نمونه اولیه ی [//en.wikipedia.org/wiki/Fortress_(programming_language) hello world] که به صورت کارت ارجاع Fortress نشان داده شده‌است را می بینید:

```fortress
component hello
export Executable
run() = println("Hello, World!")
end
```

جمله ی `export` باعث می‌شود برنامه، [//en.wikipedia.org/wiki/Executable قابل اجرا] شود و هر برنامه ی قابل اجرا در Fortress باید تابع `run()` را پیاده‌سازی کند. فایلی که برنامه در آن برای کامپایل شدن ذخیره می‌شود، باید اسم یکسان با چیزی که در جمله ی ابتدایی `component` بیان شده است، داشته باشد. تابع `println()` چیزی است که جمله ی !Hello, World را روی صفحه نمایش می‌دهد.

## منابع

* Wikipedia contributors, "Fortress (programming language)," Wikipedia, The Free Encyclopedia, https://en.wikipedia.org/w/index.php?title=Fortress_(programming_language)&oldid=678353874 (accessed December 7, 2015).

* منبع فارسی وجود نداشت

رده:زبان‌های برنامه‌نویسی آرایه‌ای
رده:زبان‌های برنامه‌نویسی خانواده فورترن
رده:زبان‌های برنامه‌نویسی ساخته‌شده در ۲۰۰۶ (میلادی)
رده:زبان‌های برنامه‌نویسی عددی
رده:زبان‌های برنامه‌نویسی ماشین مجازی جاوا
رده:زبان‌های برنامه‌نویسی هم‌روند
رده:نرم‌افزارهایی که از پروانه بی‌اس‌دی استفاده می‌کنند