方案实施 - 这是什么意思?

JDe*_*age 6 scheme the-little-schemer

我是CS的初级学生,我的课程主要是Java.我目前正在通过"Little Schemer"作为自学,并且在找到如何做到这一点的过程中,我发现了许多对Scheme的"实现"的引用.我的问题是,什么是实施?

它们是Scheme的子方言,还是其他东西(DrScheme似乎允许该语言的不同"风味")?它只是包含IDE,解释器,交互式工具等的任何给定生态系统的名称吗?

所有其他语言(例如Java)是否也有各种"实现",还是保留为"开放"语言?

谢谢,

乔斯德拉格

Tho*_*ler 7

编程语言的实现是该语言的编译器或解释器.生态系统的其他组件(如IDE)可以是实施的一部分,但不是必需的.对于Scheme,有很多,例如DrScheme,Guile,Gambit.

许多编程语言具有不同的实现,但是某种语言的所有实现都应该实现(即,编译)完全相同的方言.如果有一个明确的官方语言规范,这是最简单的,就像Scheme的情况一样.当然,大多数语言规范都有很多版本,因此不同的实现可能支持不同版本的语言.

对于Java,有来自Sun,Oracle,IBM的实现,我认为是另一个.


Jes*_*kan 6

语言的实现意味着运行或编译该特定语言的任何程序.

具体来说,在Scheme中,这是一个很好的问题,因为语言规范已有多个主要版本.除此之外,有很多语言(包括原始的Scheme!)被称为Scheme,它们完全不遵循任何规范.HTDP的初学者语言很小,以便对如何解决问题(以及可能由于其他原因)进行一些限制.直到最近,GIMP使用了一个名为SIOD的非标准Scheme解释器(一个方案中的方案或一天中的方案).还有很多其他的例子; 例如,参见PLT Scheme的方案方言对语言标准的支持.