编程语言是按什么顺序派生的?

发布于 2024-08-27 00:50:14 字数 1435 浏览 8 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

寄风 2024-09-03 00:50:14

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

过程语言植根于 FORTRAN,这是第一种将任意复杂的高级公式编译为机器代码的语言。公式翻译器(约翰·巴克斯,图灵奖)。

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

Algol-60 的重要衍生物包括 Simula-67 和 Pascal,以及通过 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 Backus) 的图灵演讲的强烈影响,他在演讲中询问编程是否可以逃脱冯·诺依曼的突变编程模型,一次一个单词。 APL、ISWIM、Hope、ML 和 Miranda 都迎来了盛大的开花结果。后来,Clean、Haskell、Objective Caml。再后来,Clojure、Scala 和 F#。

然后我们有一些利基参与者:

  • 字符串处理语言,如 SNOBOL 和 Icon

  • 基于替换的语言,如 TRAC、sh、TeX、Tcl 和 PHP< /p>

  • 动态后缀语言,如 FORTH 和 PostScript

  • 逻辑语言,如 Prolog 和 Mercury< /p>

我就不继续说了。

I know my ancient history, not my recent history.

Procedural languages are rooted in FORTRAN, the first language to compile arbitrarily complicated high-level formulas to machine code. FORmula TRANslator (John Backus, Turing award).

Procedural languages may have reached their apogee with Algol-60 (committee).

Important derivatives of Algol-60 include Simula-67 and Pascal, and via Pascal, the Ada, Modula, and Oberon families. Perhaps CLU was influenced also.

All object-oriented languages have roots in Simula-67, which was an Algol derivative (Nygaard and Dahl, Turing award winners).

Smalltalk-80 and C with classes (became C++) were both directly influenced by Simula-67. I don't know if Objective-C was influenced directly from Simula or indirectly from Smalltalk. Likewise Delphi. Self and Ruby both have strong Smalltalk heritage. Java has strong Simula/C++ heritage; C# has strong Java heritage.

Functional languages are rooted in LISP, for LISt Processor (John McCarthy, Turing award winner). Functional languages were also strongly influenced by John Backus's Turing lecture, in which he asked if programming could escape the von Neumann model of programming with mutation, one word at a time. A great flowering occurred, including APL, ISWIM, Hope, ML, and Miranda. Then later, Clean, Haskell, Objective Caml. Still later, Clojure, Scala, and F#.

Then we have the niche players:

  • String-processing languages like SNOBOL and Icon

  • Languages based on substitution, like TRAC, sh, TeX, Tcl, and PHP

  • Dynamic postfix languages like FORTH and PostScript

  • Logic languages like Prolog and Mercury

I won't go on.

深海夜未眠 2024-09-03 00:50:14

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

Here's a history in graphical format: http://www.levenez.com/lang/

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文