Pull to refresh
-12
0

Пользователь

Send message
Причём, как я понял, все эти акценты произношения слов не меняют, то есть чисто для красоты ставятся шляпки и чёрточки?
Некоторое радиооборудование прогревают во включенном состоянии, например чтобы кварцевый генератор вышел на режим
Казалось бы, всё это так просто проверить: двойной слепой метод в помощь.

В прошлых опросах лидировала винда — не понимаю, откуда столько эмоций.

Язык C# прекрасен, лучшего мейнстрим языка пока нет.

Что думаете о Swift?

Как показывает практика "свободному" ПО зачастую всё равно нужна корпоративная поддержка.

А не связано ли появление серых кругов с тем, что изображение на мониторе тоже само по себе мерцает? Соответственно из-за сочетания частот мерцания самого монитора и картинки изменяется «скорость» их движения.
Почему тогда у вас всё ещё существуют неконтракторы, которые получают меньше?
А что не так было с возможностями Союза? Вроде народу в стране было ненамного меньше, чем в США. Да и страны поменьше вроде Германии немало технологических достижений имеют.

Ну как сказать — оккупировали… Вот по данным Stackoverflow Mac OS X и Linux уже практически опережают Windows.

И какой объём занимало ТЗ на ИТ-системы Freddie Mac и Fannie Mae?

В частности для обхода графа есть, к примеру, алгоритм Дейкстры.

Зато придётся описывать интерфейс, если там будет больше аргументов. Что мы пишем BiFunction, что Arrow — какой-то существенной разницы в объёме написанного не видно, честно говоря. Разве что более многословно описывается последовательность вызова функций, но и возможностей больше.


Работа с монадами в jArrows пока не реализована из коробки, в статье по ссылкам это называется Kleisli Arrow. С такой стрелкой можно делать композицию функций, которые возвращают монады.

А как, отвлекаясь от простых математических функций из примера, из статического метода сделать closure? Статический метод — это уже не эквивалент лямбды и примера со стрелкой.


Проблемы, решаемые данным подходом, показаны в начале статьи: явное описание dataflow в приложении. Если Ваc смущает, что простые математические функции можно вызвать проще, то можно написать более абстрактный пример:


Arrow<Pair<A, B>, С> someArrow = Action.of(f1).combine(f2)
        .join(arr2.combine(arr2))
        .join(f3);

someArrow.apply(Pair.of(instA, instB));

Тут f1, f2, arr2, f2 — какие-то существующие длинные функции, как это обычно и бывает. В безточечной записи с обычными вызовами это будет выглядеть примерно так (описание интерфейса лямбды опустим):


Function someLambda = (A instA, B instB) -> {
    return f3(arr2(f1(instA)), arr2(f2(instB)));
}

someLambda.apply(instA, instB);

Для простых функций оно выглядит почти одинаково, но что, если мы захотим использовать монады или сделать параллельный combine, например? Со стрелкой мы просто используем ParallelAction вместо Action, а вот лямбду придётся переписывать с futures со всеми вытекающими.

Блок — это sin_cos (который определён как Action.of(Math::sin).combine(Math::cos)), который можно применять к паре значений.
В вашем примере sumSinCos — не лямбда, так что он уже не совсем эквивалентен: нужно ещё описать класс-обёртку. В итоге количество строк такое же.

Не всегда получается свободно выбирать язык, всё-же Java значительно шире распространён.

Кстати решил переписать один из математических примеров в обычном стиле:


@FunctionalInterface
interface Function2 <A, B, R> { 
    public R apply (A a, B b);
}
...
Function2 <Double, Double, Double> sum_SinCos = (a, b) -> {
    double sin_res = Math.sin(a);
    double cos_res = Math.cos(b);

    return sin_res*sin_res + cos_res*cos_res;
};

Не сказал бы, что он в 10 раз короче, тем более тут мы лишились возможности повторного использования блоков.

Я имел ввиду, что на LabView очень редко пишут программы для энтерпрайза, в отличии от Java.
Например верификация пользователя. По-сути, любой процесс, который можно описать блок-схемой, хорошо ложится на эту модель, математические примеры приведены просто чтобы не писать много кода для описания реальных объектов.
В своей области LabVIEW хорош, но в мейнстримовом прикладном программировании графический подход почему-то не получил распространения. А к области Java LabVIEW совсем слабо применим.

Information

Rating
Does not participate
Registered
Activity