什么是数据流编程?(dataflow programming?)

数据流编程是在概念化和实现软件时使用的模型。数据流编程的重点是将系统的设计集中在正在处理的数据上,而不是用于操作信息的代码上。结果是一个系统,其中基本计算功能被隔离成称为节点的小模块;当达到某个状态时,这些节点接受一些数据,处理数据并将输出推回到程序的控制流中,可能将信息传递给另一个节点。这与命令式编程的常规范例不同,命令的即时列表定义了程序的控制流,而不是数据的状态。围绕数据流构建的程序有多种用...

数据流编程是在概念化和实现软件时使用的模型。数据流编程的重点是将系统的设计集中在正在处理的数据上,而不是用于操作信息的代码上。结果是一个系统,其中基本计算功能被隔离成称为节点的小模块;当达到某个状态时,这些节点接受一些数据,处理数据并将输出推回到程序的控制流中,可能将信息传递给另一个节点。这与命令式编程的常规范例不同,命令的即时列表定义了程序的控制流,而不是数据的状态。围绕数据流构建的程序有多种用途,包括并行处理、实时系统和嵌入式系统。

In dataflow programming, the focus is on the data being processed, not the code used to manipulate information.

隐式编程是最常用的计算机编程语言,在隐式编程中,程序通常由包含函数或方法调用序列的流程图构成,每个调用都会分支到其他函数。这种类型的编程本质上侧重于用于操作程序数据的过程。当使用数据流编程时,焦点从显式函数调用中移除,而是集中于创建抽象模块,当数据或程序满足或达到某些条件时,这些模块接受数据。此时,程序设计不调用函数,而是使数据流向模块或节点,在模块或节点中,数据可能进入一个流供多个节点处理。

在考虑如何从水龙头往杯子里注满水时,可以看到一个关于数据流编程如何运行的抽象示例。一个必要的方法是生成打开水的功能,将玻璃移动到水龙头下的适当位置,然后将玻璃注满水。通过一个数据流编程示例,水龙头会一直等到杯子放在它下面才开始填充,而移动杯子的任何东西都会一直等到杯子达到某种状态(如满)才将其从水龙头下面取出。改变数据状态的实际编程机制不是设计的直接关注点。

数据流编程的好处是,在一个应用程序或系统中,可以操纵不同的节点来创建完全唯一的数据流,而无需对关系进行硬编码。此外,使用数据流编程的程序随时准备处理数据,而不是显式进入锁定一个或多个节点的访问或执行的状态或模式。节点的设计和概念意味着数据流编程应用程序可以很容易地设计为在分布式系统和并行处理器上使用。

  • 发表于 2021-12-13 12:49
  • 阅读 ( 115 )
  • 分类:互联网

你可能感兴趣的文章

水蟒(anaconda)和python编程(python programming)的区别

...据科学和机器学习任务更加容易。 什么是python编程(python programming)? Python是一种高级的、通用的编程语言。它是免费的,开源的,跨平台的。它还支持数据类型,如数值、字符串、列表、元组和字典。Python是一种多范式编程语...

  • 发布于 2020-10-18 11:25
  • 阅读 ( 325 )

函数式程序设计(functional programming)和命令式程序设计(imperative programming)的区别

...式的命令式编程 6.摘要 什么是函数式程序设计(functional programming)? 函数式程序设计是以数学为基础的。函数式编程背后的关键原则是,所有的计算都被看作是独立数学函数的组合。数学函数将输入映射到输出。假设有一个函数...

  • 发布于 2020-10-19 02:12
  • 阅读 ( 479 )

结构化的(structured)和非结构化编程(unstructured programming)的区别

结构化的(structured)和非结构化程序设计(unstructured programming)的区别 计算机程序是计算机执行用编程语言编写的任务的一组指令。编程范例可以根据语言特性对编程语言进行分类。结构化编程和非结构化编程是两种常见的编程...

  • 发布于 2020-10-24 05:09
  • 阅读 ( 487 )

常数(constant)和c语言中的变量(variable in c programming)的区别

...字、变量、C编程 什么是c程序设计中的常量(c***tant in c programming)? 常量是一个固定值,定义后不能更改。它们也被称为文字。常量可以是各种数据类型。可以有整数常量、浮点常量、字符常量和枚举常量。在C语言中,有两种方...

  • 发布于 2021-06-30 21:33
  • 阅读 ( 618 )

标记语言(markup language)和程序设计语言(programming language)的区别

...XML解析器用于解析这些XHTML文档。 什么是程序设计语言(a programming language)? 编程语言是一种形式化语言,它包含一组用于创建软件程序的命令和语法。这些程序可以执行特定的任务。编程语言主要分为两部分。它们是高级语言...

  • 发布于 2021-07-01 02:50
  • 阅读 ( 639 )

数组(array)和c程序设计中的结构(structure in c programming)的区别

... 数组,结构,C,C++ 什么是c程序设计中的数组(array in c programming)? 数组是一种能够存储属于同一数据类型的元素的数据结构。程序员必须声明数组应该存储的元素数。因此,数组的长度是固定的。以下面的例子为例。 整数[10]...

  • 发布于 2021-07-01 12:48
  • 阅读 ( 229 )

函数式程序设计(functional programming)和面向对象程序设计(object oriented programming)的区别

...程、多态性、递归函数 什么是函数式程序设计(functional programming)? 函数式编程允许使用数学函数构建程序。换句话说,它将程序绑定为纯数学函数样式。使用函数式编程,开发人员可以将一个程序构建为单独数学函数的组合。...

  • 发布于 2021-07-01 17:38
  • 阅读 ( 899 )

结构化的(structured)和面向对象程序设计(object oriented programming)的区别

...设计,结构化程序设计 什么是结构化程序设计(structured programming)? 结构化编程将程序划分为一组函数或模块。模块化编程是这方面的另一个名称。这些函数的语句包含在花括号中。每个函数都执行一个子任务。通常,由于每个...

  • 发布于 2021-07-01 22:01
  • 阅读 ( 583 )

什么是计算机编程?(computer programming?)

编程是一个创造性的过程,指导计算机如何完成任务。好莱坞已经帮助人们树立了一种程序员是超级技术人员的形象,他们可以坐在电脑前,在几秒钟内破解任何密码。现实远没有那么有趣。 那么编程很无聊? 计算机做他...

  • 发布于 2021-09-15 04:59
  • 阅读 ( 279 )

什么是linux®套接字编程的最佳技巧?(the best tips for linux® socket programming?)

套接字,无论是在Linux®或其他操作系统(OS)中使用,都用于在客户端程序和服务器之间建立连接。这允许两个程序共享信息,这对许多进程都很重要。在任何阶段,都有...

  • 发布于 2021-12-08 13:46
  • 阅读 ( 144 )
东歌-
东歌-

0 篇文章