“你好世界”从何而来?

2023-12-20

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

我曾经被告知这是有史以来在计算机屏幕上显示的第一句话,但我找不到任何对此的参考。

所以我的问题是:
练习在哪里使用'hello, world'作为计算机语言的第一个例子起源于?
它最初是在哪里使用的?

Update
虽然答案很有趣,但我应该指出我已经阅读了维基百科的文章。它确实回答了有关文学中首次使用的问题,但没有回答何时“hello world'是第一个used.
所以我认为可以肯定地得出这样的结论:这不是第一个在计算机屏幕上显示的句子,并且没有关于它第一次使用的时间的记录?


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 中之后就成为了新程序员的标准, 可能是有史以来最畅销的编程入门书籍。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

“你好世界”从何而来? 的相关文章

  • Firefox 和 JavaScript 重定向

    我目前在使用 Firefox 时遇到问题 所有其他浏览器都以正确的方式运行 甚至 IE6 我想要做的是重定向到子页面但留下历史记录条目 据我所知 有两种重写url的方法 window location some url 重定向到带有历史记录
  • Google 文件系统中的块大小问题

    谷歌文件系统论文 http labs google com papers gfs html 块大小是关键设计之一 参数 我们选择了64MB 这比典型文件大得多 系统块大小 每个块 副本存储为普通 Linux 文件放在 chunkserver
  • 替代位置基础系统(十六进制、八进制、二进制)如何工作?如何将它们转换为十进制?

    我以前在编程课上没有学过这一点 但现在我需要知道它 有哪些学习这些数字以及如何转换它们的好资源 我几乎会像记住乘法表一样记住这些 在我们日常的十进制系统中 基数或radix http en wikipedia org wiki Radix
  • 哪种数据聚类算法适合检测时间序列事件中未知数量的聚类?

    这是我的场景 考虑在不同地点和时间发生的一组事件 例如 考虑有人在高空记录暴风雨期间城市中的雷击 就我的目的而言 闪电是瞬时的 只能击中某些位置 例如高层建筑 还可以想象每次雷击都有一个唯一的 ID 以便以后可以参考该雷击 这个城市大约有1
  • 什么是悲观主义?

    该问题有评论可以使用C 11的吗auto提高性能 https stackoverflow com questions 32510183 can the use of c11s auto improve performance这获得了很多选票
  • 如何通用地减少子集平均值的计算?

    Edit 由于似乎没有人阅读此链接的原始问题 因此让我在这里介绍一下它的概要 正如其他人所问的 最初的问题是 给定大量值 总和将超过数据类型的值Double那么如何计算这些值的平均值呢 有几个答案说要按集合计算 比如取50个和50个数字 计
  • 未使用的功能会产生什么后果

    我想知道在代码中使用未使用的函数会产生什么 如果有什么后果 如果您查找并删除所有未使用的函数和变量 性能是否会有明显的改进 或者删除未使用的函数和变量只是一个好习惯 未使用的功能不会损害性能 他们让维护代码的人的工作变得更加困难 现代 ID
  • 类是否应该有静态和非静态成员

    我试图找出一个类何时适合同时具有静态和非静态函数 又名 obj new ClassA obj gt doOOPStuff something ClassA doStaticStuff Note This example is done in
  • 以任意顺序匹配可选捕获组

    在解析用户输入的许多情况下 用户有机会向输入添加几个可选标志 这些标志应该以任何顺序接受 如何使用正则表达式对其进行解析 以便每个标志都位于它自己的捕获组中 如果存在 例如 有一个必需的令牌a 然后是 3 个可选标记 可以按任何顺序出现b
  • 验证假名输入

    我正在开发一个允许用户输入日语字符的应用程序 我试图想出一种方法来确定用户的输入是否是日语假名 平假名 片假名或汉字 应用程序中的某些字段不适合输入拉丁文文本 我需要一种方法将某些字段限制为仅限汉字或仅限片假名等 该项目使用UTF 8编码
  • 在数字集合中查找最接近的匹配[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的
  • 哪些不同的术语表示相同的事物(或不同的术语,但人们认为它们表示相同的意思)? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 Locked 这个问题及其答案是locked help locked posts因为这个问题是题外话 但却具有历史意义 目前不接受新的
  • “对象之间通过传递消息进行通信”到底是如何实现的?

    在几本有关面向对象编程的介绍性文本中 我遇到过上述陈述 来自维基百科 在 OOP 中 每个对象都能够接收消息 处理数据 以及发送消息与其他对象相关 并且可以被视为具有独特角色或责任的独立 机器 该语句在代码中到底意味着什么 class A
  • 在矩阵/位图中查找质量簇

    这是此处发布的问题的延续 在 2D 位图上查找质心 https stackoverflow com questions 408358 finding the center of mass on a 2d bitmap正如给出的例子 它讨论了
  • 与随机数生成算法相关的种子是什么?为什么经常使用计算机时间来创建该种子?

    我读到了seeds用于初始化随机数生成器 但似乎种子的随机性对于从生成器获得良好的随机性并不重要 所以我想了解什么是seed实际上 为什么这么称呼呢 最后为什么time在计算机系统中是用来生成这样的种子的 伪随机数生成器生成数字序列 它不是
  • 对于简单的数据库/爱好者设置来说,什么是好的报告服务? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我的 PC 上运行着一个微薄的生产环境 用于我在业余时间开发的一个小应用程序 此时我已经完成了基础设置
  • 有人还在使用客户端服务器架构吗[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我编写软件已有几十年了 现在一切都是网络 在网络出现之前 我们拥有的客户端服务器应用程序基本上是直接与数据库对话的胖客户端应用程序 它
  • Swift 中计算只读属性与函数

    在 Swift WWDC 简介会话中 只读属性description被证明 class Vehicle var numberOfWheels 0 var description String return numberOfWheels wh
  • 我使用仅大小写不同于其类型的变量名是不道德的吗?

    例如 采用这段代码 var person new Person 或者对于 Python 爱好者来说 person Person 我经常被告知这有多糟糕 但还没有看到这两行代码不道德的例子 对我来说 人就是一个人 试图给它起另一个名字是浪费时
  • 加密单个int的方法

    如何以廉价的方式对 32 位 int 进行双向加密 使每个数字都映射到该空间中的其他 int 并以难以预测的方式映射回来 当然 并且不需要在映射表中预先存储 42 9 亿个整数 您想要的是 32 位分组密码 不幸的是 大多数分组密码都是 6

随机推荐

  • React.memo - 为什么我的相等函数没有被调用?

    我有一个父组件 它根据通过 props 接收到的数组来渲染子组件的集合 import React from react import PropTypes from prop types import shortid from shortid
  • Ruby openssl 中的 AES 等效项?

    Gibberish 库提供了一个很好的 CBC 算法 In Jascascript GibberishAES enc Made with Gibberish n password Outputs U2FsdGVkX1 21O5RB08bav
  • android 动画后按钮不起作用

    我在 android 中创建了一个视图 我需要从下到上对其进行动画处理 反之亦然 我已经使用 TranslateAnimation 成功地做到了这一点 但问题是我的视图上有几个按钮 当动画出现时 触摸点保留在原始位置并且不会移动到新位置 因
  • List 是指针吗?

    我注意到的行为List
  • 始终位于顶部窗口

    我正在寻找一种解决方案 以便使 JFrame 始终处于顶部 并且 始终 我真正的意思是 始终 setAlwaysOnTop true 当我以全屏模式启动游戏时 这将不起作用 我知道您通常不希望窗口保持在顶部 但在这种情况下这是必需的 这是不
  • cdk虚拟滚动问题

    有没有人遇到过 Angular 7 cdk 虚拟滚动在 mat tab 组中工作异常的问题 https github com angular material2 issues 13981 https github com angular m
  • jQuery 分页插件

    希望这是很容易解决的问题 我在理解上遇到了一些问题jQuery 分页 http plugins jquery com project pagination plugin 本质上 我想做的就是加载 PHP 文件 然后对结果进行分页 我试图摆脱
  • 基本类型的 C++ 类包装器

    我见过 使用的许多库都有 typedef 来提供可移植的 固定大小的变量 例如 int8 uint8 int16 uint16 等 无论平台如何 它们都是正确的大小 并且 c 11 本身使用头文件 stdint txt 来实现 H 最近在我
  • 如何在 C++ 中使用小数(浮点)?

    根据IEEE 754 2008 http en wikipedia org wiki IEEE 754 2008有 存在三种二进制浮点基本格式 可以使用 32 64 或 128 位进行编码 和两种十进制浮点基本格式 可以使用 64 或 12
  • 如何通过货币名称获取货币符号?

    我想要获得货币符号 例如 or 按货币名称 例如USD or EUR 对于英语 美国 我可以获得符号 如果英语 美国 设置为设备上的语言 Currency currency Currency getInstance Locale getDe
  • Firebase 在 iOS 上使用 Swift 多次调用“Observe”

    当我开始observer在 Firebase 数据库节点上 我注意到 Firebase 继续调用该方法observer即使没有数据变化 这是我的设置 FIRDatabase database reference withPath test
  • 如何正确配置嵌入式 OpenEJB 容器进行测试?

    这是我的 SLSB Stateless public class MyService PersistenceContext unitName abc EntityManager em public boolean exists int id
  • Intellij IDEA 未从 Groovy 项目中的 @Grab 导入依赖项

    我正在处理一个 groovy 脚本 它使用 Grab 注释导入依赖项 该脚本将在 IDEA 中从命令行运行 但是 在 IDE 中 导入显示为红色 不可解析 并且不会对导入的类提供自动完成功能 我正在通过代理访问企业存储库 该代理已在 IDE
  • 为 C++ 应用程序提供 HTTP Web 服务器功能

    我有一个 C 应用程序 正在寻找一个库 使其成为能够提供静态文件以及执行非常简单的任务的 HTTP 服务器 唯一的限制是它必须是跨平台的 我有什么选择 澄清 我的应用程序需要一个 Web 界面 该应用程序是执行其他任务的后台程序 我想提供一
  • 使用 HTML5 验证多个电子邮件地址

    我正在尝试构建一个电子邮件表单 该表单将多个逗号分隔的电子邮件作为输入并使用 HTML5 验证它们 我想使用以下正则表达式来检查输入的完整性 b A Za z0 9 A Za z0 9 A Za z 2 4 b 这是我尝试过的 这似乎不适用
  • 如何在 CakePHP 中定义模型的“全局”查找条件?

    是否可以定义在使用特定模型的所有控制器和功能中始终有效的查找条件 例如 如果我只想退回有库存的产品 无论如何 也许在模型中的某个地方 conditions gt array inStock gt gt 0 我认为您可以尝试在模型上执行一个函
  • 如何使用puppet为不同用户设置自定义bash环境?

    我刚刚开始使用 puppet 和 vagrant 为我们的团队设置开发环境 该团队由 8 名以上的开发人员组成 每个人都有其特定的 bash 配置等 我已经将所有软件安装在系统来快速部署新的开发虚拟机 但我不确定以自动化的方式为每个特定用户
  • Gradle 错误:字符串索引超出范围:0

    尝试使用 Gradle 编译 Android 项目并收到奇怪的错误 当我跑步时 gradlew tasks stacktrace 尝试过干净的重建 新的仓库克隆 不同的分支 同事能够构建 aok 寻找要检查 尝试解决此问题的想法 更新 恢复
  • Selenium 和 Geckodriver 在 Python 中创建 Webdriver 时出现问题

    我在 python 爬虫中有一段代码曾经可以工作 我将其安装在新系统上 现在正在尝试获取正确的依赖项 使用geckodriver 0 13 0并执行以下代码时 def login self print self colors OKBLUE
  • “你好世界”从何而来?

    hello world 通常是任何编程语言的第一个示例 我一直想知道这句话是从哪里来的 又是在哪里第一次使用的 我曾经被告知这是有史以来在计算机屏幕上显示的第一句话 但我找不到任何对此的参考 所以我的问题是 练习在哪里使用 hello wo