20130129

北京北京

北京北京

1月底2月初,我在北京停留一周。西北四环,我不知道这里算是城郊,还是几座村镇的中间地带。

灰蒙蒙的天空,正午的太阳终于显露出来,月亮一样黯淡。眼前低矮的建筑,狭窄的胡同,远处高楼林立,隐在雾霾之中。豪华轿车上厚厚一层灰尘,它们飞速穿过西四环宽阔的马路,溶入到闪耀的车灯的洪流中。

我看到穿着深色掐腰西服的青年男女,里面是雪白的衫衣,他们涂脂抹粉,在终日不暗的人工光源照射下活力四射,然后挤在百货公司楼顶的食铺里吃得大汗淋漓。他们操着不太纯正的北京方言,谈论着与家乡遥远不可及的话题。

他们的后代会成为操着纯正京腔的北京人民。我不禁想,当他们的后代长大,那时的北京是个什么样的城市。过街天桥上很多大红的标语在雾气里隐约可见,我记得"首善之区"这四个字,取代了上次我看时看到的"包容"等北京精神。上一次我见到"首善之区",似乎是在鲁迅先生作品的脚注里。这么眼熟。

收音机是吉克隽逸祝福和号召的声音,还有李代沫的新歌。我翻出梁博的《北京北京》,他在选秀以后渐渐淡出了人们的视野,似乎没有新歌没有宣传。他说过,他热爱音乐,我现在更加相信了。

我还看到汪峰和几个别的明星穿着登山服的大幅广告,在城市中心,在地铁的灯箱里。他们似乎都向往远山,向往自由,向往天空。

你的行为告诉我们,你所热爱的到底是什么。他们,最终选择了北京,而不是他们所热爱的故园、旷野和音乐。

更多照片 [http://www.douban.com/photos/album/85517092/?start=0],其中有两张是长春。

--------------------

博客会手工同步到以下地址:

[http://giftdotyoung.blogspot.com]

[http://blog.csdn.net/younggift]

20130123

《C程序设计语言》句读 20130123

《C程序设计语言》句读 20130123

在这里[http://www.tudou.com/programs/view/XKF8AOADykU/]。

这次结束了第1.2节。华氏度转摄氏度的程序已经由整型版本改成了浮点数版本。这一次的主要内容是while的循环体,还有数据类型及实加于其上的运算间的关系。

--------------------

博客会手工同步到以下地址:

[http://giftdotyoung.blogspot.com]

[http://blog.csdn.net/younggift]


--
Sincerely,
YANG Guifu
School of Computer Science and Information Technology
Northeast Normal University
Changchun, P.R.China
----
杨贵福
无不大工。

20130120

《C程序设计语言》句读 20130120

《C程序设计语言》句读 20130120

在这里[http://www.tudou.com/programs/view/F80XyfJFBYE/]。

这次开始第1章,小程序示范。Hello world结束了,正讲到华氏度转摄氏度的循环。

--------------------

博客会手工同步到以下地址:

[http://giftdotyoung.blogspot.com]

[http://blog.csdn.net/younggift]

20130117

《C程序设计语言》句读 20130117

《C程序设计语言》句读 20130117

在这里[http://www.tudou.com/programs/view/IP0uddL3wX8/]。

这次句读完了绪论,第1章刚刚开始。

我按现在的进度估算了一下总共需要的时间。全书一共190页,如果每次2页,我们需要95次,如果每周一次,需要95周,需要1.76923076923年。不到2年的时间。

我又想起当年考研还是考博时的犹豫,犹豫所需要的时间,还有学完要花费又几年的时间。当时一个贴子让我明白了一点。贴子说,一个家伙犹豫要不要考研,心想,等我毕业需要三四年,那时我都快40了。我还要不要考呢?他的朋友说,你以为你不考,过三四就不四十了么?

句读C语言需要两年的时间。我自问自己,你真以为如果不句读C语言,这两年就能做更有意义的事情啦?我们有时并不是有更重要的事情要去做,不过是对现状的绝望。


今天有领导训示大家,关于科研考核什么烂糟的。不是科研考核本身烂糟的,我是说我的科研成果烂糟的。有位同事说,"计算机学科这么弱,跟化学生物物理同一个标准不合适。"我不太以为然,自己不行么,要么争气,要么认命,也没啥可争的。包师弟有云,"眉毛上的汗水,眉毛下的泪水,你总得选一个。"反正你如果有目标,总归得工作或者哭。不过我不敢跟我的学生们说,怕他们认为我是在励志。因为我总记得我们最终还有一条路可选,就是放弃目标。但这话不能跟同学们说,他们该投诉我了。同事提到的学科差异,领导开玩笑地说,"那就得怪你选错学科了。"大家笑。我没配合笑一下,而且非常激动。所以当另一位领域问俺们,不是,问我有啥想法时,我就表达了一下。

我们学科弱不错,全世界的计算机都比化学生物物理弱,也不错。但是我们热爱这个学科,你不能说我们选错了学科。就算你把我们拆了,全分到各个系看机房,我们还是热爱这个学科。

上述,我表达得有点语无伦次,现场效果也就是如此。其实我想说的是,我没有别的选择,我只喜欢计算机。所以,我也没有什么别的可以做的。人人网还是哪,以前有过微博类调查,说如果没有你学习从事的这个专业,你想做啥去。如果那样,我想去死。

没有别的选择的时候,人生就完全不同了。至少,你不会因为选择痛苦--因为你别无选择。

--------------------

博客会手工同步到以下地址:

[http://giftdotyoung.blogspot.com]

[http://blog.csdn.net/younggift]

20130115

读书怎么才能更快

读书怎么才能更快

沙发上堆了不少书,这些都是计划要看完的。有的要精读,有的要粗读。精读和精读消耗的时间相差巨大。大抵上,读书想要更快,速度就在精读和粗读的速度差上了。

当然,排除一种方法,就是你一顿瞎翻,啥也没记住。

李笑来先生曾经说过,读书提速的方法,根本没有秘诀。无外乎多读,多读你的速度就快了。你可能问了,为啥啊。

有人可能还听说过一种叫"快速阅读"的技术。练习以后,能一行一行地往下看,不是一个字一个字的看。大致上,跟竖着看书差不多。我小学的时候学过,貌似还有点用。英语阅读的时候,我能用别人一半的时间完成阅读和答题--当然准确率并不怎么出色。不过,即使我降速到原来的一半,准确率也就还是那样。这样看来,"快速阅读"似乎还有点用?这跟李笑来先生提到的没有秘诀是否矛盾呢?

其实,不矛盾,都是一回事。

一者,长时间地阅读,会自然地形成很多技巧,这些技术就跟走路多了的人会走路一样:把文字按行或按词组划分,不要每个字都读,跳着读,不要在心里出声,啥的。要想阅读超过人类的正常语速,还是挺容易的,只要读足够的量。所以,一般没有特殊训练,也容易达到。

不过,当我们读教科书、经典著作,或者我们称为晦涩难懂的那些书的时候,问题就来了。这个时候快速阅读完全起到了相反的作用。比如第一次读《C程序设计语言》,比如读《纯粹理性批判》,比如读你明天要考试的那科教材。一目十行,合上就忘,甚至当时也不知道作者在说些啥。

所以,计算机领域有一种说法,他们希望发明一种"慢速阅读"方法,从而能字斟句酌地一点点扣。

这种时候最好的读书法是 不仅"读",而且"做"。正如CSAPP中说的,学习系统的最好方法,就是 "do
system"。当你沉浸其中,不看书实现一遍那些代码的时候,你就真正掌握了。有的似乎把这叫做在"内化"。扮演老师,给别人讲明白;找个实例按书里的路子剖析一遍……总之,经历过的事情,会让你刻骨不忘。这就是为什么讲起近三十几年的历史,三十几岁的人往往连书都不用翻,因为他们身在其中。

当然,"do system"的方法,是个慢方法,而不是个快方法。不过,如果吃了东西都不消化,还吃它干什么。所以,"do
system"也是大量阅读中的好方法。更好的方法,是自己写一本。

大量阅读,会自然形成阅读技巧,因此,会读得快。但大量阅读的作用,不止于此。

其二,大量阅读会形成知识结构。这样,不仅技术使你读得快,知识结构还会使你越读越快。

我面对那么书,也常常挠头,叹"吾生也有涯而知也无涯",悲夫。不过,到真正读的时候发现,有的书读起来比想像地快得多。

比如我用一个晚上读完了今何在先生的《我的征途是星辰大海》,用大半个晚上读了半本二月河先生的《九王夺嫡》。这种速度和某些速读牛人比起来并不算什么,不过和我其他的记录相比就令我惊叹了。我读SICP的时候,有过2个小时1页的时候,读康德的时候,有好几天断断续续没翻过去一页的时候。和这些比起来,一晚上半本一本的速度就很快了。

为什么会有这种差别呢?

一个原因是,这些书的信息含量是不同的。信息论告诉我们:信息,是对无序的度量,只有当可能性未知时,即事件你还不知道结果的时候,告诉你的,才是信息。你明知道的事情,我再说一遍,对你而言是零信息。那种对话一般表达情感,或者是仪式,比如那句古老的"你吃了吗"或者"how
are you"。其实说话人对你吃了没有或者好不好一点也不感兴趣。

小说和电影,如果只是为了欣赏,而非研究学习,那读起来就可以酣畅淋漓。按Johan Lilius教授对 the Big
Bang的评价,把脑子拿走一些看,效果会更好。按《破产姐妹》里胖姑娘的说法,对着电影大喊大叫,那正是享受电影。这样的时间,过得很快,其实也真的不多。一场电影1.5小时,可能康德还没有读完半页。

另一种读起来快的书,就是里面的知识全是你知道的。我们翻金庸原版武侠的时候,感觉大概就是这样。谁什么时候要死了,什么时候要难过,后面还有啥阴谋,咱们全知道。只是为了再感动一次。可以几秒钟就翻过一页,如果不细品文字的话。还有精通一种语言的人,再学习其他的语言,看教材的时候,速度也非常快。因为他的头脑中,不管什么语言,都应该有变量声明、类型、结构体、数组、对象、判断、循环、函数、库。一般都这样,内容不变,只是语法上有差别。

除非,你遇到了颠覆你人生观世界观价值观的东西。比如,LISP有那么一大堆括号不让人头疼,很多初学者的第一个问题是,这家伙没有循环怎么迭代,然后可能又遇到个问题,函数怎么可以没有名字,可能还会有人疑惑变量怎么可能没有类型。再比如,PYTHON初学者可能对结束没有";"还没有多大意见,缩进是语法的一部分,很多人好几年适应不过来。

还有,当你打开罗素康德,看到他们所讨论的有的似乎你疑惑者,有的你根本不知道他们在说什么。他咔咔一顿推导,最后得出一个你万万不能支持的结论,突破了小资产阶级所谓"底线"。这可不行,还得掉头看他怎么推理的,或者扔掉再踩上一脚,评"什么破玩艺",或者"我可整不了"。

所有这些,lisp,python,康德罗素,他们让我们不舒服,让我们阅读的速度大大降低,原因在于--他们正拓展我们的知识结构。探索新宇宙,开疆拓土,历来如此。

想舒服,想快速,就停留在我们原有的知识结构上。拿起本小学数学,或者初中二元一次方程,那感觉,是不是很自信。我以前装机试软件的时候,曾经装过一个软件,考10以内加减法。我做完题,机器评论"你看是个天才"。但是我并没有什么满足感,只是觉得滑稽而已。

大部分小学生看你现在要考试的教材,速度肯定比你慢上百倍。他的阅读速度,甚至认字和组词的能力,都阻碍他的理解。更重要的,你已经具备了这本教材的知识结构。

知识结构的完备,大大减少了我们阅读时的信息量。读我们熟悉的东西,不过是增加细枝末节的了解,而框架的建立,而是伤筋动骨,痛苦而漫长。这也是为什么我们人类那么痴迷于"形而上",因为我们期待建立了它以后,剩下的可以不用想就推出来了。

所以,大量阅读建立的知识结构支持我们更快的阅读,因为它大大减少了书本中我们要接受的 (未知的) 信息数量,那些都是我们已经知道的了。

而且,随着你阅读数量的增加,知识结构的完善,你的阅读会越来越快。因为,你的知识结构越完善,在下一本书里,你未知的就越少。有人可能提到"知道的越多,未知的越多",那是针对知识总量而言的,而不是指特定的某一本。特定的一本书,你知道的越多,读起来铁定越快。除非,你是在研究,而别人只是在浏览。

再回到我沙发上的那些书,精读和粗读。凡是新知识结构,都只能精读,这是没有别的办法的事情;娱乐的、补允细节知识的、学习别人表述方法的,那些读起来就快得多了。

读书怎么才能更快?读得多了,就快了。你可能认为这是个悖论,因为你想知道读书快速的方法,就是为了多读书。

不是的,你不是想多读书,而是想利用更少的时间读书。这个问题容易答多了:只有现在花时间多读书,以后才能少花时间。

再说了,人生苦短,可也够长。你没用在读书上的那些时间打算干什么,打麻将么?

--------------------

博客会手工同步到以下地址:

[http://giftdotyoung.blogspot.com]

[http://blog.csdn.net/younggift]


--
Sincerely,
YANG Guifu
School of Computer Science and Information Technology
Northeast Normal University
Changchun, P.R.China
----
杨贵福
无不大工。

20130112

精读经典,重新开始:《C程序设计语言》句读

精读经典,重新开始:《C程序设计语言》句读

康德如此闻名,没有人敢慎重地说他写得都是些什么玩意,根本看不懂。但是,一直以来,很多人都提到,康德的著作太难读了,这抱怨还是针对汉译的。《纯粹理性批判》中文版,看着跟德文似的。所幸,邓晓芒先生著有《<纯粹理性批判>句读》,逐句翻译和扩展。这让我满怀希望,也许经过努力,总有一天能够明白。

类似受到推崇和抱怨的,还有《C程序设计语言》一书,C和UNIX操作系统的发明人 K&R
两位先生的著作,是最优秀的C语言教科书。我在本科的时候幸运地从学校图书馆借到过这本,薄薄的小册子,讲解清楚明白。

虽然我后来又读了很多书,它仍是对我影响最大的和最优秀的书之一。其他的,还有《牛虻》和《计算机解释的构造和解释》。牛的书,重构我们的人生观世界观价值观,或者知识结构,给我们新的生命。

我对我的学生,我的学生也对我说过,要精读经典,重读经典,一遍又一遍。每一遍可能都有不同的体悟。

贯彻这一原则,很久以来我一直想再次精读此书,并且希望我通读全书的过程能有益于你。所以,我开始录音这个过程,发布在网上。

在这个录音中,有我的中文口音、我不认识的单词去查的过程,可能以后,还有你纠正了我的错误,我在以后的某次承认错误免得误导别人和对你的感谢。

在这个录音中,还有我通读这本书的每一句,然后像英语精读课那样,划分句子成分,解释一些单词,从英语的语意,到计算机领域中它特殊的含义。还有我的各种猜测。这些过程,你都熟悉。

你需要一本书,机械工业出版社 《C程序设计语言》英文版 第2版,作者 Brian W. Kernighan, Dennis M.
Ritchie,2009年3月第1版。其他的版本可能也行,内容也许略有差异。也许,你还需要一支笔,用于标注生词、句子的语法结构,一些知识点。

你还需要一些时间,每一次大约45分钟。我会不定期更新,上传,然后在这里通报一下。

我需要你的意见,如果你方便和乐意。

受我的水平所限,难以保证正确和深入,愿与同样的初学者一起进步;也请大牛们指正,谢谢你帮助我进步。

康德在《实践理性批判》中说:"有两样东西,愈是经常和持久地思考它们,对它们日久弥新和不断增长之魅力以及崇敬之情就愈加充实着心灵:我头顶的星空,和我心中的道德律令。"我想,他说的是,道德律令之于人类,就像星空一样真实地存在。可以触摸和感受,不可避免地影响我们,无法逃避。我们来自于它,归结于它。

C程序设计语言,也是的。

录音在这里,[http://www.tudou.com/programs/view/7uHPX99xDaA/]。

--------------------

博客会手工同步到以下地址:

[http://giftdotyoung.blogspot.com]

[http://blog.csdn.net/younggift]