>> например я бы хотел использовать вместо цвета - вес класса, а вместо
>> калорийности - время выполнения метода при входящих параметрах x, y и z
> Как только вы сможете дать математическиое определение таким понятиям как "вес класса"
> и "время выполнения метода при входящих параметрах x, y и z".
> Даю подсказку, следущие параметры в общем случае никак не связаны между
> собой: количество строк исходного кода, время компиляции, объем байткода, результирующее
> количество инструкций процессора, потребляемая память различных видов, процессорное
> время, реальное время, нагрузка на IO. Также стоит помнить, что кроме
> воображаемого мира адептов функциональщины существует еще реальный мир, в котором время
> выполнения и результат функций/методов зависит от состояния внешних объектов.алгоритмы часто имеют известную сложность от входящих и потребление памяти в логических единицах от входящих (а ещё их можно множить на размер логических единиц в байтах)
а f(g(n)) при работе с внешним объектом с характеристикой g(n) вполне считать можно
зы: ни кто не мешает в "условиях вызова" указывать диапазоны значений, а в условиях функций - диапазоны и характерные функции к ним
> UML это инструмент, применять нужно с умом и в подходящих
> условиях. Ожидать что он сделает за вас всю работу просто глупо
а почему собсно бы и не всю работу ? UML я правда лично ещё не смотрел толком но не понимаю что мешает из блоксхемы с нормально расписанными условиями, циклами и прочим делать нормальный код, разбитый по модулям/классам в соответствии с разбивкой в блоксхеме
по крайней мере для жавы я представляю себе и преобразование кода в блоксхему и обратное преобразование
зы: и я таки хочу всё вместе:
и возможность описания требуемых мне автоматических оптимизаций
и возможность описывать код характеризующими функциями с возможностью выбора оптимального варианта для данных входных значений компилятором (фактически сейчас это можно реализовывать через фабрику-обёртку-дао где делать ифы и по результатам возвращать оптимум - НО это приходится делать руками... работу с объектами можно тоже сделать через функциональщину - но ручками то писать неохото когда за человека способна поработать железяка - прописать таблицы вызовов и выбор, попутно ещё и оптимизировав... что-то в этом духе http://rainman-rocks.livejournal.com/122876.html ==> повышаем декларативность так сказать..)
и возможность переходить в блоксхемный вид (куда более наглядный и раскрывающий связи) и обратно с возможностью "писать код" в обоих по своему выбору где мне удобнее (тоесть преобразование язык-блоксхема должно быть достаточно однозначным)