Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

Fortress (programming language)

From Wikipedia, the free encyclopedia
(Redirected fromFortress programming language)
Fortress
DeveloperSun Labs
First appeared2006
Final release
1.0_5033 / September 7, 2011; 13 years ago (2011-09-07)
Typing disciplineStatic
PlatformJava SE 1.6+
OSCross-platform
LicenseBSD
Websitegithub.com/stokito/fortress-lang
Influenced by
Fortran,Scala,Haskell

Fortress is a discontinued experimentalprogramming language forhigh-performance computing, created bySun Microsystems with funding fromDARPA'sHigh Productivity Computing Systems project. One of the language designers wasGuy L. Steele Jr., whose previous work includesScheme,Common Lisp, andJava.

Design

[edit]

The name "Fortress" was intended to connote a secureFortran, i.e., "a language for high-performance computation that provides abstraction and type safety on par with modern programming language principles".[1] Language features includedimplicit parallelism,Unicode support and concretesyntax similar tomathematical notation. The language was not designed to be similar to Fortran. Syntactically, it most resemblesScala,Standard ML, andHaskell. Fortress was designed from the outset to have multiple syntactic stylesheets. Source code can be rendered asASCII text, inUnicode, or as a prettied image. This would allow for support of mathematical symbols and other symbols in the rendered output for easier reading. Anemacs-based tool calledfortify transforms ASCII-based Fortress source code intoLaTeX output.[2]

Fortress was also designed to be both highly parallel and have rich functionality contained within libraries, drawing from Java. For example, thefor loop construct was a parallel operation, which would not necessarily iterate in a strictly linear manner, depending on the underlying implementation. However, thefor construct was a library function and could be replaced by another version of the programmer's liking rather than being built into the language.

Fortress' designers made its syntax as close as possible topseudocode and analyzed hundreds ofcomputer science andmathematics papers, courses, books and journals using pseudocode to extract the common usage patterns of the English language and standard mathematical notation when used to representalgorithms in pseudocode. Then they made the compiler trying to maintain a one-to-one correspondence between pseudocode and executable Fortress.[3][better source needed]

History

[edit]

Fortress was one of three languages created with funding from theHigh Productivity Computing Systems project; the others wereX10 from IBM andChapel fromCray, Inc. In November 2006, when DARPA approved funding for the third phase of the HPCS project, X10 and Chapel were funded, but Fortress was not,[4] leading to uncertainty about the future of Fortress.

In January 2007, Fortress was released as open-source.[5]Version 1.0 of the Fortress Language Specification was released in April 2008, along with a compliant implementation targeting theJava Virtual Machine.

In July 2012, Steele announced that active development on Fortress would cease after a brief winding-down period, citing complications with using Fortress's type system on existing virtual machines.[6]

Example: Hello world!

[edit]

This is the Fortress version of the archetypalhello world program, as presented in theFortress Reference Card:[2]

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

Theexport statement makes the programexecutable and every executable program in Fortress must implement therun() function. The file where the program is saved for compilation must have the same name as the one specified in the initialcomponent statement. Theprintln() function is what outputs the "Hello, World!" words on the screen.

See also

[edit]

References

[edit]
  1. ^Eric Allen; David Chase; Joe Hallett; Victor Luchangco; Jan-Willem Maessen; Sukyoung Ryu; Guy L. Steele Jr.; Sam Tobin-Hochstadt; et al. (2008-03-31)."The Fortress Language Specification: Version 1.0"(PDF).research.sun.com. Sun Microsystems. Archived fromthe original(PDF) on 2013-01-20.
  2. ^ab"Project Fortress Reference Card"(PDF).Java.net. Archived fromthe original(PDF) on 2016-03-04. Retrieved2016-09-24.
  3. ^"pseudocode - Standards for pseudo code?". Stack Overflow. 2009-10-16. Retrieved2016-09-24.
  4. ^Josh Simons (November 22, 2006)."Sun Not Selected for HPCS Phase III: My Thoughts".The Navel of Narcissus. Archived fromthe original on 2012-01-06 – via blogs.oracle.com.
  5. ^"What's Cool about Fortress".gbcacm.org. Greater Boston Chapter of the ACM. Archived fromthe original on 2012-08-02.
  6. ^Gls-Oracle (2012-07-20)."Fortress Wrapping Up".Project Fortress. Archived fromthe original on 2016-09-24 – via blogs.oracle.com.

External links

[edit]


Hardware
Systems
Processors
Sun Microsystems logo
Software
Storage
Performance
Research
Education
Acquisitions
Slogans
Community
People
Free
Discontinued
Proprietary
Retrieved from "https://en.wikipedia.org/w/index.php?title=Fortress_(programming_language)&oldid=1297902510"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp