我觉得,基本上可以说每个程序员都很熟悉“Hello World!”程序。依照惯例,它是学习编程语言、编译并运行你的首个程序的一种快速方法。然而,除此之外,它的价值不大。下面是我认为Hello World的十个问题。 我觉得,基本上可以说每个程序员都很熟悉“Hello World!”程序。依照惯例,它是学习编程语言、编译并运行你的首个程序的一种快速方法。然而,除此之外,它的价值不大。下面是我认为Hello World的十个问题。 10. 为什么是“Hello World”?为什么不叫“Hello Dave”或者“It Works!”?(Dave就是《2011太空漫游》中的HAL 9000) 我知道这个问题有点夸张。“Hello World”这种说法从何而来呢?除你之外,最后一次有人运行你的程序是什么时候?也许用“Hello <输入你的名字>”更合理些。 9. 它只适用于一件事情”? 我不是在发表“Hello World”一无是处的言论。然而,他们唯一擅长的就是合理性检查。 “Hello World”并不能帮你学习任何编程语言,它能做的只是帮你写一个能编译和运行的简单程序。 它可以帮助你检查其合理性,然后你便可以告诉你自己,“我成功了!” 8. 既不给力又不好玩 随着游戏中精细图形及互联网交互性的发展,几乎没有人再对那些在屏幕上输出一些字的应用程序感兴趣。 就像刚才说的那样,写一个“Hello World!”程序,除了你自己之外,不会给任何人留下印象。此外,它也不可能是你学习编程的动力。 7. 它不切实际 你最后一次编写仅要求将字符串显示到标准输出的程序是什么时候?有人可能会说,现在很少有程序不包含图形用户界面——不管是网页、窗口界面,或者甚至是对文件、数据库的操作。可能它在学术界很实用,在学术界可以始终如一地让程序显示运算或者数值,但专业领域并非如此。 6. 没有交互性 “Hello Word!”这个例子,除了需要终端用户验证“HelloWorld!”是否显示在屏幕上之外,不依赖用户做任何其它操作。它没有要求用户输入用户名、退 出程序或重新运行程序之类的交互。关于终端用户和程序之间如何进行交互,“Hello Word!”并没有涉及相关内容。 5. 没有逻辑和运算 计算处理非常依赖于逻辑结构(如:当这个条件为真时,打印这条语句)和运算。大多数程序的编写将运用一些标准下的决策逻辑。甚至计算机的基本组成部分(机器代码)也代表一种逻辑表达式:1=真,0=假。 |