修订版序
自《啊哈C》出版以来,我与编程爱好者们便有了更多的交流机会。这些编程爱好者之中不乏大学生、中学生、老师、家长,更有小学二、三年级的学生。令我惊喜的是,二、三年级的小读者们与我探讨的并不是浅显的语法或BUG 调试问题,更多的是他们通过独立思考发现的书中的错误,他们向我阐述自己的思想,与我交流游戏开发中遇到的逻辑、算法等。还有一些读者留言说:这本书不仅仅是小学生坐在马桶上都能看懂的书,是连我妈妈或是我姥姥都能看懂的编程书!这些读者实在是太捧场了,有幸让我体验了一次漫卷诗书喜欲狂的感觉。也有好多读者看完后直呼不过瘾,常常询问何时能有第二部。一晃已是三年,借此《啊哈C 语言!逻辑的挑战》修订之际,第二部《啊哈C 语言!游戏实验室》也如期而至,它景致依旧,故事常新,希望你能喜欢!让我们再次共同探索编程与梦想的一切可能。
啊哈磊
2016年12月
第一版序
我经常被问到一个问题:当初为什么会去学编程?我的回答是,因为我很喜欢玩游戏。每一个喜欢玩游戏的人,都梦想着可以通过修改游戏的程序使游戏中的自己变得非常强大,而这需要学习编程。其实每一个喜欢玩游戏的人都曾有过创造游戏的梦想,那我们为什么不把这种梦想变成学习的动力呢?我就是这样踏上编程之路的。
牛人肯 汤普逊(Kenneth Lane Thompson)自己编写了一个叫作星际旅行(StarTravel)的游戏。而汤普逊为了能更顺畅地玩这个游戏,竟然自己动手用汇编写了UNIX 操作系统。后来他觉得用汇编写UNIX 操作系统非常麻烦和辛苦,于是和另一个牛人丹尼斯里奇一起创造了C 语言。没想到吧,C 语言竟然是一个牛人为了玩自己写的游戏而创造的。其实这在计算机界很正常,程序员们往往就是因为某个游戏或者软件的现有功能不能满足自己的需求,才开发出了更加优秀的游戏和软件。
本书中超萌、超简洁的啊哈C 语言编程软件也是这样来的。
我经常被问到的第二个问题:为什么普通人需要关心编程呢?我的答案是,因为当下程序员几乎主宰了整个世界,控制着生活的方方面面。我们住的房子、穿的衣服、吃的东西、用的各种电子产品,以及我们去ATM 取钱、坐电梯、开汽车、坐飞机、坐火车等,都离不开编程。你坐火车时有没有想过,一条铁轨上同时运行的
那么多列火车是如何调度才没有导致它们相撞的。这个时代很难想象还有什么不是通过计算机程序控制的。如果想理解这个时代,就必须理解计算机编程。编程会让我们以一种全新的方式来看世界。当然,在学习编程的过程中还可以提高我们的逻辑推理能力、批判性思维和动手解决问题的能力。与计算机展开的逻辑较量一定会让你觉得很有意思。
我还经常被问到第三个问题:什么样的人可以自学编程,学习编程需要什么基础?答案是,你只需具有小学四年级以上文化程度,并且熟练运用鼠标和键盘就可以。你若不信,那就从这本书开始吧。
编程很容易让我们实现梦想。如果我们觉得某个游戏玩得不爽想提升体验,或者觉得某个软件不够好用想自己做一个,没问题,现在就可以!而唯一的投入就是一台计算机。实现梦想从未变得如此简单。编程世界里每天都上演着传奇,一大批热爱编程并且满怀梦想的人正在充满激情地奋斗着。
编程将会改变我们的思维,教给我们如何思考,会编程的人总想改变点什么。正如乔布斯所说I think everybody in this country should learn how to program a computer, should learn a computer language, because it teaches you how to think.
啊哈磊
2013年9月