搬家
决定以后不再使用这个blog,换到Wordpress上。
地址
这两天看光学,真个是天昏地暗,简直是把物理当思想政治来看了,正儿八经地做笔记,看习题,背公式,全无以前复习力学电磁,看看书便算完的利落。没办法,光学还是一门,比较唯象的学科。虽有物理光学一统天下(凡是和量子沾边的我们都不考),但概念公式繁多,还是有点眼花缭乱。今天拿到卷子,又傻眼了。净是些边边角角的东西,当真是呜呼哀哉,一路做下来实在是胆战心惊。
今天是2005年的最后一天,特此发文纪念。每到这时候都很能发一番感慨,怎么一年就这么过去了呢?
正在看Joel Spolsky(此君现在大大的有名,去书店里能看到他的《Joel说软件》一书)的新文章The Perils of JavaSchools,Java门派的风险。这次的攻击目标是Java。其意思大概是这样的:Java属于一种“高不成低不就”的语言。所谓低,是指指针的使用,代表对系统底层的控制能力;高,则是指函数式编程,是高层抽象。我对Java不太了解,对函数式编程也知道不多(手头有一本SICP,希望什么时候能看一看)。只是类似的话也曾在Paul Graham的The Roots of Lisp里出现过,抄一段如下:
It seems to me that there have been two really clean, consistent models of programming so far: the C model and the Lisp model. These two seem points of high ground, with swampy lowlands between them. As computers have grown more powerful, the new languages being developed have been moving steadily toward the Lisp model.
我认为目前为止只有两种真正干净利落,始终如一的编程模式:C模式和Lisp模式。此两者就像两座高地,在他们中间是犹如沼泽的低地。随着计算机变得越来越强大,新开发的语言一直在坚定地趋向Lisp模式。
个人认为,C是当今计算机机器模型的最好抽象:线性的内存地址空间,指针,数据(或者说对象)放在内存中,你可以通过指针直接控制内存。这就是全部,再加上基于堆栈的函数调用机制。非常简单,无怪乎有人要说C是一种“中级语言”。Lisp则代表另一种计算模式。看看动态类型,垃圾收集,高阶函数,著名的lambda算子,对比一下C的静态类型和同样著名的malloc/free及它们所带来的内存管理地狱,就可以理解为什么人们要说Lisp是一种优美的语言。另一个有趣的特征是:在Lisp中,你直接工作在抽象语法树上。这一语言特征的最显然的受益者是解释器编写者,他们不用为语法分析花时间了。
现在几种流行的脚本语言像Python,Ruby,都在证实Paul Graham的判断。事实上Graham接下去就写了:
A popular recipe for new programming languages in the past 20 years has been to take the C model of computing and add to it, piecemeal, parts taken from the Lisp model, like runtime typing and garbage collection.
今天在china-pub书评上看到关于云风的《游戏之旅----我的编程感悟》的评论。我个人是非常佩服云风的,至少技术上绝对应该是高手。这本书我在书店里翻了一下,感觉有些意思,可惜囊中羞涩,只站在那儿看了一下。
我这学期听一门选修课,老师有句话给我印象很深。他说,看书就是要学人家好的,中国的学生就是喜欢“用批判的眼光”,结果只学会挑刺,真正好的他没学到。他的原话比较偏激,如下:“有些学生动不动就说‘康德、海德格尔有什么什么不足……’,你也不想想,你配吗?”(这位老师是教美学的)。仔细一想,很有道理。如此对比一下上面china-pub上的书评,若是公平的讨论,指出问题是没错,可是有些人的口气,一副“我是高手我怕谁”的架势,评论则必冷嘲热讽。这是态度问题,我从中闻到了一种味道:嫉妒。
在这儿说太多也没意思。文人相轻是自古以来的传统。说严重点,中国就是缺少一种academic的氛围,多了一点骂街的氛围。说落后,你说怎么能不落后呢?
从上周末到现在,几乎都在为各门选修课的学分而战。昨晚操起C++ Builder,将我那数据库原理的课程设计修修补补,最后终于完工,一直弄到11点。C++ Builder的数据库功能真是强大,可以说几乎不用写一行代码就能做出一个像模像样的数据库程序来,代码主要都用在文件操作上。今天略微的放松一下。
在网上看到几个好东西,有时间的话很想看一下:
Python源码剖析 (网友原创,实在佩服)
How To Build A Yacc Series (用Ruby实现了一个Yacc,很适合作为学LR算法的参考)
看这个题目很振奋,可惜只是选修课。这星期是所有选修课的大结局,昨天下午把那3000字的巨文交了。原来写在白纸上,字极小,再加上改改涂涂,看之不爽,前天晚上10点钟狠下心来,拿作文纸重抄一边,进行书法上的改进,内容上也删了一些废话,不然工作量过大。
上午是计算机图形学的考试,题目还算简单,因为根本就没学多少,大部分是纸上谈兵。只有一个Bresenham算法,我是仔细看了的,觉得可能还有点用处,因为Xlib里居然没有画椭圆的函数,如果需要的话得自己实现。结果考试要求写正负法。最后只能以小说笔法解决了。
说到选修课,这学期的《美学与当代文化》我觉得收获不少,讲课的潘知常老师,就算我等外行,也看得出水平很高,而且见解相当独到,口才也很好。课名虽然叫美学,但听了一学期,几乎没有正儿八经地讲美学。他所提倡的信仰和宗教精神,我觉得意义重大。