Fortaleza (linguagem de programação)

Fortaleza
DesenvolvedorLaboratórios Solares
Apareceu pela primeira vez2006
Último lançamento
1.0_5033/7 de setembro de 2011 ; Há 12 anos ( 07/09/2011 )
Disciplina de digitaçãoEstático
PlataformaJava SE 1.6+
SOPlataforma cruzada
LicençaBSD
Local na rede Internetgithub.com/stokito/fortress-lang
Influenciado por
Fortran , Scala , Haskell

Fortress é uma linguagem de programação experimental descontinuada para computação de alto desempenho , criada pela Sun Microsystems com financiamento do projeto High Productivity Computing Systems da DARPA . Um dos designers da linguagem foi Guy L. Steele Jr. , cujo trabalho anterior inclui Scheme , Common Lisp e Java .

Projeto

O nome "Fortress" pretendia conotar um Fortran seguro , ou seja, "uma linguagem para computação de alto desempenho que fornece abstração e segurança de tipo no mesmo nível dos princípios da linguagem de programação moderna". [1] Os recursos da linguagem incluíam paralelismo implícito , suporte Unicode e sintaxe concreta semelhante à notação matemática . A linguagem não foi projetada para ser semelhante ao Fortran. Sintaticamente, ele se parece mais com Scala , Standard ML e Haskell . O Fortress foi projetado desde o início para ter múltiplas folhas de estilo sintáticas. O código-fonte pode ser renderizado como texto ASCII , em Unicode ou como uma imagem bonita. Isto permitiria o suporte de símbolos matemáticos e outros símbolos na saída renderizada para facilitar a leitura. Uma ferramenta baseada em emacs chamada fortify transforma o código-fonte do Fortress baseado em ASCII em saída LaTeX . [2]

O Fortress também foi projetado para ser altamente paralelo e ter funcionalidades ricas contidas em bibliotecas, extraídas de Java. Por exemplo, a forconstrução do loop era uma operação paralela, que não necessariamente iteraria de maneira estritamente linear, dependendo da implementação subjacente. No entanto, a forconstrução era uma função de biblioteca e poderia ser substituída por outra versão da preferência do programador, em vez de ser incorporada à linguagem.

Os designers do Fortress tornaram sua sintaxe o mais próxima possível do pseudocódigo e analisaram centenas de artigos, cursos, livros e periódicos de ciência da computação e matemática usando pseudocódigo para extrair os padrões de uso comuns da língua inglesa e notação matemática padrão quando usada para representar algoritmos em pseudocódigo . Então eles fizeram o compilador tentar manter uma correspondência um-para-um entre o pseudocódigo e o executável Fortress. [3] [ fonte melhor necessária ]

História

Fortress foi uma das três linguagens criadas com financiamento do projeto High Productivity Computing Systems ; os outros eram X10 da IBM e Chapel da Cray, Inc. Em novembro de 2006, quando a DARPA aprovou o financiamento para a terceira fase do projeto HPCS, o X10 e o Chapel foram financiados, mas o Fortress não, [4] levando à incerteza sobre o futuro do Fortress.

Em janeiro de 2007, o Fortress foi lançado como código aberto. [5] A versão 1.0 da Especificação da Linguagem Fortress foi lançada em abril de 2008, junto com uma implementação compatível visando a Java Virtual Machine .

Em julho de 2012, Steele anunciou que o desenvolvimento ativo do Fortress cessaria após um breve período de encerramento, citando complicações com o uso do sistema de tipos do Fortress em máquinas virtuais existentes. [6]

Exemplo: Olá mundo!

Esta é a versão Fortress do programa arquetípico hello world , conforme apresentado no Cartão de Referência do Fortress : [2]

componente olá
exportar executável
run() = println(“Olá, mundo!”)
fim

A instrução export torna o programa executável e cada programa executável no Fortress deve implementar a função run() . O arquivo onde o programa é salvo para compilação deve ter o mesmo nome daquele especificado na instrução inicial do componente . A função println() é o que gera a mensagem "Hello, World!" palavras na tela.

Veja também

Referências

  1. ^ Eric Allen; David Chase; Joe Hallett; Victor Luhangco; Jan-Willem Maessen; Sukyoung Ryu; Guy L. Steele Jr.; Sam Tobin-Hochstadt; e outros. (31/03/2008). "Especificação da linguagem Fortress: versão 1.0" (PDF) . research.sun.com . Microssistemas Solares. Arquivado do original (PDF) em 20/01/2013.
  2. ^ ab "Cartão de referência do Projeto Fortress" (PDF) . Java.net . Arquivado do original (PDF) em 04/03/2016 . Recuperado em 24/09/2016 .
  3. ^ "pseudocódigo - Padrões para pseudocódigo?" Estouro de pilha. 16/10/2009 . Recuperado em 24/09/2016 .
  4. ^ Josh Simons (22 de novembro de 2006). "Sun não selecionado para HPCS Fase III: Meus pensamentos" . O Umbigo de Narciso . Arquivado do original em 06/01/2012 - via blogs.oracle.com.
  5. ^ "O que há de legal na Fortaleza" . gbcacm.org . Capítulo da Grande Boston da ACM. Arquivado do original em 02/08/2012.
  6. ^ Gls-Oracle (20/07/2012). "Fortaleza em conclusão" . Projeto Fortaleza . Arquivado do original em 24/09/2016 - via blogs.oracle.com.

links externos

  • Site do Projeto Fortaleza
  • Cronograma ativo de especificação e implementação de referência
  • A especificação da linguagem Fortress (a versão mais recente é 1.0, 31 de março de 2008)
  • The Soul of Fortress – Entrevista com o desenvolvedor do Fortress Guy Steele
  • Página inicial do projeto de código aberto Fortress (licença BSD)
  • Grupo de Pesquisa em Linguagem de Programação da Sun
  • Publicações e especificações do Fortress
  • Plug-in Fortress para Eclipse (alfa)
  • Perguntas frequentes sobre fortaleza
  • Slides do tutorial da Fortaleza
  • Listas de discussão da Fortaleza
  • Artigo Lambda o definitivo
  • O substituto do Fortran da Sun torna-se de código aberto (CNET News.com, 12 de janeiro de 2007)
  • Apresentação da fortaleza
  • Paralelo por padrão – Uma apresentação anotada da visão geral da fortaleza
Retrieved from "https://en.wikipedia.org/w/index.php?title=Fortress_(programming_language)&oldid=1208393764"