LINUX.ORG.RU

Fortress 1.0

 , , ,


0

0

За первоапрельскими шутками прошёл незамеченным выход версии 1.0 языка программирования Fortress - спецификации и экспериментальной реализации.

Язык Fortress разрабатывается компанией Sun Microsystems уже почти три года. Разработка начиналась в рамках инициативы министерства обороны США - программы DARPA HPCS, давшей начало также языкам X10 (IBM) и Chapel (Cray). В 2006 году финансирование из источников DARPA было прекращено, и с 2007 года проект развивается по модели Open Source. "Отцом" Fortress является Guy L. Steele, Jr. - человек, в своё время разработавший язык Scheme.

Fortress позиционируется как язык для высокопроизводительных параллельных вычислений, в некотором роде замена Fortran. Fortress - мультипарадигменный язык, сочетающий в себе черты объектно-ориентированных и функциональных языков, динамически типизированный (с выведением типов), учитывающий специфику параллельных вычислений на уровне семантики языка (автоматическое распараллеливание циклов for и т.п.). Поддерживаются lambda-выражения, замыкания, хвостовая рекурсия. Из инновационных свойств - активное использование Unicode в исходных текстах, за счёт этого - максимальное приближение текста к математической нотации; использование размерностей. По словам авторов, семантически Fortress ближе всего к Java, а синтаксисом больше всего напоминает Scala, Standard ML и Haskell.

Версия 1.0 включает в себя спецификацию и интерпретатор Fortress, написанный на Java. По словам разработчиков, некоторые "killer features" пришлось исключить из спецификации, так как они требуют дальнейшего исследования, но в то же время очень важно, чтобы спецификация и интерпретатор находились в полном соответствии. Интерпретатору сопутствуют также Emacs mode для Fortress и инструмент Fortify для представления исходных текстов в LaTeX.

Сообщение о старте проекта Fortress в 2005 году было встречено на linux.org.ru горячими дискуссиями, и хочется верить, что интерес сообщества к данной разработке только возрос.

Сайт проекта: http://projectfortress.sun.com

>>> Сообщение о выходе Fortress 1.0

anonymous

Проверено: Shaman007 ()

А что за компилятор в исходниках?

Пару раз пытался собрать из исходников - не получалось...

yyk ★★★★★
()

Теперь я знаю чёткое определение слова кошамар. Это "интерпретатор, написанный на Java" (-:

Nikon
()

> кластеры В метках принято писать именительный падеж и единственное число. Бегом на первоапрельский баш!

anonymous
()
Ответ на: комментарий от Nikon

Идиёт.

Guy L. Steele Jr это тот самый чувак, который работал в комитете по стандартизации Common Lisp.

Похоже, это очень серьезный язык будет, не какой нибудь там ruby, или говнопистончик.

Sun-ch
()
Ответ на: комментарий от Sun-ch

> Похоже, это очень серьезный язык будет, не какой нибудь там ruby, или говнопистончик.

и очередная лужа загазировалась....

cleg
()
Ответ на: комментарий от Sun-ch

> Похоже, это очень серьезный язык будет, не какой нибудь там ruby, или говнопистончик.

А насколько просто там будет башлять формы? а?

anonymous
()

>динамически типизированный (с выведением типов)

Я плакал

>активное использование Unicode в исходных текстах, за счёт этого - максимальное приближение текста к математической нотации

Я рыдал

anonymous
()
Ответ на: комментарий от anonymous

>активное использование Unicode в исходных текстах, за счёт этого - максимальное приближение текста к математической нотации

кстати да

Nikon
()

ААААААААААААААААААААААААА! Это даже круче чем вендекапец!

P.S. Все дружно сделали три раза КУ перед великим саном, всем жабобыдлокодерам немедленно качать!

anonymous
()
Ответ на: комментарий от anonymous

>P.S. Все дружно сделали три раза КУ перед великим саном, всем жабобыдлокодерам немедленно качать!

Ой шо щас будет.....

anonymous
()

Предоставление исходных текстов в LaTeX? Это я могу написать статеечку, а затем формулы из неё сразу вставить в расчётную программу?

Aceler ★★★★★
()

С одной стороны "HPC" и "FORTRAN" с другой "Java" и "интерпретатор"

Они серьёзно хотят первое заменить на второе ? %)

Пацтулом.

sS ★★★★★
()
Ответ на: комментарий от sS

> С одной стороны "HPC" и "FORTRAN" с другой "Java" и "интерпретатор"

> Они серьёзно хотят первое заменить на второе ? %)

> Пацтулом.

Понятно - по ссылкам не ходим... Ну и сиди под стулом - кто же тебе мешает.

По теме - на жабке они "тренируются": "Our initial implementation effort targets the JVM."

yyk ★★★★★
()

У санок появился свой F# ?

imp ★★
()
Ответ на: комментарий от Aceler

> Предоставление исходных текстов в LaTeX? Это я могу написать статеечку, а затем формулы из неё сразу вставить в расчётную программу?

Полагаю, что как раз наоборот.

sv75 ★★★★★
()

> ...хочется верить, что интерес сообщества к данной разработке только

что-то по этому треду не скажешь :)

AcidumIrae ★★★★★
()
Ответ на: комментарий от Alphaer

А что ты можешь предложить? Люди, которые умеют писать высокопроизводительные, многопоточные программы на С/С++ и разбираются в предметной области скоро все умрут. Как умерли программисты на фортране.

Sun-ch
()
Ответ на: комментарий от Alphaer

>После таких новостей думаешь "Сколько еще бездельников не на >лесоповале". >Это я про я ...

Оговорка по фрейду :)

anonymous
()
Ответ на: комментарий от Alphaer

> После таких новостей думаешь "Сколько еще бездельников не на лесоповале". > Это я про я

немного безграмотно, но зато откровенно

anonymous
()
Ответ на: комментарий от Nikon

>Теперь я знаю чёткое определение слова кошамар. Это "интерпретатор, написанный на Java" (-:

О! не успел я проснуться, а на ЛОРе уже выложили результаты анализов! Ждем рекомендаций от ЛОРовских аналитиков доктору наук и комитету DARPA по направлениям совершенствования разработок языков следующих поколений

А вообще на ЛОР уже были новости о Fortress http://www.linux.org.ru/view-message.jsp?msgid=1431376 "Знаете почему Профессор ушел с LOR? Потому что после Fortress ему теперь нечем крыть. Любой жабабыдлокодер сможет теперь на Fortress писать используюя подхвостовую рекурсию, замыкания, и прочий сахар, без которого vsl не живется"

'Но за счет достаточно странного графического изображения получающегося кода, понять его получается легче. Теперь я понял зачем я изучал язык программирования Maple - много схожих идей тут.'

http://www.linux.org.ru/view-message.jsp?msgid=1738613&page=-1 http://www.linux.org.ru/view-message.jsp?msgid=895098&page=-1

'Скорость написания кода в том числе складывается и из возможности его повторного использования и расширябельности кода ... пайтон в HPC тупик по _сути_'

anonymous
()
Ответ на: комментарий от Sun-ch

Это маркетоидный буллшит :)

MPI биндинги для Java не делают его ЯП для HPC

sS ★★★★★
()
Ответ на: комментарий от Nikon

>Теперь я знаю чёткое определение слова кошамар. Это "интерпретатор, написанный на Java" (-:

О! не успел я проснуться, а на ЛОРе уже выложили результаты анализов! Ждем рекомендаций от ЛОРовских аналитиков доктору наук и комитету DARPA по направлениям совершенствования разработок языков следующих поколений

А вообще на ЛОР уже были новости о Fortress http://www.linux.org.ru/view-message.jsp?msgid=1431376 "Знаете почему Профессор ушел с LOR? Потому что после Fortress ему теперь нечем крыть. Любой жабабыдлокодер сможет теперь на Fortress писать используюя подхвостовую рекурсию, замыкания, и прочий сахар, без которого vsl не живется"

'Но за счет достаточно странного графического изображения получающегося кода, понять его получается легче. Теперь я понял зачем я изучал язык программирования Maple - много схожих идей тут.'

http://www.linux.org.ru/view-message.jsp?msgid=1738613&page=-1 http://www.linux.org.ru/view-message.jsp?msgid=895098&page=-1

'По сути своей язык позволяет писать программы в размерностях не заботясь об их сочленении.

О такой возможности я думал уже давно и честно говоря был расстроен почему программисты не видят насколько насущна данная проблема.

В этом смысле большинство программистов далеки от реального мира и предлагают решение на уровне сферического коня в вакууме.

Тот факт что Sun-техники догадались до введения такой возможности делает их выше в моих глазах.'

'Скорость написания кода в том числе складывается и из возможности его повторного использования и расширябельности кода ... пайтон в HPC тупик по _сути_'

'Ты себе не представляешь, сколько бабок получает Lingvo, DialogNauka, Kasperski Labs с продаж в розницу и сколько с продаж оптом разным госконторам. 2 гораздо больше. Поэтому не удивляйся в следующий раз, когда узнаешь, что твои налоги перекочевали в карман 1С, Kasperski Labs etc etc etc через государственные закупки для школ, для налоговых, таможенных контор, для собесов всяких'

anonymous
()
Ответ на: комментарий от yyk

>Понятно - по ссылкам не ходим...

Телепат ?

Я даже эту хрень скачал на посмотреть.

Как мне её на кластер поставить ? ;)

PS: Ты видимо не понимаешь что такое HPC и что такое 0.1% в производительности на один воркер ;)

sS ★★★★★
()
Ответ на: комментарий от sS

Я конечно небольшой специалист по фортрану, но разве там уже есть механизмы динамического управления памятью, или возможность мультипоточного программирования, вне зависимости от архитектуры?

И вообще, вроде как его уже лет 10 не преподают?

Sun-ch
()
Ответ на: комментарий от sS

> Телепат ?

Да не... :)

> Как мне её на кластер поставить ? ;)

> PS: Ты видимо не понимаешь что такое HPC и что такое 0.1% в производительности на один воркер ;)

А ты видимо не понимаешь, что это прототип и ничего более... Да, версия 1.0 сбивает с толку. Но это версия прототипа и/или спецификации языка. Щупать - можно. Оценивать сам язык (как язык) - можно. Предъявлять претензии реализации - по меньшей мере глупо.

yyk ★★★★★
()
Ответ на: комментарий от sS

Ну HPC это не всегда кластер, особенно если учесть, что новый 10 петафлопный компьютер будет работать в рамках одного образа ОС.

Sun-ch
()
Ответ на: комментарий от Sun-ch

>конечно небольшой специалист по фортрану, но разве там уже есть механизмы динамического управления памятью, или возможность мультипоточного программирования, вне зависимости от архитектуры?

Я тоже его 20 лет как не трогал но вроде как и первое и второе в нём уже реализовано ....

sS ★★★★★
()
Ответ на: комментарий от Sun-ch

В данном случае это не суть важно. SSI это удобство представления которое покупается за счёт оверхеда на коммуникации.

В Java же эти оверхеды на каждом углу ...

В данном(сабжевом) случае я даже удобства особого не заметил ...

sS ★★★★★
()
Ответ на: комментарий от yyk

>Оценивать сам язык (как язык) - можно

Чего вам не хватает в том же современном фортране в плане HPC и что _этакого_ вам даст эта новая поделка ?

Даже если солнцеликие смогут выкатить его сверхбыструю мегареализацию кто будет тонны старого кода переписывать ?

sS ★★★★★
()
Ответ на: комментарий от sS

На яве написан первый интерпретатор, основная задача сейчас - разработка самого языка и его стандартизация, в дальнейших планах - разработка компилятора.

Sun-ch
()
Ответ на: комментарий от sS

> Чего вам не хватает в том же современном фортране в плане HPC и что _этакого_ вам даст эта новая поделка ?

Мне бы вот некоторую дискретку считать хотелось (и никакой плавающей точки). Желательно в математической нотации ;)

sv75 ★★★★★
()
Ответ на: комментарий от sS

Устарел фортран, как впрочем С/С++. Люди все больше пишут на яве или других динамических языках. Да и в тех, весь параллелизм и синхронизацию наверное надо делать руками. А тут сам язык будет это делать.

Sun-ch
()
Ответ на: комментарий от Sun-ch

> Guy L. Steele Jr это тот самый чувак, который работал в комитете по стандартизации Common Lisp. Похоже, это очень серьезный язык будет, не какой нибудь там ruby, или говнопистончик.

Сам придумываешь факты? Демиург? В википедии(да и в новости) говорится про схему. Во-вторых, не вижу никакой творческой работы в _комитете_по_стандартизации_. В принципе после МакКартни в Схеме вообще мало творческой работы.

Так что радостный бздешь насчет разработки фортреса считаю преждевременным. Новизны в нем ноль. Как и творческой работы. Посидел себе, потырил фишек с разных языков...

anonymous
()
Ответ на: комментарий от Sun-ch

>На яве написан первый интерпретатор, основная задача сейчас - разработка самого языка и его стандартизация, в дальнейших планах - разработка компилятора.

Такими темпами ему фортран не догнать ;)

В нём (фортране) новые фичи появляются гораздо быстрее чем этот прототип дойдёт до продакшена.

sS ★★★★★
()
Ответ на: комментарий от Sun-ch

> Да и в тех, весь параллелизм и синхронизацию наверное надо делать руками. А тут сам язык будет это делать.

Сейчас есть два живых подхода к безгемморойному паралеллизму - ActorЭрланг) и STM(Хаскелл). В фортрессе я этого не заметил, а паралельный for - это курам насмех. В том же Эрланге pmap уже сто лет как есть.

anonymous
()
Ответ на: комментарий от sS

> В нём (фортране) новые фичи появляются гораздо быстрее чем этот прототип дойдёт до продакшена.

Веротяно хочется иметь средство описание проблемы, понятное специалисту по предметной области, а не гику, выучившему наизусть весь MPI-2/OpenMP/etc. И если оно будет в 10-100 раз медленее - не беда. ;)

sv75 ★★★★★
()
Ответ на: комментарий от sS

В современном фортране всего хватает для HPC. Проблема в другом. Считает себе человек что-нибудь на коленке. В Mathematica, какой-нибудь. И вдруг с ужасом понимет, что это у него натурально HPC. Потому, что точка сутки считается. И начинает переписывать код на фортран. С языка где есть синтаксический сахар, функциональщина, в полной мере, и даже автоматический контроль точности вычислений на крайне незамысловатый фортран.

Для таких случаев Fortress может быть много удобней. Если, конечно, хороший компилятор будет.

Loh ★★
()
Ответ на: комментарий от anonymous

> Сейчас есть два живых подхода к безгемморойному паралеллизму - ActorЭрланг) и STM(Хаскелл).

С erlang, думаю, не пускают на кластеры (ну и скорость у него будет, полагаю, небыстрая)

sv75 ★★★★★
()
Ответ на: комментарий от Loh

> Проблема в другом. Считает себе человек что-нибудь на коленке. В Mathematica, какой-нибудь. И вдруг с ужасом понимет, что это у него натурально HPC.

В теории для Mathlab (как я помню) есть же MPI-бекенд. Вживую не видел. Что с ним не так?

sv75 ★★★★★
()
Ответ на: комментарий от anonymous

Это язык для специлистов в своей предметной области, какой нахрен хаскель? Они и С толком осилить не могут, хотя есть масса талантливых программистов, физиков/математиков/химиков по основной специальности, но как говорилось выше, это люди старшего поколения и их с каждым годом все меньше.

Sun-ch
()
Ответ на: комментарий от sS

> Чего вам не хватает в том же современном фортране в плане HPC и что _этакого_ вам даст эта новая поделка ?

Как раз проглядел сборник лекций Веоводина-старшего, и мне стало понятно, зачем оно надо в теории. Потому что заниматься мазохизмом, к которому он призывает и который называет алгоритмизацией (переход от описания в математике к фортану с учетом особенностей железа/компилятора/конкретного кластера) человечество не может заниматься вечно :)

> Даже если солнцеликие смогут выкатить его сверхбыструю мегареализацию кто будет тонны старого кода переписывать ?

Никто. Новый будут писать.

sv75 ★★★★★
()
Ответ на: комментарий от Sun-ch

>Люди все больше пишут на яве или других динамических языках

Вопрос _что_ они пишут и для каких целей ;)

Какие то части, не критичные к скорости выполнения, могут быть написаны и на java и на python. Например в mvapich process manager написан на python, но основной код приложения всё равно будет на "быстром" компилируемом языке.

>Да и в тех, весь параллелизм и синхронизацию наверное надо делать руками. А тут сам язык будет это делать

Это чистА красивая сказка про "автоматический" параллелизм ;)

sS ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.