什么是数据流编程语言?为什么要使用它?它有哪些好处?
什么是数据流编程语言?为什么要使用它?它有哪些好处?
文本语言
可视化语言
嵌入了可视化数据流语言的产品:
数据流编程语言是指专注于程序状态并根据状态的任何更改引起操作发生的编程语言。数据流编程语言本质上是并行的,因为操作依赖于输入,满足输入条件将会导致操作执行。这意味着,与普通程序不同,其中一个操作跟随另一个操作,数据流程序中操作只要满足输入就会执行,因此没有固定的顺序。
通常,数据流编程语言使用大型哈希表,其中键是程序的数据,表的值是指向程序操作的指针。这使得在数据流编程语言中创建多核程序更加容易,因为每个核心只需要哈希表即可工作。
数据流编程语言的一个常见示例是电子表格程序,该程序具有受其他数据列影响的数据列。如果一列中的数据发生变化,则其他列中的数据很可能也会随之变化。虽然电子表格程序是数据流编程语言的最常见示例,但它们大多数都是图形化语言。
Excel(以及其他电子表格)本质上是数据流语言。数据流语言与函数式编程语言非常相似,但整个程序图的叶节点处的值实际上并不是值,而是变量(或值流),因此当它们发生变化时,这些变化会在整个图中扩散和传递。
许多ETL工具也属于这个领域。MS SSIS中的数据流任务是一个很好的例子。在这种情况下,使用了图形化工具。
在某些领域,数据流编程更加合理。实时媒体就是一个例子,两个广泛使用的图形化数据流编程环境Pure Data和Max/MSP都专注于实时媒体编程。我想他们的视觉特性也很好地映射到了数据流编程中。