行路頭低低

编程入门路线

路线一

首先,学好英语。高中毕业程度就可以。 高中英语,语法什么的基本全了, 3500 的词汇量,打个折扣,3000 也绰绰有余了。 学到这个程度就可以,以后大量阅读英文资料,计算机方面的词汇会自然而然积累,不用特意提前去背。

其实初中程度的英语,1500 的词汇量,也勉强够了。 初中英语的问题是有些语法没接触到,也就是说可能会碰到一些陌生的结构。 好在很多情况下,即使不理解结构,从上下文也能推断出意思。 而同类的结构见得多了,可能慢慢就理解了。 中文的语法,通常是本科阶段才正式介绍,可是在此之前并不影响大家使用中文。 非母语虽然困难很多,但一样可以。 初中时候查双解字典,字典的解释大量使用定语从句,当时完全不知道定语从句这回事, 但是渐渐地也能明白这个结构的作用。

俗话说,磨刀不误砍柴功。但是也不必太刻意地追求磨刀磨得恰当好处。 磨过头了,英语学多了,可以去翻译。 高中程度的英语只是阅读,翻译远远不够,强行翻译容易给别人挖坑,当然自己作为练习是可以的。 感觉自己学习编程的热情要在磨刀中消磨殆尽了,那也可以先放一放,直接去学。以后有必要再补也是一样的。 答案不如问题重要,路线不如动力和兴趣重要。

接着,看一本入门的书。

选哪一本呢?这个阶段对编程基本是一无所知,所以如何评判书的好坏呢?

其实还是有办法的。

就是看书的厚薄。

这个肤浅的判断方法出奇地好用。 它背后的依据是,如果一本入门书不够薄:

  1. 要么,这本书介绍了太多细节了,入门书应该介绍这一领域的精华,而不是让初学者迷失在细节;
  2. 要么,这本书将一些过深的内容放到入门书里了;
  3. 要么,这本书把读者当作弱智,不相信读者的能力,很多书每一步都给你截图,书看上去很厚,其实言之无物;
  4. 要么,作者随便东拼西凑搞了一本书出来,自己都不知道自己在干什么。

我推荐 The Little Schemer. 如果这本书不好找,或者觉得这书不合口味,那挑一本别的入门书也是一样。记得选薄的就可以。

路线二

不学英语,直接看 The Little Schemer 的中译本。

注意,中译本我并没有看过,不知道翻译的质量怎么样。

或者也可以看裘宗燕翻译的 SICP (《计算机程序的构造和解释》)。 这书并不薄。不过入门的话,只用看前 3 章就可以,这样算下来还是比较薄的。 和 The Little Schemer 不同,SICP 的习题很多, 如果感觉吃力,可以选做或者干脆不做,习题本来就是给学有余力的人准备的,别让习题挫伤自己的信心。

路线三

自己制定路线。

自己往往比别人更了解自己,自己制定的路线,对自己而言,说不定比别人推荐的路线更合适。 不要惧怕探索,只要保持动力和兴趣,总能走通的,大不了走点弯路罢了。 即使因为走了弯路进展慢一点,但自己能闯出一条独特的路,会给自己信心。 在黑暗中独立摸索的经验,也会给你一些感觉。

很少人有这个幸运或者不幸能永远沿着别人的路走。 总有一天会碰到没人探过路的情况,这时候当初的信心和感觉会成为你的助力。