Learn to Program 书评
如何学习编程?一本好教材当然是不可缺少的。一本好的入门教材更是不可或缺的。为什么我说入门教材?我自己非理工科专业更莫说计算机相关专业出身,学习编程并不能像受过系统训练的人一样,拿来一本教材或者手册,熟悉一下词法(lexical)结构即可上手。皆因已经掌握编程的基本概念,语言只是工具而已。当我等菜鸟请教编程达人如何开始编程之旅,他们可能会忽略掉我等的非计算机背景,因此门非但不入,往往不得其法,误入歧途,半途而废……
今天,我要推荐一本书,即如图这本 [Learn to Program][0], 由 The Pragmatic Programmers, LLC(是我喜欢的仅次于 O'Reilly 的出版社 :) )出版。这本书据说是给小孩子学习编程入门用的。所以,这本书给没有任何编程训练的我来说,入门是最合适不过的。如果你,像我一样,需要在设计或者编写 HTML/CSS 之余,还必须承担一定的前台程序编写,或者你对编程的兴趣比我还高,但尚未入门,又或者,你真的是五六岁的小孩(我有这样的读者吗 -_-)要学编程……那么这本书是你的不二之选。
这本书使用 Ruby 教学,虽然有种种非议,但不可否认,它属于世界上最接近人类语言的编程语言之一,所以,用来学习编程的基础概念,我相信,它比 C 更容易。
作者 Chris Pine 现供职于 Opera,擅长于教学编程。Chris 文风很幽默,一上来回忆编程,就想起怎么会有女孩脸红地看着他原来裤链没拉(真的是小孩看的书么-_-)……所以他让你学习枯燥的编程过程中并不枯燥,他时不时加点料子让你会心而笑。而且语言平实易懂,运用大量现实生活中的实例来解释程序中的术语,让你过目难忘。举个例子,书中是这样解释对象与方法的。假如钟表是一个对象,则时针的转动就是该对象的方法;假如对象是名词的话,方法则类似于动词,而方法的参数就类似于副词等等,只有亲自去阅读才能发现其中的乐趣。你会发现,从来没有能够如此轻松地念完一本讲编程的书。
这本书从如何在各个平台配置好 Ruby 环境开始,逐一讲解数字、字符、变量与赋值、方法、流程控制、数组与遍历、自定义方法、类、自定义类以及块和过程(Proc),基本上涵盖了 Ruby 的基本要素。就是说,如果学习完这本书,如果还想继续使用 Ruby,那么,你已经准备好了!不想继续用 Ruby 怎么办?前面说过,这本书绝对不是 Ruby 的入门书而已,它也是编程入门书,你将从此书获得编程的基本技能,这些技能是所有程序都能适用的(如果是面向对象编程语言则更好),你完全可以开始投入另外一门语言的基本学习中去了。
如果你已经确定要学习编程,但还在犹豫选择什么语言,选择什么教材,那么,可以看看这本书,我相信,你一定能有所收获的。重要的是,这本书不厚,短短 150 多页,如果你浏览,1 天不到可以看完,用心学,也不过一个星期。你觉得还有什么负担能阻止你学习编程吗?现在就开始吧。
更新:另外,IBM developerWorks 上也有此书的书评。