LINUX.ORG.RU

История изменений

Исправление stevejobs, (текущая версия) :

Когда работал программистом (пару лет назад) - постоянно писал свои библиотеки. В библиотеках бывали алгоритмы.

Но я вообще не понял, почему ты цепляешься ко слову «алгоритмы», если это какой-то алгоритм-алгоритм, фундаментальная неделимая математическая штука, то это обычно как раз нечто на несколько строк кода - какой-нибудь адский for шестирной вложенности, который один-в-один передранная формула. Например, для анализа временного ряда.

Хороший пример - это C++ STL, где алгоритмы хранятся отдельно от структур данных, и их уровень абстракции позволяет так жить

Условно говоря, вот у тебя есть std::all_of, он определен в библиотеке . Его возможная реализация - это

template< class InputIt, class UnaryPredicate >
constexpr bool all_of(InputIt first, InputIt last, UnaryPredicate p)
{
    return std::find_if_not(first, last, p) == last;
}

Соответственно, аналог в Java был бы дженерик классом, состоящим из одного метода, который состоит из одной строчки.

У меня раньше постоянно чесались руки переписать STL на Java, но потом я осознал, что сама Java не очень-то и нужна, и стоит переходить на JavaScript :)

Исходная версия stevejobs, :

Когда работал программистом (пару лет назад) - постоянно писал свои библиотеки. В библиотеках бывали алгоритмы.

Но я вообще не понял, почему ты цепляешься ко слову «алгоритмы», если это какой-то алгоритм-алгоритм, фундаментальная неделимая математическая штука, то это обычно как раз нечто на несколько строк кода - какой-нибудь адский for шестирной вложенности, который один-в-один передранная формула. Например, для анализа временного ряда.

Хороший пример - это C++ STL, где алгоритмы хранятся отдельно от структур данных, и их уровень абстракции позволяет так жить

Условно говоря, вот у тебя есть std::all_of, он определен в библиотеке . Его возможная реализация - это

template< class InputIt, class UnaryPredicate >
constexpr bool all_of(InputIt first, InputIt last, UnaryPredicate p)
{
    return std::find_if_not(first, last, p) == last;
}

Соответственно, аналог в Java был бы дженерик классом, состоящим из одного метода, который состоит из одной строчки.