【问题标题】:Where does 'Hello world' come from?“你好世界”从何而来?
【发布时间】:2010-10-10 18:36:57
【问题描述】:

'hello, world' 通常是任何编程语言的第一个示例。我一直想知道这句话是从哪里来的,又是在哪里首次使用的。

有人告诉我,这是有史以来第一个出现在电脑屏幕上的句子,但我找不到任何关于此的参考。

所以我的问题是:
使用“hello, world”作为计算机语言的第一个示例的做法源自哪里?
它最初是在哪里使用的?

更新
尽管答案很有趣,但我应该注意到我已经阅读了 Wikipedia 文章。它确实回答了有关文献中第一次使用的问题,但没有回答“hello world”第一次使用的时间。
所以我认为可以肯定地得出结论,这不是第一个出现在电脑屏幕上的句子,也没有关于它何时首次使用的记录?

【问题讨论】:

    标签: history


    【解决方案1】:

    Brian Kernighan 实际上编写了第一个“hello, world”程序,作为 Martin Richards 开发的 BCPL 编程语言文档的一部分。在 1972 年 Kernighan 和 Ritchie 的 C 书出版前几年,贝尔实验室正在开发 C 语言时使用了 BCPL。

    作为我正在撰写的有关 Alice 编程环境的书的研究的一部分,我与普林斯顿大学的 Kernighan 教授和剑桥大学的 Martin Richards 都进行了通信(当我在 1990 年代在那里教授一个研讨会时)。他们帮助我追踪了第一次记录使用的代码来打印消息“Hello, World!”。 Brian Kernighan 记得为 BCPL 手册的 I/O 部分编写了代码。Martin Richards——他似乎拥有大量笔记、旧文档等——找到了该手册并确认这是原版该程序的外观。该代码用于 C 编译器的早期测试,并进入 Kernighan 和 Ritchie 的书中。后来,它是用于测试 Bjarne Stroustrup 的 C++ 编译器的首批程序之一。

    它出现在 Kernighan 和 Ritchie 之后成为新程序员的标准, 可能是有史以来最畅销的编程介绍。

    【讨论】:

    • C 书不是 1972 年的。B 书是 1972 年的。C 书的第一版,于 1978 年出版 en.wikipedia.org/wiki/The_C_Programming_Language_(book) 有一个“1974 年贝尔实验室的内部备忘录,由 Brian Kernighan,C 编程:教程”en.wikipedia.org/wiki/Hello_world_program
    • 虽然lysator.liu.se/c/bwk-tutor.html printf ("hello, world\n"); 但他的 1974 C 教程中有一个 I/O 部分除此之外,在第 2 节中,没有 \n 并且在程序中。 main( ) { printf("hello, world"); } 从 B 和 BCPL 看到一些有趣的东西。
    • 很好地与该人本人进行了实际交谈,并“确认”了在“笔记宝库”中发现的外表,但您能在答案中展示实际程序吗?
    • 我在维基百科上找到了一张图片,图片 - en.wikipedia.org/wiki/Computer_program#/media/…。源页面 - en.wikipedia.org/wiki/Computer_program
    • 我想你可能弄错了。我正在写一篇关于 Hello World 起源的文章,看到这个答案是谷歌上的第一个结果,但似乎与 BCPL 手册相矛盾,我决定亲自给 Kernighan 教授发电子邮件。 A fuller response can be found here,但要点是他首先编写了“Hello World”作为贝尔实验室内部 B 手册的示例。您可能刚刚切换了 BCPL 和 B,因为后者是前者的继承者。
    【解决方案2】:

    根据wikipedia

    虽然存在小型测试程序 自从可编程序的发展 计算机,使用的传统 短语“你好世界!”作为测试 消息受到一个例子的影响 开创性著作 The C 中的程序 编程语言。这个例子 那本书中的程序打印出“你好, 世界”(没有大写字母或 感叹号),并被继承 1974 年贝尔实验室内部 Brian Kernighan 的备忘录, C 语言编程:教程,其中 包含第一个已知版本:

     main() {
            printf("hello, world");
     }
    

    第一个已知的使用实例 “你好”和“世界”这两个词 一起在计算机文学中 发生得更早,在 Kernighan 的 1972 年 教程语言介绍 B[1],代码如下:

    main( ) {
      extrn a, b, c;
      putchar(a); putchar(b); putchar(c); putchar('!*n');
    }
    a 'hell';
    b 'o, w';
    c 'orld';
    

    【讨论】:

    【解决方案3】:

    “The C Programming Language”一书中的第一个 C 程序是打印“hello world!”。在屏幕上。

    从那时起,它被用作介绍编程语言基本细节的第一个程序。

    【讨论】:

      【解决方案4】:

      来自http://en.wikipedia.org/wiki/Hello_world_program

      第一个已知的使用实例 “你好”和“世界”这两个词 一起在计算机文学中 发生得更早,在 Kernighan 的 1972 年 教程语言介绍 B[1],代码如下:

      main( ) {
        extrn a, b, c;
        putchar(a); putchar(b); putchar(c); putchar('!*n');
      }
      a 'hell';
      b 'o, w';
      c 'orld';
      

      【讨论】:

        【解决方案5】:

        我应该在我原来的帖子中对语言更加谨慎--

        Barlop 当然是对的,K&R 于 1978 年出版。我的帖子中缺少昏迷。我的意思是,带有 Kernighan 博士的 Hello World 代码的 BCPL 手册的日期为 1972 年。提及此内容的备忘录是 1974 年的。

        Martin Richards 有这些文件。我有一份不好的手册复印件和一份备忘录。

        我相信原文没有标点符号。

        BCPL 和 B 代码几乎同时出现。我一直认为 therefromhere 引用的 B 代码在前,但 Martin Richards 似乎认为 BCPL 代码在前。无论哪种情况,“Hello Word!”早于 K&R,它在代码中的首次记录使用似乎是由贝尔实验室的 Brian Kernighan 编写的。

        【讨论】:

          【解决方案6】:

          我第一次在印刷版中看到它(我认为)是 K&R 的第一版,所以应该是 1982 年左右,但在那之前很久我就一直在编写自己的“Hello world”程序,就像每个人一样别的。

          【讨论】:

            【解决方案7】:

            来自维基百科

            虽然自可编程计算机开发以来就存在小型测试程序,但使用短语“Hello world!”的传统作为测试消息,它受到开创性书籍 The C Programming Language 中的示例程序的影响。那本书中的示例程序打印出“hello, world”(没有大写字母或感叹号),并且继承自 Brian Kernighan 1974 年贝尔实验室的内部备忘录,《C 语言编程:教程》,其中包含第一个已知版本:

            http://en.wikipedia.org/wiki/Hello_world_program

            【讨论】:

              猜你喜欢
              • 2021-11-19
              • 2015-01-13
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-07-31
              相关资源
              最近更新 更多