什么是表格编程?


34

猎鹰的编程语言标榜自己是支持表格程序:

Falcon提供了六个集成的编程范例:过程式,面向对象,面向原型,函数式,表格式和消息式。而且您不必掌握所有这些知识。您只需要选择所需的成分,然后让代码遵循您的灵感即可。

文档在某种程度上扩展了表格式编程语言的工作方式,但重点在于该语言自身的结构和语法,并没有真正解释该范式的好处(当然,从那些简单的例子中可以明显看出这些范例的好处) 。

我对整个内部运作方式有些困惑,据我了解,Falcon Table是一个或多或少可以用作关系表的本机结构,并且可以描述为(具有面向对象的语言)(具有面向对象的关系集)。我知道这是一个可怕的描述(怪罪我的OO根源和多年滥用龙舌兰酒)。

您能帮助我更好地了解什么是表格编程及其内部运作方式吗?

澄清:不是在询问表格模型编程


11
有一篇关于它的文章:面向表的编程。(tl; dr)我猜这是对象数组(如在类实例中),数据库和电子表格之间的混合。
mouviciel

3
“面向表的编程”这一短语让我想到了Lua。Lua使用表作为一流的数据结构,但是语言本身也可以使用Metatables进行扩展。
罗伯特·哈维

5
Robert,Lua的表只是表述基于原型的另一种方式。
杰西·特尔福德

Answers:


2

表格编程是面向表的编程范例(TOP)的别名。对于TOP,关键概念是一个表,而对于面向对象编程(OOP),关键概念是一个对象。

通常,TOP语言,工具,编程等会处理表格并专注于表格。但是,程序员甚至可以在不自然支持该范式的语言中使用某些范式。例如,没有用于定义类的关键字并且不支持在实例上进行操作的语法的语言可以用于编写面向对象的代码。例如,在C语言中,我们可以定义一个结构并将对该结构的引用放入函数中,以模拟指针和方法调用。但是,用C ++或C#编写的OO代码将更加直观,紧凑,易读,灵活并且不易出错。

Falcon是一种自然支持TOP的语言,因为它包含内置的编程结构以方便处理表。完全说Falcon构成TOP就好比说C ++构成OOP。实际上,它们是一种工具,可以促进甚至增强某些编程风格。

我认为,但也许我错了,我们也应该寻求专门针对表操作而创建的TOP想法。SQL Server和Analysis Services是执行以表格数据为中心的操作的场所。特别是新的表格模型编程使用表格作为要处理的关键元素。我相信将来会为表格式编程引入更直观的API支持。因此,我让自己在表格模型编程的背景下谈论TOP,就像TOP的另一个方面是猎鹰一样。

表格模型编程用于SQL Server Technologies的Analysis Services中,因此与关系数据库和商业智能紧密相关。表格模式是一种用于创建商务智能语义模型的新方法,可替代多维模式,因此应将后者进行比较。每个解决方案的创建,使用和部署方式都不同。表格模式可以更快地设计,测试和部署。使用关系数据库,Excel或Access的受众也很熟悉。有关更多详细信息和内部信息,请参阅比较表格和多维解决方案

我认为了解什么是表格模型编程的最好方法是在实践中使用它。通过表格建模(Adventure Works教程)并感觉一下。


1
这与猎鹰有什么关系?
扬尼斯

@YannisRizos我以为问题是什么是表格编程?关于如何理解它,您以Falcon为例。考虑将您的问题更改为“ 如何将Falcon理解为表格编程语言”?
yBee

您能否扩大答案以解释表格模型编程与表格编程有什么关系?因为除了名称上的相似性之外,它们似乎是完全不同的东西。
扬尼斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.