|
18.12.2015, 01:54 | #1 |
Участник
|
Цитата:
а на контроль над многопоточным приложением, на параллельные вычисления. вот хорошая лекция "про это" Зачем писать в стиле LINQ, Java Stream параллельная обработка - ой как нужна в ERP распараллелить расчет зарплаты, расчет налоговых регистров, расчет себестоимости. и ведь в Аксапту все равно приходится вводить параллельную обработку (см. расчет себестоимости). Тот проект, где я сейчас работаю, без параллельных вычислений давно сдох бы. На этом проекте почти все выполняется в многопоточном фреймворке. Последний раз редактировалось mazzy; 18.12.2015 в 02:08. |
|
18.12.2015, 07:50 | #2 |
Участник
|
Цитата:
Сообщение от mazzy
дело в том, что современный вектор развития направлен не на математические абстракции,
а на контроль над многопоточным приложением, на параллельные вычисления. вот хорошая лекция "про это" Зачем писать в стиле LINQ, Java Stream параллельная обработка - ой как нужна в ERP распараллелить расчет зарплаты, расчет налоговых регистров, расчет себестоимости. и ведь в Аксапту все равно приходится вводить параллельную обработку (см. расчет себестоимости). Тот проект, где я сейчас работаю, без параллельных вычислений давно сдох бы. На этом проекте почти все выполняется в многопоточном фреймворке. Для параллельного программирования можно использовать более подходящие средства. Например, в СУБД для реализации параллельных запросов используют массивно-параллельную архитектуру (MPP). А в C++ есть замечательная библиотека MPI без всякого функционального программирования и прочих абстракций и парадигм. А Linq2SQL это для достаточно простых запросов и небольших данных. Как только появляются более сложные запросы или большие данные возвращаются к обычному SQL. |
|
18.12.2015, 08:04 | #3 |
Участник
|
Цитата:
Pure functional programming completely prevents side-effects and provides referential transparency, which makes it easier to verify, optimize, and parallelize programs, and easier to write automated tools to perform those tasks. См также plinq |
|
|
За это сообщение автора поблагодарили: AP-1055D (1). |
18.12.2015, 09:51 | #4 |
Участник
|
Я согласен с вами, и вы привели цитату, но параллелизм это следствие, а не цель. Это следствие (параллелизм) появляется в результате того, что мы оперируем чистыми функциями, результат которых зависит только от аргумента и ни от чего более. Следовательно, такие функции можно выполнять параллельно. Но это именно следствие. Основная цель, насколько я это помню из курса лекций и насколько понимаю сам, сделать код максимально модульным, так что, зная результат функции от аргумента можно было бы использовать этот результат независимо от других функций. Так, действительно, можно ввести параллельные вычисления.
|
|
18.12.2015, 11:20 | #5 |
Участник
|
|
|
19.12.2015, 10:02 | #6 |
Участник
|
|
|
18.12.2015, 08:13 | #7 |
Участник
|
Цитата:
Сообщение от AP-1055D
На самом деле современный вектор развития направлен именно на математические абстракции, более чистое, функциональное программирование. Во-первых, в основу LINQ положено понятие лямбда-исчисления. Это математическая абстракция, введённая математиком Алонзо Чёрчем. Во-вторых, LINQ разрабатывалась как абстракция доступа к данным. Мы хотим получать результат на разных типах данных, используя один язык, способ. Это абстракция, направленная на унификацию работы с данными, не имеющая ничего общего с параллельными вычислениями. В третьих, как уже говорил, сейчас наблюдается введение элементов функционального программирования. Однако, функциональное программирование не ставит цели распараллеливание кода.
|
|
18.12.2015, 08:14 | #8 |
Участник
|
Цитата:
Но развитие - в сторону параллельности. Особенно в массовых языках. В лекции об этом и говорилось. Цитата:
Сообщение от AP-1055D
Во-первых, в основу LINQ положено понятие лямбда-исчисления. Это математическая абстракция, введённая математиком Алонзо Чёрчем.
Цитата:
Они сами по себе нах никому не сдались. Цитата:
но тот вариант функционального программирования, который появляется в массовых языках, появляется именно из-за возможности распараллелить. сравни хаскель и монадами и та куцая часть функционального программирования, которая попала хотя бы в скалу. не говоря уж об ошметках "функции высшего порядка" в C# и Java... у меня такое ощущение, что вы лекцию не посмотрели. докладчик так усилено напирал на ответы на ваши вопросы. Цитата:
а почему только SQL? это ж реляционные данные. вон, даже в аксапту вводят совершенно нереляционную entity. |
|
21.12.2015, 10:42 | #9 |
Модератор
|
|
|
|
За это сообщение автора поблагодарили: Lemming (3). |
21.12.2015, 10:55 | #10 |
Участник
|
1) Introduction to HTML5 Web Workers: The JavaScript Multi-threading Approach
2) Если ты читаешь не только последнее сообщение, но и контекст, то обнаружишь, что состоялся примерно такой диалог: - Смотрите, что за говнокод надо писать в W10 на JS - Это, навреное, из за асинхронности - Нет, это потому, что js однопоточный Т.е. однопоточность в данной ветке обсуждения - нежелательный фактор, приводящий к говнокоду. |
|
Теги |
f#, kotlin |
|
|