Fortress: Жоғары өнімділік үшін жасалған эксперименттік бағдарламалау тілі
Fortress (programming language)
Fortress: Sun Microsystems-тың жоғары өнімді есептеу үшін жасалған, тоқтатылған бағдарламалау тілі. Қауіпсіздік, параллелизм, Unicode және математикалық синтаксис.
Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
Fortress – Sun Microsystems компаниясы DARPA-ның Жоғары өнімділік Есептеу жүйелері жобасының қаржыландырылуымен жасалған, қолданыстан тоқтатылған эксперименталдық, жоғары өнімділікке арналған бағдарламалау тілі. Тілді жобалаушылардың бірі Гай Л. Стил-младший болды, оның бұрынғы жұмыстарына Scheme, Common Lisp және Java кіреді.
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.
Дизайн
"Фортестрес" атауы қауіпсіз Фортранды білдіру мақсатында болды, яғни "заманауи бағдарламалау тілдерінің қағидаларымен салыстырылатын абстракция және типтік қауіпсіздікті қамтамасыз ететін жоғары өнімді есептеу тілі". Тілдің ерекшеліктеріне қатарлы өңдеу мүмкіндігі, Юникод қолдауы және математикалық нотацияға ұқсас нақты синтаксис кірді. Тіл Фортранға ұқсас болу үшін жасалмаған. Синтаксистік тұрғыдан алғанда, ол Scala, Standard ML және Haskell тілдеріне жақын. Fortress бастапқыда бірнеше синтаксистік стильдерді қолдау үшін жобаланған. Бастапқы код ASCII мәтіні түрінде, Юникодта немесе әдемілендірілген графикалық түрде көрсетілуі мүмкін. Бұл математикалық символдар мен басқа да символдарды көрсетілген нәтижеде қолдануға және оқуды жеңілдетуге мүмкіндік берді. Fortify деп аталатын Emacs құралы ASCII негізіндегі Fortress бастапқы кодын LaTeX форматына түрлендіреді. Fortress сонымен қатар Java кітапханаларынан алынған бай функционалдыққа ие және жоғары параллельді болу үшін жобаланған. Мысалы, for циклы параллель операция болып табылады, ол негізгі іске асылу тәсіліне байланысты міндетті түрде сызықтық ретпен орындалмайды. Дегенмен, for конструкциясы кітапхана функциясы болды және тілге енгізілгеннен гөрі бағдарламашының қалауынша басқа нұсқамен алмастырылуы мүмкін. Fortress жасаушылары оның синтаксисін псевдокодқа мүмкіндігінше жақын етуге тырысты және псевдокодты қолдана отырып, жүздеген компьютерлік ғылым және математикалық мақалаларды, оқу курстарын, кітаптарды және журналдарды талдап, алгоритмдерді псевдокодта бейнелеу үшін қолданылатын ағылшын тілінің және стандартты математикалық нотацияның жиі қолданылатын үлгілерін анықтады. Содан кейін олар компиляторды псевдокод пен орындалатын Fortress арасында бір-бірге сәйкес келуін қамтамасыз етуге бағыттады.
The name "Fortress" was 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". Language features included implicit parallelism, Unicode support and concrete syntax similar to mathematical notation. The language was not designed to be similar to Fortran. Syntactically, it most resembles Scala, Standard ML, and Haskell. Fortress was 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 would allow for support of mathematical symbols and other symbols in the rendered output for easier reading. An emacs based tool called fortify transforms ASCII based Fortress source code into LaTeX output. 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 pseudocode and analyzed hundreds of computer science and mathematics papers, courses, books and journals using pseudocode to extract the common usage patterns of the English language and standard mathematical notation when used to represent algorithms in pseudocode. Then they made the compiler trying to maintain a one to one correspondence between pseudocode and executable Fortress.
Тарих
Fortress – High Productivity Computing Systems жобасының қаржысымен жасалған үш тілдің бірі; қалғандары – IBM-нің X10 және Cray, Inc-тің Chapel тілдері. 2006 жылдың қараша айында DARPA HPCS жобасының үшінші кезеңіне қаржыландыруды бекіткен кезде X10 және Chapel тілдері қаржыландырылды, ал Fortress қаржыландырылмады, бұл Fortress-тің болашағына қатысты белгісіздік тудырды. 2007 жылдың қаңтар айында Fortress ашық код ретінде жарияланды. Fortress тілінің 1.0 нұсқасының сипаттамасы 2008 жылдың сәуір айында Java Virtual Machine-ге сәйкес келетін орындалумен бірге шығарылды. 2012 жылдың шілдесінде Стил Fortress-тің белсенді әзірлемесі қысқа мерзімдік тоқтаудан кейін тоқтатылатынын хабарлады, себебі қолданыстағы виртуалды машиналарда Fortress-тің типтік жүйесін пайдалануда қиындықтар туындады.
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, leading to uncertainty about the future of Fortress. In January 2007, Fortress was released as open source. 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, 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.