哪种编程语言首先使用虚拟机?

时间:2014-08-01 11:17:41

标签: smalltalk vm-implementation gnu-smalltalk

我之前认为这是java(我错了),正在阅读关于smalltalk的内容,当我读到这段时我很惊讶

" Smalltalk在计算机科学史上占有非常特殊的地位。它在80年代初出现 作为产品 Xerox PARC (帕洛阿尔托研究中心)。这与编程完全不同 语言与面向对象编程的远景以及语法和语言有关 它用来实现这种思维方式的环境。 它也使用了虚拟机概念 当时不受欢迎。"

哇它使用虚拟机。所以它也意味着需要"跨平台"感觉很久以前.. ????

5 个答案:

答案 0 :(得分:2)

据称[1],用于BCPL的O-code机器是第一个类似虚拟机器的机器,来自“60年代后期”。 UCSD-Pascal p-code(通常被称为第一个)紧随“70年代初期”[2]

所以,根据你会询问的人,它可能是Pascal或BCPL。

答案 1 :(得分:0)

Smalltalk在1969年左右开始使用虚拟机,我认为它早在70年代就算是 ... 不要被绰号" Smalltalk-80" - 这不是第一个版本,不是最新版本。

答案 2 :(得分:0)

嗯,AFAIK,LISP(http://en.wikipedia.org/wiki/Lisp_(programming_language)),自1958年起,已经有了一台虚拟机。

是真理(再次,AFAIK),那是Smalltalk第一个普及这个词(并且第一个被攻击为“非高性能”,“它永远不会扩展”等),但当然,它不是第一个:)

答案 3 :(得分:0)

实际上,Python出现的时候,Java似乎也有一个VM。我不确定它是否来自第一个版本(很可能是因为它是一个非常基础的cPython如何工作)但它确实使用了VM。 VM作为概念早于Smalltalk,它很可能甚至早于Lisp。可能还有其他语言填补了VM历史上的空白。

便携性永远是一个问题。我知道当我在1988年第一次开始使用计算机和编码时,已经有很多操作系统和硬件系统架构。 CP / M vs MAC OS vs AmigaOS vs Dos vs Unix vs ....所以当时很难不觉得需要VM。

我认为我们现在看到更多虚拟机主要是因为低预算计算机上的可用处理能力。

答案 4 :(得分:0)

  • 上面

      

    我没有太多的声誉来发布两个以上的链接。所有高亮项目都可以在Timeline of programming languages或维基百科中找到。

  • p-code 术语p-code首次出现在20世纪70年代早期。

      

    生成p代码的两个早期编译器是1973年的Pascal-P编译器,Nori,Ammann,Jensen,Hageli和Jacobi,以及1975年的Nikcalus Wirth的Pascal-S编译器。

  • O-code 机器是在20世纪60年代后期。

      

    O-code机器是由Martin Richards在20世纪60年代后期开发的虚拟机,用于将机器独立性提供给 BCPL BCPL (基本组合编程语言)是一种程序性,命令式和结构化的计算机编程语言,由剑桥大学的Martin Richards于1966年设计。

  • IPL 大约是1956年。

      

    信息处理语言(IPL)是由Allen Newell,Cliff Shaw和Herbert A. Simon在兰德公司和卡内基理工学院于1956年创建的一种编程语言。来自IPL-V programming's reference manual的第1.2章说:该语言应该在一个名为IPL-V解释系统的程序中运行。而且Lisp是IPL之后的另一个故事。

  • 1949年
  • 短代码语言来自编程语言时间表

      

    编程语言时间轴列表中,您可以找到最旧的一个。但我认为上面三个不是最老的。   1949年的短代码看起来像是这些词语中的虚拟机语言:"除了基本算术,短代码允许分支和调用函数库。该语言被解释并运行速度比机器代码慢约50倍。"