Warm tip: This article is reproduced from serverfault.com, please click

relational database-有没有一种语言可以同时执行SQL和通用编程?

(relational database - Is there a language that does both what SQL does and general purpose programming?)

发布于 2020-11-27 23:48:26

我想通过一些对象之间的关系来实现一些游戏逻辑,这些关系类似于关系数据库或图形数据库。

我不知道会同时允许我使用的语言:

  • 具有不可空链接,级联删除等功能的强大,安全的关系映射。
  • 实施游戏逻辑
  • 编写纯函数
  • 联网
  • 如果可能的话,可以提供良好的数据访问性能。(可以接受类似于内存中的SQLlite)

我想避免使用2种语言,而使用一些非常复杂的ORM在这两种语言之间映射数据。相反,我想要一种能够满足所有这些要求的语言。

显然,有SQL。但是我不知道任何SQL实现:

  • 除了回复SQL请求外,还可以联网
  • 具有F#之类的语言的众多功能吗?SQL能够进行函数式编程,但是F#功能(例如管道,部分应用程序,模式匹配,对原始类型的强类型化)又如何呢?

我将接受部分替代解决方案。

请注意,我不需要实际的持久性存储,只需要对象关系(如关系数据库,甚至是图数据库)即可。

Questioner
Jul
Viewed
0
david.pfx 2020-11-29 15:40:23

答案是否定的。

《第三宣言》的目的是定义一种称为D的语言,该语言具有通用编程语言的功能,但实现了专门针对数据库管理的类型系统和关系功能。如果完全实现,它可以替代SQL,但不能替代通用的GP语言,例如C / C ++,Java或C#。

有许多GP语言可以做所有你建议,在适当的选择库一起使用时的事情。为了最接近你所描述的内容,你应该坚持使用适合你其他需求的任何语言,并在其中添加使用API​​而不是SQL的内存中进程内数据库。几乎按照定义,这意味着你应该寻找“ NoSQL”数据库。有许多。

你在这里提到了你的问题:https : //forum.thethirdmanifesto.com/forum/topic/is-there-a-language-that-does-both-what-sql-does-and-general-purpose-programming/你可能会发现随后的讨论很有启发性。