我想实现一些游戏逻辑,对象之间有很多关系,类似于关系数据库或图形数据库。
我不知道任何语言可以让我做到:
- 强大、安全的关系映射,具有不可为空的链接、级联删除等。
- 实现游戏逻辑
- 编写纯函数
- 网络
- 如果可能的话,提供不错的数据访问性能。 (比如内存中的SQLlite也是可以接受的)
我想避免使用两种语言,并使用一些相当复杂的 ORM 在两种语言之间映射数据。相反,我想要一种能够实现所有这些功能的语言。
显然,有SQL。但我不知道 SQL 的任何实现:
- 除了回复 SQL 请求之外,还能够进行联网
- 具有 F# 这样的语言的许多功能吗? SQL 能够进行函数式编程,但是 F# 功能(例如管道、部分应用程序、模式匹配、基本类型的强类型)又如何呢?
我会接受部分替代解决方案。
请注意,我不需要实际的持久性存储,只需要像关系数据库甚至图形数据库这样的对象关系。
最佳答案
答案是否定的,在您设置的范围内。
第三声明的目的是定义一种称为 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/ 。您可能会发现后续的讨论很有启发。
关于functional-programming - 是否有一种语言既可以完成 SQL 的任务,又可以进行通用编程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65045060/