Twierdza (język programowania)

Twierdza
Deweloper Laboratoria Słońca
Po raz pierwszy pojawiły się 2006
Ostateczne wydanie
1.0_5033 / 7 września 2011 ; 11 lat temu ( 07.09.2011 )
Dyscyplina pisania Statyczny
Platforma Java SE 1.6+
system operacyjny Międzyplatformowe
Licencja BSD
Strona internetowa github.com/stokito/fortress-lang _ _ _
Pod wpływem
Fortrana , Scali , Haskella

Fortress to wycofany z produkcji eksperymentalny język programowania do obliczeń o wysokiej wydajności , stworzony przez Sun Microsystems przy finansowaniu z projektu DARPA High Productivity Computing Systems . Jednym z projektantów języka był Guy L. Steele Jr. , którego poprzednie prace obejmowały Scheme , Common Lisp i Javę .

Projekt

Nazwa „Twierdza” miała kojarzyć się z bezpiecznym Fortranem , tj. „językiem do obliczeń o wysokiej wydajności, który zapewnia abstrakcję i bezpieczeństwo typów na równi z zasadami współczesnego języka programowania”. Cechy języka obejmowały niejawną równoległość , obsługę Unicode i konkretną składnię podobną do notacji matematycznej . Język nie został zaprojektowany tak, aby był podobny do Fortranu. Syntaktycznie najbardziej przypomina Scalę , Standard ML i Haskell . Fortress został zaprojektowany od samego początku tak, aby zawierał wiele składniowych arkuszy stylów. Kod źródłowy może być renderowany jako tekst ASCII , w Unicode lub jako ładny obraz. Pozwoliłoby to na obsługę symboli matematycznych i innych symboli w renderowanym wyniku w celu łatwiejszego czytania. Narzędzie emacsie o nazwie fortify przekształca kod źródłowy Fortress oparty na ASCII na dane wyjściowe LaTeX .

Fortress został również zaprojektowany tak, aby był zarówno wysoce równoległy, jak i miał bogatą funkcjonalność zawartą w bibliotekach, czerpiąc z Javy. Na przykład for była operacją równoległą, która niekoniecznie musiałaby iterować w ściśle liniowy sposób, w zależności od podstawowej implementacji. Jednak for była funkcją biblioteczną i można ją było zastąpić inną wersją gustu programisty, zamiast być wbudowaną w język.

Projektanci Fortress maksymalnie zbliżyli składnię do pseudokodu i przeanalizowali setki artykułów, kursów, książek i czasopism z informatyki i matematyki , używając pseudokodu, aby wyodrębnić typowe wzorce użycia języka angielskiego i standardowej notacji matematycznej, gdy są używane do reprezentowania algorytmów w pseudokodzie . Następnie zmusili kompilator do utrzymania korespondencji jeden do jednego między pseudokodem a wykonywalną Fortress. [ potrzebne lepsze źródło ]

Historia

Fortress był jednym z trzech języków stworzonych dzięki środkom z projektu High Productivity Computing Systems ; pozostałe to X10 firmy IBM i Chapel firmy Cray, Inc. W listopadzie 2006 roku, kiedy DARPA zatwierdziła finansowanie trzeciej fazy projektu HPCS, X10 i Chapel zostały sfinansowane, ale Fortress nie, co doprowadziło do niepewności co do przyszłości Fortress.

W styczniu 2007 Fortress został wydany jako open source. Wersja 1.0 specyfikacji języka Fortress została wydana w kwietniu 2008 roku wraz ze zgodną implementacją ukierunkowaną na wirtualną maszynę Java .

W lipcu 2012 roku Steele ogłosił, że aktywny rozwój Fortress zakończy się po krótkim okresie likwidacji, powołując się na komplikacje związane z używaniem systemu typów Fortress na istniejących maszynach wirtualnych.

Przykład: Witaj świecie!

To jest wersja Fortress archetypowego programu hello world , jak przedstawiono w karcie referencyjnej Fortress :

komponent hello export Plik wykonywalny run() = println("Witaj, świecie!") end

Instrukcja export sprawia, że ​​program jest wykonywalny , a każdy wykonywalny program w Fortress musi implementować funkcję run() . Plik, w którym zapisywany jest program do kompilacji, musi mieć taką samą nazwę jak podana w początkowej komponentu . Funkcja println() wyświetla komunikat „Witaj, świecie!” słowa na ekranie.

Zobacz też

Linki zewnętrzne