Fortress (programming language)
This article's use of external links may not follow Wikipedia's policies or guidelines. (September 2016) |
Sun Labs | |
---|---|
First appeared | 2006 |
Final release | 1.0_5033
/ September 7, 2011 |
Haskell |
Fortress is a discontinued experimental programming language for high-performance computing, created by Sun Microsystems with funding from DARPA's High Productivity Computing Systems project. One of the language designers was Guy L. Steele Jr., whose previous work includes Scheme, Common Lisp, and Java.
Design
The name "Fortress" was intended to connote a secure
Fortress was also designed to be both highly parallel and have rich functionality contained within libraries, drawing from Java. For example, the for
loop construct was a parallel operation, which would not necessarily iterate in a strictly linear manner, depending on the underlying implementation. However, the for
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 to
History
Fortress was one of three languages created with funding from the High Productivity Computing Systems project; the others were X10 from IBM and Chapel from Cray, 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 the
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!
This is the Fortress version of the archetypal hello world program, as presented in the Fortress Reference Card:[2]
component hello export Executable run() = println(“Hello, World!”) end
The export statement makes the program
See also
References
- ^ 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 from the original (PDF) on 2013-01-20.
- ^ a b "Project Fortress Reference Card" (PDF). Java.net. Archived from the original (PDF) on 2016-03-04. Retrieved 2016-09-24.
- ^ "pseudocode - Standards for pseudo code?". Stack Overflow. 2009-10-16. Retrieved 2016-09-24.
- ^ Josh Simons (November 22, 2006). "Sun Not Selected for HPCS Phase III: My Thoughts". The Navel of Narcissus. Archived from the original on 2012-01-06 – via blogs.oracle.com.
- ^ "What's Cool about Fortress". gbcacm.org. Greater Boston Chapter of the ACM. Archived from the original on 2012-08-02.
- ^ Gls-Oracle (2012-07-20). "Fortress Wrapping Up". Project Fortress. Archived from the original on 2016-09-24 – via blogs.oracle.com.
External links
- 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