История изменений
Исправление
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 был бы дженерик классом, состоящим из одного метода, который состоит из одной строчки.