Разработчик | Sun Labs |
---|---|
Первое появление | 2006 |
Финальный выпуск | 1.0_5033 / 7 сентября 2011 г.; 9 лет назад (07.09.2011) |
Дисциплина ввода | Статическая |
Платформа | Java SE 1.6+ |
OS | Кросс-платформенная |
Лицензия | BSD |
Веб-сайт | github.com / stokito / fortress-lang |
Испытано | |
Fortran, Scala, Haskell |
Fortress - это прекращенный экспериментальный язык программирования для высокопроизводительных вычислений, созданный Sun Microsystems при финансировании проекта DARPA High Productivity Computing Systems. Одним из разработчиков языка был Гай Л. Стил-младший, чья предыдущая работа включала Scheme, Common Lisp и Java.
Название "Крепость" был предназначен для обозначения безопасного Fortran, т. е. «языка для высокопроизводительных вычислений, который обеспечивает абстракцию и безопасность типов наравне с принципами современного языка программирования». Функции языка включали неявный параллелизм, поддержку Unicode и конкретный синтаксис, аналогичный математической нотации. Язык не был разработан, чтобы быть похожим на Фортран. Синтаксически он больше всего напоминает Scala, Standard ML и Haskell. Fortress с самого начала разрабатывался так, чтобы иметь несколько синтаксических таблиц стилей. Исходный код может быть отображен как текст ASCII, в формате Unicode или как красивое изображение. Это позволит поддерживать математические символы и другие символы в визуализированном выводе для облегчения чтения. Основанный на emacs инструмент, называемый fortify, преобразует исходный код Fortress на основе ASCII в LaTeX output.
Fortress также был спроектирован как высокопараллельный и с богатой функциональностью. в библиотеках, используя Java. Например, конструкция цикла for
была параллельной операцией, которая не обязательно будет повторяться строго линейным образом, в зависимости от базовой реализации. Однако конструкция для
была библиотечной функцией и могла быть заменена другой версией по желанию программиста, а не встроена в язык.
Разработчики Fortress максимально приблизили его синтаксис к псевдокоду и проанализировали сотни информатики и математики статей, курсов, книг и журналы, использующие псевдокод для извлечения общих шаблонов использования английского языка и стандартные математические обозначения при использовании для представления алгоритмов в псевдокоде. Затем они заставили компилятор поддерживать взаимно однозначное соответствие между псевдокодом и исполняемым файлом Fortress.
Fortress был одним из трех языков, созданных при финансовой поддержке High Productivity Проект «Вычислительные системы »; остальные были X10 от IBM и Chapel от Cray, Inc. В ноябре 2006 года, когда DARPA одобрило финансирование третьей фазы проекта HPCS, X10 и Chapel были профинансированы, а Fortress - нет, что привело к неопределенности относительно будущего Fortress.
В январе 2007 года Fortress был выпущен с открытым исходным кодом. Версия 1.0 спецификации языка Fortress была выпущена в апреле 2008 года вместе с соответствующей реализацией, нацеленной на виртуальную машину Java.
. В июле 2012 года Стил объявил, что активная разработка Fortress прекратится после непродолжительного периода свертывания. ссылаясь на сложности с использованием системы типов Fortress на существующих виртуальных машинах.
Это версия Fortress архетипической программы hello world, представленная в справочной карточке Fortress:
компонент hello export Executable run () = println («Hello, World! ») End
Оператор экспорта делает программу исполняемой, и каждая исполняемая программа в Fortress должна реализовывать функцию run (). Имя файла, в котором программа сохраняется для компиляции, должно совпадать с именем, указанным в исходном операторе компонента. Функция println () выводит сообщение «Hello, World!» слова на экране.