Языки программирования потока данных [закрываются]

72
задан Peter Mortensen 22 July 2019 в 10:01
поделиться

7 ответов

В языке потока управления у вас есть поток инструкций, которые работают с внешними данными. Условное выполнение, переходы и вызовы процедур изменяют выполняемый поток инструкций. Это можно рассматривать как инструкции, проходящие через данные (например, инструкции работают с регистрами, которые загружаются данными инструкциями - данные статичны, если поток инструкций не перемещает их). Оператор «if» потока управления переходит к правильной ветви в потоке инструкций, но данные не перемещаются.

В языке потока данных у вас есть поток данных, который передается от инструкции к инструкции для обработки. Условное выполнение, переходы и вызовы процедур направляют данные в разные инструкции. Это можно рассматривать как поток данных через статические инструкции, например, как электрические сигналы проходят через цепи или вода течет по трубам. Оператор потока данных «if» направит данные в нужную ветвь.

Некоторые примеры функций и языков потока данных:

Текстовые языки

Визуальные языки

Продукты, которые встраивают язык визуального потока данных:

103
ответ дан 24 November 2019 в 12:34
поделиться

Языки программирования потока данных являются, которые фокусируются на состоянии программы и заставляют операции происходить согласно любому изменению в состоянии. Языки программирования потока данных по сути параллельны, потому что операции полагаются на исходные данные, которые при встрече заставят операцию выполняться. Это означает в отличие от нормальной программы, где одна операция сопровождается следующей операцией, в программе потока данных операции выполнятся, пока исходные данные встречены и таким образом нет никакого установленного порядка.

Часто языки программирования потока данных используют большую хеш-таблицу, где ключи являются данными программы, и значения таблицы являются указателями на операции программы. Это делает многоядерные программы легче создать на языке программирования потока данных, так как каждое ядро только нуждалось бы в хеш-таблице для работы.

типичным примером А языка программирования потока данных является программа электронной таблицы, которая имеет столбцы данных, которые затронуты другими столбцами данных. Если данные в изменении на один столбец, другие данные в других столбцах, вероятно, изменятся с ним. Хотя программа электронной таблицы является наиболее распространенным примером языка программирования потока данных, большинство из них имеет тенденцию быть графическими языками.

26
ответ дан Anton 24 November 2019 в 12:34
поделиться

Excel (и другие электронные таблицы) является языками чрезвычайно потока данных. Языки потока данных много похожи на языки функционального программирования, за исключением того, что значения в листах целого графика программы не являются значениями вообще, но переменными (или потоки создания ценности), так, чтобы, когда они изменяются, пульсация изменений и текут график.

5
ответ дан Barry Kelly 24 November 2019 в 12:34
поделиться

Mozart имеет поддержку подобной потоку данных синхронизации, и это действительно имеет некоторое коммерческое применение. Вы могли также утверждать, что делают , язык программирования потока данных.

5
ответ дан Peter Mortensen 24 November 2019 в 12:34
поделиться

Один вид программирования Dataflow - это реактивное программирование . Когда этот стиль программирования используется на функциональном языке, он называется функциональное реактивное программирование . Пример функционального языка реактивного программирования для Интернета является Flapjax .

Кроме того, AIC - это язык данных DataFlow недавно на новость хакера.

Другой пример Martlet из Оксфорда.

17
ответ дан 24 November 2019 в 12:34
поделиться

Многие инструменты ETL также находятся в этой области. Хорошим примером являются задачи потока данных в MS SSIS. Графический инструмент в этом случае.

2
ответ дан 24 November 2019 в 12:34
поделиться

На самом деле это довольно старая концепция - в 1970-х годах был даже создан язык и машина для эффективного программирования и выполнения потока данных (Manchester Dataflow Machine).

Замечательной особенностью этого языка является его двойственность по отношению к ленивым функциональным языкам, таким как Haskell. Таким образом, если ваши шаги обработки являются чисто функциональными, и если у вас достаточно вычислительных блоков для их оценки и передачи результатов, вы получаете максимальную параллельность бесплатно - автоматически и без каких-либо усилий программирования!

2
ответ дан 24 November 2019 в 12:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: