Jump to content

Крепость (язык программирования)

Крепость
Разработчик Сан Лабс
Впервые появился 2006
Финальный выпуск
1.0_5033 / 7 сентября 2011 г .; 12 лет назад ( 07.09.2011 )
Дисциплина набора текста Статический
Платформа Ява ЮВ 1.6+
ТЫ Кросс-платформенный
Лицензия БСД
Веб-сайт github /стокит /fortress-lang
Под влиянием
Фортран , Скала , Хаскелл

Fortress — это прекращенный экспериментальный язык программирования для высокопроизводительных вычислений , созданный Sun Microsystems при финансовой поддержке проекта DARPA Systems High Productivity Computing . Одним из разработчиков языка был Гай Л. Стил-младший , чьи предыдущие работы включали Scheme , Common Lisp и Java .

Название «Крепость» должно было означать безопасный Фортран , то есть «язык для высокопроизводительных вычислений, который обеспечивает абстракцию и безопасность типов наравне с принципами современных языков программирования». [1] Возможности языка включали неявный параллелизм , поддержку Unicode и конкретный синтаксис, аналогичный математической записи . Язык не был разработан, чтобы быть похожим на Фортран. Синтаксически он больше всего напоминает Scala , Standard ML и Haskell . Fortress с самого начала проектировался с возможностью использования нескольких синтаксических таблиц стилей. Исходный код может быть отображен как ASCII текст , в Unicode или как красивое изображение. Это позволит поддерживать математические символы и другие символы в отображаемом выводе для облегчения чтения. Инструмент emacs на основе fortify преобразует исходный код Fortress на основе ASCII в выходные данные LaTeX . [2]

Fortress также был спроектирован как высокопараллельный и обладающий богатой функциональностью, содержащейся в библиотеках, основанных на Java. Например, for Конструкция цикла представляла собой параллельную операцию, которая не обязательно выполнялась строго линейно, в зависимости от базовой реализации. Однако for Конструкция была библиотечной функцией и могла быть заменена другой версией по вкусу программисту, а не встроена в язык.

Разработчики Fortress максимально приблизили синтаксис к псевдокоду и проанализировали сотни статей, курсов, книг и журналов по информатике и математике , используя псевдокод, чтобы извлечь общие шаблоны использования английского языка и стандартные математические обозначения, используемые для представления алгоритмов в псевдокоде. . Затем они заставили компилятор пытаться поддерживать однозначное соответствие между псевдокодом и исполняемым файлом Fortress. [3] [ нужен лучший источник ]

Fortress был одним из трех языков, созданных при финансовой поддержке проекта «Вычислительные системы высокой производительности» ; остальными были X10 от IBM и Chapel от Cray, Inc. В ноябре 2006 года, когда DARPA одобрило финансирование третьей фазы проекта HPCS, X10 и Chapel получили финансирование, а Fortress — нет. [4] что приводит к неуверенности в будущем Крепости.

В январе 2007 года Fortress был выпущен с открытым исходным кодом. [5] Версия 1.0 спецификации языка Fortress была выпущена в апреле 2008 года вместе с совместимой реализацией, предназначенной для виртуальной машины Java .

В июле 2012 года Стил объявил, что активная разработка Fortress прекратится после непродолжительного периода свертывания, сославшись на сложности с использованием системы типов Fortress на существующих виртуальных машинах. [6]

Пример: Привет, мир!

[ редактировать ]

Это версия Fortress архетипической программы hello world , представленной в справочной карте Fortress : [2]

component helloexport Executablerun() = println(“Hello, World!”)end

Оператор экспорта делает программу исполняемой , и каждая исполняемая программа в Fortress должна реализовывать функцию run() . Файл, в котором программа сохраняется для компиляции, должен иметь то же имя, что и имя, указанное в исходном операторе компонента . Функция println() выводит сообщение «Hello, World!» слова на экране.

См. также

[ редактировать ]
  1. ^ Эрик Аллен; Дэвид Чейз; Джо Халлетт; Виктор Лучанко; Ян-Виллем Мессен; Сукён Рю; Гай Л. Стил младший; Сэм Тобин-Хохштадт; и др. (31 марта 2008 г.). «Спецификация языка Fortress: версия 1.0» (PDF) . www.research.sun.com . Сан Микросистемс. Архивировано из оригинала (PDF) 20 января 2013 г.
  2. ^ Jump up to: а б «Справочная карта проекта Крепость» (PDF) . Java.net . Архивировано из оригинала (PDF) 4 марта 2016 г. Проверено 24 сентября 2016 г.
  3. ^ "псевдокод - Стандарты псевдокода?" . Переполнение стека. 16 октября 2009 г. Проверено 24 сентября 2016 г.
  4. ^ Джош Саймонс (22 ноября 2006 г.). «Солнце не выбрано для фазы III HPCS: мои мысли» . Пупок Нарцисса . Архивировано из оригинала 6 января 2012 г. – на сайте blogs.oracle.com.
  5. ^ «Что такого крутого в Fortress» . gbcacm.org . Большое Бостонское отделение ACM. Архивировано из оригинала 02 августа 2012 г.
  6. ^ Глс-Оракул (20 июля 2012 г.). «Завершение крепости» . Проект Крепость . Архивировано из оригинала 24 сентября 2016 г. – на сайте blogs.oracle.com.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9dfdf2787e385b5bdfe470a0811ce0a2__1708151460
URL1:https://arc.ask3.ru/arc/aa/9d/a2/9dfdf2787e385b5bdfe470a0811ce0a2.html
Заголовок, (Title) документа по адресу, URL1:
Fortress (programming language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)