|Stable release||1.0_5033 (Template:Release date)|
|Influenced by||Fortran, Scala, Haskell|
|Platform||Java SE 1.6+|
Fortress is a programming language designed for high-performance computing. It was created by Sun Microsystems with funding from DARPA's High Productivity Computing Systems project. One of the language designers is Guy L. Steele Jr., whose previous work includes Scheme, Common Lisp, and Java.
Language features Edit
The name "Fortress" is intended to connote a secure Fortran, i.e., "a language for high-performance computation that provides abstraction and type safety on par with modern programming language principles". Its improvements include implicit parallelism, Unicode support and concrete syntax that is similar to mathematical notation. The language is not designed to be similar to Fortran. Syntactically, it most resembles Scala, Standard ML, and Haskell. Fortress is being designed from the outset to have multiple syntactic stylesheets. Source code can be rendered as ASCII text, in Unicode, or as a prettied image. This will allow for support of mathematical symbols and other symbols in the rendered output for easier reading.
Fortress is also designed to be both highly parallel and have rich functionality contained within libraries, drawing from Java but taken to a higher degree. For example, the 'for' loop is a parallel operation, which will not always iterate in a strictly linear manner depending on the underlying software and hardware. However, the 'for' loop is a library function and can be replaced by another 'for' loop of the programmer's liking rather than being built into the language.
Fortress was one of three languages created with funding from the High Productivity Computing Systems project. (The others are X10 from IBM and Chapel from Cray, Inc.) Sun was dropped from the HPCS project in November 2006, leading to uncertainty about the future of Fortress.
In January 2007, Fortress was transformed into "an open-source project with an open-source community. People outside Sun are now writing Fortress code and testing it using the open-source Fortress interpreter." Version 1.0 of the Fortress Language Specification was released in April 2008, along with a compliant implementation targeting the Java Virtual Machine.
In July 2012, it was 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.
See also Edit
- Project Fortress website
- Active Timeline of Specification and Reference Implementation
- The Fortress Language Specification (Latest version is 1.0, March 31, 2008)
- The Soul of Fortress - Interview with Fortress developer Guy Steele
- Fortress Open Source Project Home (BSD License)
- Sun's Programming Language Research Group
- Fortress Publications and Specifications
- Fortress Plugin For Eclipse (alpha)
- Fortress FAQ
- Fortress Tutorial Slides
- Fortress Mailing Lists
- Lambda the Ultimate article
- Sun's Fortran replacement goes open-source (CNET News.com, January 12, 2007)
- Fortress presentation
- Parallel By Default -- An Annotated Fortress Overview presentation
<ref>tags exist, but no
<references/>tag was found