Fortress (язык программирования)

редактировать
Fortress
Разработчик 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.

Contents
  • 1 Дизайн
  • 2 История
  • 3 Пример: Hello world!
  • 4 См. Также
  • 5 Ссылки
  • 6 Внешние ссылки
Дизайн

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

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

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

History

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 на существующих виртуальных машинах.

Пример: Hello world!

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

компонент hello export Executable run () = println («Hello, World! ») End

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

См. Также
  • Портал бесплатного программного обеспечения с открытым исходным кодом
Ссылки
Внешние ссылки
Последняя правка сделана 2021-05-20 12:18:26
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте