傻大方


首页 > 大杂烩 >

「C语言」现代的“Hello, World”,可不仅仅是几行代码而已

『傻大方·大杂烩摘要_「C语言」现代的“Hello, World”,可不仅仅是几行代码而已』作者|CharlesR.Martin译者|弯月,责编|夕颜头图|付费下载自视觉中国出品|CSDN(ID:CSDNnews)新手编写“Hello,World”法度榜样的传统至少可以追溯到1978年。然则,对于现代的法度榜样员而言,什么才是恰当的“Hello,World”?不久之前,一位客户请求我在AS/...



「C语言」现代的“Hello, World”,可不仅仅是几行代码而已
本文插图
作者 | Charles R. Martin
译者 | 弯月 , 责编 | 夕颜
头图 | 付费下载自视觉中国
出品 | CSDN(ID:CSDNnews)
新手编写“Hello , World”程序的传统至少可以追溯到1978年 。 但是 , 对于现代的程序员而言 , 什么才是恰当的“Hello , World”?
不久之前 , 一位客户要求我在AS/400上用RPG编写程序 。 引用罗巴切夫斯基的话来说就是:“боже мой!”(我的天哪!)
虽然我不想暴露自己的年龄 , 但我上次用RPG编写程序的时候 , 恐怕本文的大多数读者都还没有出生 。 要想构建这样的程序 , 我需要回忆如何使用KEDIT等编辑器 , 学习如何使用AS/400软件开发工具、构建测试库、编辑实际的程序 , 然后再编译并弄清楚如何运行 。
虽说客户的程序很简单 , 但我不想直接开始写程序 。 于是 , 我创建了一个“Hello , World”项目 。
「C语言」现代的“Hello, World”,可不仅仅是几行代码而已
本文插图

有意义的传统
“Hello , World”程序的概念可以追溯到Brian Kernighan和Dennis M. Ritchie的著作《C编程语言》(第一版) , 通过编写一个小程序来确认你掌握了这门语言和环境 , 已做好准备尝试更复杂的功能 。 大多数C语言程序员编写的第一个程序都像下面这样:
1 #include 23int main {4 printf("Hello, world!\n");5 return 0;6} 将这些代码保存到‘hello.c’文件中 , 然后输入以下命令(在UNIX系统上):
1$ cc hello.c2$ ./a.out 然后 , 你就可以看到输出结果:
1Hello, world! 以上代码可以证明你确实能够用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的原话来说 , 计算的目的是洞察力 , 而不是文字字符串 。
「C语言」现代的“Hello, World”,可不仅仅是几行代码而已
本文插图

“Hello , World”真正的意义是什么?
原本Brian Kernighan和Dennis M. Ritchie让大家编写“Hello , World”程序的重点不是在终端上输出“Hello , World” 。 相反 , 是为了确保你具备所有的工具 , 并对编写C程序所需的C语言知识和UNIX编程环境有基本的了解 , 而且还对构建程序的工具和方法有一定的了解 , 这才是启动一个项目最重要的第一步 。
这一步通常比最初看起来更为复杂 。 如今 , 实际的项目不仅需要编辑器和编译器 , 还需要了解如何打包程序 , 如何搭建环境 , 如何计划维护版本控制 , 如何实际构建程序以及所需交付的产品编程项目 。 因此 , 尽管基本的“Hello , World”程序可能仍然只有五行代码 , 但是构建最初那个看似非常容易的“ Hello , World”可能要复杂得多 。
【「C语言」现代的“Hello, World”,可不仅仅是几行代码而已】启动一个新项目必然需要在进入“其他操作相对都比较容易”阶段之前 , 解决许多开发上的问题 。
「C语言」现代的“Hello, World”,可不仅仅是几行代码而已
本文插图

项目的“Hello , World”程序
为了某个项目构建适当的“Hello , World”实际上比较复杂 , 但收益也很大 。 考虑一个需要交付的项目 , 例如一个Web应用程序 。 除了选择语言之外 , 通常还需要选择前端和后端的框架 。 此外 , 你还需要确定如何托管第一个应用程序 , 以及如何管理和交付代码 。
对于一个项目来说 , 恰当的“Hello , World”程序不仅仅是显示输出 。 你需要证明你已做好准备添加功能(如果你们采用SCRUM则为添加用户案例) , 然后经过一系列的操作将其推到演示和测试的应用程序版本 。 对于产品而言 , 恰当的“Hello , World”程序就是最低版的最低可行产品 , 它表明随着开发的进行 , 你可以提供有用的产品进行测试和使用 。

声明:本文是由网友投稿,文中所阐述的观点不代表本网的立场。

上一篇:【任正非】国产手机恐“变天”,华为、oppovivo遗憾落败?任正非方向错了吗

下一篇:【微软】聊一聊让微软谷歌等巨头心心念念的“多因素认证”

大杂烩

GPU|外媒:显卡短缺可能会持续到2022年

阅读(14)

AMD和英伟达显卡的供应短缺可能会持续到2022年,这对PC游戏玩家来说可能是个坏消息。PC用户可能还得再等一段时间,才能得到AMD或英伟达的GPU,因为市场对显卡的需求持续超过了现有的...

大杂烩

「 通告」南阳中心城区户外广告 专项整治行动通告

阅读(35)

组织开展中间城区户外告白专项整治行动的公告卧龙区、宛城区人平易近当局,高新区、城乡一体化示范区管委会,市直有关部分:为周全推动中间城区创建全国文明城市工作,强力整治户外告白乱象,根据《南阳市城市市容和情况卫生治理条例》等司法律例有关规定,公...

大杂烩

[ 高温]河南省漯河市发布高温橙色预警 2020-06-08

阅读(43)

( 河南( 河南新闻网 )龙网_原始标题是 :河南省漯河市发布高温橙色预警 2020-06-08) 发布日期:2020-06-08 12:25:00 漯河( 漯河新闻网 )市气象台2020年6月8日12时25分发布高温橙色预警信号:预计今天下午 , 我市部分地区最高气温将升至37℃以上 , 请...

大杂烩

「 大雾」河南省汝南县发布大雾橙色预警 2020-03-30

阅读(36)

【「 大雾」河南省汝南县发布大雾橙色预警 2020-03-30】 ( 河南( 河南新闻网 )龙网_原始标题是 :河南省汝南县发布大雾橙色预警 2020-03-30) 发布日期:2020-03-30 03:22:00 汝南县气象局2020年3月30日03时22分发布大雾橙色预警信号:目前我县已出现能见...