Fortress

Nov. 28th, 2010 03:23 am
pphantom: (Default)
[personal profile] pphantom
Дошли руки почитать многочисленные описания языка Fortress, который, как предполагается, должен стать новым базовым вычислительным языком. Впечатление оказались двоякими - с одной стороны, местами интересно, с другой - четкое впечатление, что язык разрабатывали не прикладники-вычислители, а специалисты в CS (надо сказать, что впечатление соответствует действительности). Неплохие идеи перемежаются с "розочками на торте", которые в реальной жизни будут только помехой - например, использование unicode в синтаксисе и аппарат для работы с физическими размерностями.

Кроме этого, есть и очевидные глупости. Например, динамическая типизация - трудно представить себе, во-первых, зачем она нужна в "числодробительном" языке, и, во-вторых, как написать для такого языка компилятор, выдающий более-менее производительный код. Синтаксис излишне заумен - лично мне в этом отношении он больше всего напомнил Haskell, который народ именно по этой причине периодически сравнивает с Brainfuck. Ну и традиционная уже "мультипарадигменность", ради которой в язык запихали что-то функциональное, что-то от ООП... также традиционно сделав некую кашу, ненужную на практике, но позволяющую гордо заявлять, что "и это [лямбда, инкапсуляция и т.д. - подставлять по вкусу] в нем тоже есть".

Но самое забавное, это общее впечатление. Fortress чем-то очень похож... на Алгол-60. Не конструкциями, а общим стилем языка - достаточно красивого, удобного, пожалуй, для "книжного" описания алгоритмов, но малопригодного для реальных задач.

Date: 2010-11-28 09:55 am (UTC)
From: [identity profile] theoreticus.livejournal.com
название Fortress намекает на преемственность от Fortran'а?
интересно, зачем в вычислительном языке размерности?... может, конечно, это особенности нашей бауманско-ИПМовской школы, но первый такт после формулировки модели всегда ее обезразмеривание... действительно, сразу возникает вопрос о производительности.

Date: 2010-11-28 12:07 pm (UTC)
From: [identity profile] pphantom.livejournal.com
Не берусь утверждать точно, но такое впечатление, что название выбирали отчасти по созвучию с Фортраном, отчасти - по "аналогии" с Chapel (еще один язык для той же ниши, разработанный Cray, и, пожалуй, более удачный).

А обезразмеривание - это не Бауманка или ИПМ, это просто здравый смысл. :) Помимо чисто физической пользы (возможное уменьшение числа свободных параметров задачи и т.д.), эта операция, насколько возможно, минимизирует риски потери точности при вычислениях с плавающей точкой.

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

Date: 2010-11-28 02:39 pm (UTC)
From: [identity profile] waspagv.livejournal.com
>аппарат для работы с физическими размерностями

Странно. Я до сих пор думал, что численные расчеты нужно проводить в безразмерных величинах. У меня был коллега на кафедре ФТТ, который запросто выносил студентов на экзамене, если те при решении задачи не "обезразмерили" формулы перед вычислениями.

Date: 2010-11-28 02:45 pm (UTC)
From: [identity profile] pphantom.livejournal.com
Ну да, только разработчики Fortress так не думают. :)

Date: 2011-10-07 06:46 am (UTC)
From: [identity profile] mohnat4.livejournal.com
Забавно-забавно. У меня в своё время были схожие впечатления от знакомства с этим языком. С одной стороны задумка очень и очень хороша, но с другой зачем придумывать велосипед?) Такое чувство, что пытались запихнуть всё, что только есть. Каша, одним словом. Вопрос, а нужно ли всё это?
Подведу итог. На данный момент достаточно хороших языков программирования и специалистов по ним. Все возможности fortress'а, на мой взгляд, можно реализовать и без него, текущими средствами.)

Profile

pphantom: (Default)
pphantom

February 2017

S M T W T F S
   1234
56789 1011
12131415161718
19202122232425
262728    

Style Credit

Expand Cut Tags

No cut tags
Page generated Jul. 10th, 2025 09:38 am
Powered by Dreamwidth Studios