【问题标题】:What order are the programming languages derived in? [closed]编程语言的派生顺序是什么? [关闭]
【发布时间】:2010-03-31 00:42:39
【问题描述】:

例如,我知道基本上所有基于面向对象的语言基本上都是 C# 或 C++ 的衍生物,对吗?有人知道他们进来的顺序吗?比如 C -> C++ -> C# -> PHP 等

【问题讨论】:

  • 我很难将 Delphi 称为 C++ 或 C# 的派生产品,因为 Delphi 最初启发了 C#。
  • PHP 肯定不在 C# 之后。
  • 这个问题的每一个字实际上都是不正确的......
  • 如果不坐下来读一些历史,很容易产生这种印象。计算机科学已经有 50 多年的历史了,而且事情一直在快速发生,现在有更多的东西正在消失在朦胧的时间深处,然后是目前流行的。最好不要假设你知道一些事情。面向对象的语言在某种程度上从 Simula 和 Smalltalk 中获得灵感。
  • 我喜欢 1995 年首次出现的语言应该是从 2001 年首次出现的语言衍生而来的。:D

标签: programming-languages language-history


【解决方案1】:

我知道我的古代历史,而不是我最近的历史。

过程语言植根于 FORTRAN,这是第一种将任意复杂的高级公式编译为机器代码的语言。 FORmula TRANslator(John Backus,图灵奖)。

程序语言可能已经在 Algol-60(委员会)中达到顶峰。

Algol-60 的重要衍生物包括 Simula-67 和 Pascal,以及 via Pascal、Ada、Modula 和 Oberon 家族。也许 CLU 也受到了影响。

所有面向对象的语言都源于 Simula-67,它是 Algol 的衍生产品(Nygaard 和 Dahl,图灵奖得主)。

Smalltalk-80 和带有类的 C(成为 C++)都直接受到 Simula-67 的影响。我不知道 Objective-C 是直接受 Simula 影响还是间接受 Smalltalk 影响。德尔福也一样。 Self 和 Ruby 都具有强大的 Smalltalk 传统。 Java 具有强大的 Simula/C++ 传统; C# 具有强大的 Java 传统。

函数式语言植根于 LISP,用于 LISt 处理器(John McCarthy,图灵奖获得者)。函数式语言也受到 John Backus 的图灵演讲的强烈影响,他在演讲中询问编程是否可以一次一个单词地摆脱冯诺依曼的变异编程模型。出现了大开花,包括 APL、ISWIM、Hope、ML 和 Miranda。后来,Clean、Haskell、Objective Caml。再后来,Clojure、Scala 和 F#。

然后我们有小众玩家:

  • SNOBOL 和 Icon 等字符串处理语言

  • 基于替换的语言,例如 TRAC、sh、TeX、Tcl 和 PHP

  • FORTH 和 PostScript 等动态后缀语言

  • Prolog 和 Mercury 等逻辑语言

我不会继续。

【讨论】:

  • +1,这是一个很好的历史介绍。
【解决方案2】:

【讨论】:

【解决方案3】:

这是图形格式的历史记录:http://www.levenez.com/lang/

【讨论】:

  • 这真是一张疯狂的图表。把它放在一起一定很糟糕。
  • @chadley:这就是 Graphviz 这样的工具存在的原因。
猜你喜欢
  • 1970-01-01
  • 2011-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多