Programming languages 有没有一种语言具有在持久存储中存储变量的特性?

Programming languages 有没有一种语言具有在持久存储中存储变量的特性?,programming-languages,Programming Languages,我今天早上就有了这个想法,当时我正在考虑如何实施它,突然想到有人可能已经这么做了。我搜索了一下,但什么也没找到,以下是我的想法: 简而言之,所有变量存储都存储在持久存储中。我不是说电池备份的RAM。我的意思是更像一个数据库 使用通用技术来解释我的意思:假设您将使用SQL数据库来实现这种持久性存储。数组/列表将存储为一个具有一列的表。有序列表将存储为两列,第一列是序列号。散列是一个有两列的表,第一列是键,第二列是值。都是些简单的东西。但我想说的是,您可以使用本机语言结构执行大型数据移动/计算/报告

我今天早上就有了这个想法,当时我正在考虑如何实施它,突然想到有人可能已经这么做了。我搜索了一下,但什么也没找到,以下是我的想法:

简而言之,所有变量存储都存储在持久存储中。我不是说电池备份的RAM。我的意思是更像一个数据库

使用通用技术来解释我的意思:假设您将使用SQL数据库来实现这种持久性存储。数组/列表将存储为一个具有一列的表。有序列表将存储为两列,第一列是序列号。散列是一个有两列的表,第一列是键,第二列是值。都是些简单的东西。但我想说的是,您可以使用本机语言结构执行大型数据移动/计算/报告操作,而无需在hyper。。。我的意思是没有所有的SQL和从数据库加载数据。 我在想你在APL中做矩阵数学的方法。它将是该语言的本地语言,所有基础存储都将正常工作。实际上,它使用的是记录管理器,而不是SQL数据库。那只是为了解释

当然,这将是可怕的缓慢,但固态磁盘越来越大,速度越来越快,成本越来越低,所以这可能不会像最初看起来的那样笨拙


不管怎么说,这是一个新颖的想法还是以前有人做过这件事?

好吧,很明显,有SQL。

有类似的东西

数据库交互透明地构建在语言中。腮腺炎语言提供了一个由持久稀疏数组组成的分层数据库,它隐式地“打开”每个腮腺炎应用程序。所有以插入符号(“
^
”)为前缀的变量名都使用永久(而不是RAM)存储,在应用程序退出后将保持其值,并且对其他正在运行的应用程序可见(并可由其修改)


当然,它是显式的,因此不适用于所有变量,但仍然是自动的。

你说的持久性如何?只要您知道用户可以选择清除API,该API就可以很好地工作(在浏览器选项卡和会话之间保持不变)。你的问题听起来很像WebKit。

Python和Pickle(但有一个数据库)?你希望它有多持久?当电源循环时还存在吗?语言之所以不这样做是因为需要和速度。如果需要保留某些内容(如数据库中),可以将其写入数据库,但写入数据库要比写入内存慢得多。大多数变量都不需要那么长的时间,所以语言只需要存储到内存中,并对数据库进行写入调用。这也可能是操作系统问题或袋鼠行为。你的想法不是主流,但我确实读过一些关于它的东西。这可能是一个更合适的地方,听起来有点像我说的。我想的更多的是一种范式转换,你(程序)生活在巨大的数据存储环境中,而不是说这是语言的一个特征。我一直在想,我使用sql,从响应中获取数据,然后将其格式化为web显示或报告输出或其他任何形式。能说“printf(“%s\t%s\n”,data1[i],data2[i++]);“而且没有选择,没有加载到数组,只有数据输出,这不是很好吗?所以我读了维基百科关于腮腺炎的文章,听起来他们也在做同样的事情。谢谢你的指导。