「"原"CSDN」现代的 “Hello, World”,可不仅仅是几行代码而已

「"原"CSDN」现代的 “Hello, World”,可不仅仅是几行代码而已

文章图片

「"原"CSDN」现代的 “Hello, World”,可不仅仅是几行代码而已

文章图片

「"原"CSDN」现代的 “Hello, World”,可不仅仅是几行代码而已

文章图片

「"原"CSDN」现代的 “Hello, World”,可不仅仅是几行代码而已


作者 |Charles R. Martin 译者 | 弯月 , 责编 | 夕颜 头图 |付费下载自视觉中国
新手编写“Hello , World”程序的传统至少可以追溯到1978年 。 但是 , 对于现代的程序员而言 , 什么才是恰当的“Hello , World”?

不久之前 , 一位客户要求我在AS/400上用RPG编写程序 。 引用罗巴切夫斯基的话来说就是:“боже мой!”(我的天哪!)

虽然我不想暴露自己的年龄 , 但我上次用RPG编写程序的时候 , 恐怕本文的大多数读者都还没有出生 。 要想构建这样的程序 , 我需要回忆如何使用KEDIT等编辑器 , 学习如何使用AS/400软件开发工具、构建测试库、编辑实际的程序 , 然后再编译并弄清楚如何运行 。

虽说客户的程序很简单 , 但我不想直接开始写程序 。 于是 , 我创建了一个“Hello , World”项目 。


有意义的传统

“Hello , World”程序的概念可以追溯到Brian Kernighan和Dennis M. Ritchie的著作《C编程语言》(第一版) , 通过编写一个小程序来确认你掌握了这门语言和环境 , 已做好准备尝试更复杂的功能 。 大多数C语言程序员编写的第一个程序都像下面这样:

1 # include stdio.h23 int main () {4 printf ( \"Helloworld!\\" );5 return 0 ;6
将这些代码保存到‘hello.c’文件中 , 然后输入以下命令(在UNIX系统上):

1 $cchello.c2 $./a.out
然后 , 你就可以看到输出结果:

1 Helloworld!
以上代码可以证明你确实能够用C语言编写、编译和执行程序 。

Brian Kernighan和Dennis M. Ritchie在书中写道 , 构建C语言的程序意味着你掌握了启动一个C语言项目的基本步骤 。
这是最大的困难 。 为了克服这些困难 , 你必须能够创建程序文本 , 成功地编译、加载、运行并输出结果 。 在掌握了这些技术细节后 , 其他操作相对都比较容易 。
好吧 , 我承认“其他操作相对都比较容易”这种说法略显荒诞 , 然而 , 这确实是学习所有编程语言重要的一步 。

虽然编写“Hello , World”程序已成为编程界的一种传统 , 然而与许多传统一样 , 很多人虽然这么做却没有意识到其中真正的目的或价值 。 于是 , 有人在网上总结了一个Hello World集合 , 其中包含用近600种语言编写的“Hello , World”程序 , 从Ada到ZIM 。 许多IDE都可以编写基本的“Hello , World”程序 , 对于许多解释型语言(如Python)来说 , “Hello , World”只不过是在解释器的REPL中键入 print(\"Hello world!\")。

不幸的是 , 这并不能提供太多实际的洞察力 , 而用Richard Hamming的原话来说 , 计算的目的是洞察力 , 而不是文字字符串 。


“Hello , World”真正的意义是什么?

原本Brian Kernighan和Dennis M. Ritchie让大家编写“Hello , World”程序的重点不是在终端上输出“Hello , World” 。 相反 , 是为了确保你具备所有的工具 , 并对编写C程序所需的C语言知识和UNIX编程环境有基本的了解 , 而且还对构建程序的工具和方法有一定的了解 , 这才是启动一个项目最重要的第一步 。

推荐阅读