哪些编程语言(除了Smalltalk)是基于图像的?

Cla*_*esi 31 programming-languages smalltalk

如果有人知道使用像Smalltalk这样的图像的编程语言,我真的很感兴趣...

我认为这是计算机科学史上最伟大的思想之一.除了Smalltalk之外,我找不到基于图像的其他语言.

Rai*_*wig 22

图片

图像基本上是内存转储.通常,Lisp开发系统启动运行时加上图像.然后,用户进行更改,之后可以编写新图像.有时这是开发人员使用的功能,有时它也会在Lisp系统本身的开发过程中使用.

许多Lisp系统正在使用"图像".这就是Smalltalk从中得到它的地方 - 可能是因为Lisp在Smalltalk存在之前已有很长时间了.麦卡锡在60年代初的Lisp 1.5使用了图像.有关Lisp实现技术的知识已转移到Xerox.例如,L Peter Deutsch在60年代就Lisp实现工作 - 在60年代初,他作为一个年轻的孩子写了他的第一个Lisp.在70年代,他在Xerox工作,尤其是Smalltalk的虚拟机实现.

在70年代/ 80年代后期,Lisp机器上的操作系统基本上是Lisp图像(通常称为世界)(甚至是具有增量增量图像的分层图像).Lisp Machines还在一个映像中存储开发环境状态(例如:从哪个版本的哪个版本加载哪个代码),但Lisp机器的MIT变体通常将源代码本身存储在文件中.

托管源代码

如果您询问哪种语言使用类似的方式来组织和管理源代码(即不在项目目录中的文件中),那么Xerox Interlisp就是这样做的.Apple的Dylan做到了这一点.一些数据库开发工具可能会这样做.


Dam*_*let 11

因子是一个具有许多高级功能和图像的Forth.


小智 5

您实际上可以将SQL数据库视为基于图像 - 数据和代码(存储过程)都存储在一个大的不透明blob中.

  • 我想补充一点“Unix”是一个基于图像的开发系统。图像就是文件系统——遗憾的是它们只存储死文本而不是有意义的对象。关系 DBM 是基于图像的开发系统。我同意OP的观点,即图像具有惊人的力量。我认为错误的是认为“一个”图像是一件重要的事情。它应该是一个复制的缓存,就像 git repo 一样。不是像Word文档那样“你所有的工作”。 (3认同)