История изменений
Исправление quasimoto, (текущая версия) :
Я не вижу никакой существенной разницы между «параллельным» и «конкурентным» языком.
(Физический) параллелизм это буквально параллельное выполнение задач на разных физических вычислителях со строгим и наперёд известным control-flow, конкурентность это несколько более общее понятие о структурировании программ на независимые взаимодействующие процессы с более свободным (I/O зависимым в т.ч.) потоком выполнения, тут параллелизм процессов может быть физическим или виртуальным, или и тем и другим. Связь между процессами и между ними и I/O может вовлекать какие-то event-based механизмы в планировщике.
Это как я это вижу.
И говорить нужно не про языки, а про языковые средства — в Haskell Control.Concurrent и Control.Parallel это разные вещи которые используют для разных вещей. Как и std::thread и OpenMP в С++.
«Да» - это ответ на вопрос «где языки» или «является ли Occam параллельным»?
«Да» тут это ничего не значащее вводное слово, то есть я не вижу чем наличие placed или affinity противоречит конкурентности — если та вовлекает физический параллелизм в своей реализации, то естественно есть возможность иметь placed или affinity.
Должен ли я понимать это так, что программы на «параллельных языках» не запускаются на однопроцессорных машинах?
Вот кстати про «параллельные языки» я ничего не говорил, это anonymous. Я просто сказал, что occam конкурентный и не предполагает (физического, я это подразумеваю, говоря «параллелизм») параллелизма.
«occam конкурентный» значит что в нём есть соответствующие языковые средства — их может иметь смысл использовать на любых машинах.
Имеет ли смысл использовать языковые средства параллельного программирования (типа OpenMP) на однопроцессорных машинах?
Ну и я не говорил что эти понятия взаимоисключающие — конкурентность может предполагать параллелизм процессов (так что помимо масштабирования может использоваться для оптимизации алгоритмов в параллельные), но доставляет ещё много разных вещей, а параллелизм задач, обратно, может помогать конкурентности, хотя сам по себе более ограничен.
Исправление quasimoto, :
Я не вижу никакой существенной разницы между «параллельным» и «конкурентным» языком.
(Физический) параллелизм это буквально параллельное выполнение задач на разных физических вычислителях со строгим и наперёд известным control-flow, конкурентность это несколько более общее понятие о структурировании программ на независимые взаимодействующие процессы с более свободным (I/O зависимым в т.ч.) потоком выполнения, тут параллелизм процессов может быть физическим или виртуальным, или и тем и другим. Связь между процессами и между ними и I/O может вовлекать какие-то event-based механизмы в планировщике.
Это как я это вижу.
И говорить нужно не про языки, а про языковые средства — в Haskell Control.Concurrent и Control.Parallel это разные вещи которые используют для разных вещей. Как и std::thread и OpenMP в С++.
«Да» - это ответ на вопрос «где языки» или «является ли Occam параллельным»?
«Да» тут это ничего не значащее вводное слово, то есть я не вижу чем наличие placed или affinity противоречит конкурентности — если та вовлекает физический параллелизм в своей реализации, то естественно есть возможность иметь placed или affinity.
Должен ли я понимать это так, что программы на «параллельных языках» не запускаются на однопроцессорных машинах?
Вот кстати про «параллельные языки» я ничего не говорил, это anonymous. Я просто сказал, что occam конкурентный и не предполагает (физического, я это подразумеваю, говоря «параллелизм») параллелизма.
«occam конкурентный» значит что в нём есть соответствующие языковые средства — их может иметь смысл использовать на любых машинах.
Имеет ли смысл использовать языковые средства параллельного программирования (типа OpenMP) на однопроцессорных машинах?
Ну и я не говорил что эти понятия взаимоисключающие — конкурентность может предполагать параллелизм процессов (так что помимо масштабирования может использоваться для оптимизации алгоритмов в параллельные), но доставляет ещё много разных вещей, а параллелизм задач может быть основой конкурентности, хотя сам по себе более ограничен.
Исходная версия quasimoto, :
Я не вижу никакой существенной разницы между «параллельным» и «конкурентным» языком.
(Физический) параллелизм это буквально параллельное выполнение задач на разных физических вычислителях со строгим и наперёд известным control-flow, конкурентность это несколько более общее понятие о структурировании программ на независимые взаимодействующие процессы с более свободным (I/O зависимым в т.ч.) потоком выполнения, тут параллелизм процессов может быть физическим или виртуальным, или и тем и другим. Связь между процессами и между ними и I/O может вовлекать какие-то event-based механизмы в планировщике.
Это как я это вижу.
И говорить нужно не про языки, а про языковые средства — в Haskell Control.Concurrent и Control.Parallel это разные вещи которые используют для разных вещей. Как и std::thread и OpenMP в С++.
«Да» - это ответ на вопрос «где языки» или «является ли Occam параллельным»?
«Да» тут это ничего не значащее вводное слово, то есть я не вижу чем наличие placed или affinity противоречит конкурентности — если та вовлекает физический параллелизм в своей реализации, то естественно есть возможность иметь placed или affinity.
Должен ли я понимать это так, что программы на «параллельных языках» не запускаются на однопроцессорных машинах?
Вот кстати про «параллельные языки» я ничего не говорил, это anonymous. Я просто сказал, что occam конкурентный и не предполагает (физического, я это подразумеваю, говоря «параллелизм») параллелизма.
«occam конкурентный» значит что в нём есть соответствующие языковые средства — их может иметь смысл использовать на любых машинах.
Имеет ли смысл использовать языковые средства параллельного программирования (типа OpenMP) на однопроцессорных машинах?
Ну и я не говорил что эти понятия взаимоисключающие — конкурентность может предполагает параллелизм процессов (так что помимо масштабирования может использоваться для оптимизации алгоритмов в параллельные), но доставляет ещё много разных вещей, а параллелизм задач может быть основой конкурентности, хотя сам по себе более ограничен.