韩磊@当下

入门不简单(《Beginning C# Objects中文版》书评)

由于工作性质的关系,我常常需要为公司面试程序员。通常,我会首先要求应聘者做两件事:第一,口头说明虚方法、抽象方法、接口之间的异同和使用场景;第二,脱离IDE,手写一个简单的WinForm程序(例如包括布局整齐的两个文本框和三个按钮、点击按钮弹出消息框显示文本框内容),然后在命令行编译运行。第一题是考面向对象中的继承和多态概念,第二题则是考C# GUI类和关于委托等C#独有特性的基础知识,以及编译、调试技巧。很遗憾,有一大半的应聘者会在这两个简单考题面前败下阵来。尤其是第二个考题,甚至难倒了一些写代码有年头的程序员。为什么?因为这些程序员不具备基本的面向对象知识,更加不理解C#的面向对象实现手法。

这不能完全归咎于中国计算机教育。实际上,在美国或其他发达国家,真正懂得面向对象开发的程序员也并非随处可见。这也是Beginning C# Objects(及其Java原版本Beginning Java Objects)一书成为畅销书、并在Amazon上获得读者极高评价的原因。作者写道:“我们常常与一些软件开发者会面——在工作场所、在客户办公室、在专业会议上,或在大学校园里——这些开发者都尝试去掌握一门类似C#的OO编程语言,他们参加C#培训、阅读关于C#的书,或是安装和使用像Visual Studio .NET这样的C#集成开发环境(IDE)。然而,这是舍本逐末的做法:他们缺乏对什么是对象的基础认识,更为严重的是,缺乏利用对象从头开始构建软件应用程序的知识。”

翻开市面上任何一本你能找到的C#入门书,看看第一章讲什么,第一个范例是怎么实现的。闭上眼睛你都能告诉我,第一章多半是讲怎么安装VS.NET,第一个例子多半是拖一个按钮控件到窗体,双击后输入一段调用消息框的代码。我们的技术作者们,就是这样把读者引入歧途的。IDE(集成开发环境)能极大地提升生产力,但开发应用程序所需的高度专业的知识和技能,却非IDE所能代替。的确,任何一个菜鸟也许都能利用可视化组件拼凑出“看起来还不错”的应用程序,但这样的程序却将带来高昂的扩展和维护成本。

阅读全文 »

噩耗

我在《师友杂忆(一)》一文提到的马彪先生,在今晨,被人发现,吊死在小凤凰山顶的一棵松树上。死亡时间,据说是昨日中午。自杀还是他杀,目前尚不敢断言。如果是他杀,先生死得冤枉;如果是自杀,作为一个穆斯林,先生要被逼到何种程度才会选择这条路?无论如何,一个人就此消失了;我和我的同学们永远失去了老师,他的同事们永远失去了同事,他念高中一年级的女儿永远失去了父亲。

老同学让我写一篇悼念文章,我不知道从何下笔。我从心底里把马彪先生当作最可敬佩的师长,同时也不谦虚地把自己当作是他最好的学生;仔细想一下,其实自己完全不了解他。我们像是两只小心翼翼互相取暖的刺猬,保持着不足以刺痛对方的礼貌的距离。现在,这距离变成了生与死的距离。

马彪先生,此生缘尽,您走好。死者已矣,生者保重;我们这些侥幸能看到今天太阳的,一定要好好活着,看到明天的、更灿烂的阳光。

阅读全文 »

旧影

孩子站稳
抓紧父亲
车经过时
他会离开
剩你一人
斑马线旁
孤独等车

阅读全文 »

观影语录

《小喇嘛看世界杯》,结尾时主持的开示:

能用皮毛铺地,免得走路时脚底受伤吗?不能。那怎么办?穿上皮鞋走。在地上铺皮毛,和穿皮鞋效果没有区别。同样,敌人充满空间,永远无法全部打败。只有战胜自己心里的仇恨,才是解决敌对的正确方法,让你免于受伤。

阅读全文 »

承认多元化,保持宽容

1976年2月3日,比尔·盖茨给电脑爱好者们写了一封公开信,抱怨未经授权使用BASIC的情形,已经到了无可忍受的地步。这封公开信被看作是导致商业软件真正成为一个行业的始推力。在从1976年到2006年的三十年间,微软和另外一些公司受益于软件商业化、成功做大;也有一些持不同意见的人,不断推动自由软件/开源软件的发展。到今天,自由/开源软件与商业软件已现鼎立之势,而两方的拥趸之间的争论、指责甚至谩骂,也从来没有停止过。

争论并非坏事,指责就有些涉嫌用自己的价值观或道德观去判断他人,至于谩骂这种等而下之的行为,不说也罢。价值观和道德观,在不同文化里面,甚至在不同人观念里面,都有差异;所谓社会道德,或社会公认的价值观,或形而上的法律,不过是大家经过一番争斗、求同存异的产物。能够存异,前提是要求同;设若大家都不肯求同,最终只好用最不道德的方式解决问题:也就是用暴力压服对方。

商业软件,无论是开发模式或是经营模式,经过三十年的雕琢,已臻于成熟(或者说僵化,如果你喜欢);自由/开源软件能有今天的成就,也自有其存在和发展的价值在。有一点必须承认,无论是商业软件还是自由/开源软件,都给计算世界带来了自己的贡献。一棒子打下去,打死谁都是冤枉的。

阅读全文 »

电梯动物

电梯里,一对牵狗的夫妇和一个单身男子。

大家沉默到第5层时,单身男子问:您这什么狗啊?

遛狗归来的夫妇二人,似乎不适应被问,齐声答曰:啊……然后反问:你是问狗的性别还是种类?

阅读全文 »

别后

由羊坊店东路
仓皇逃离
正宗河南烩面
高音喇叭唱豫剧
余音未绝时
西客站大钟敲六下

遵嘱裹好自己
遵嘱保重
北京正三月
南风比北风还冷

再绕一个街角
地铁站如约守候
遵嘱保重
早些回家

阅读全文 »

枕读札记

史家须有知、识、见三能。能知者,知其然;能识者,识其所以然;能见者,见其得失。钱穆先生三者皆备,兼具辩才。近读《中国历代政治得失》,兹录“前言”如下:

此次呈贵会邀约讲演,讲题大体规定是讲中国历代的政治得失。但中国传统政治,历代间,也极多变迁,若笼统讲,恐不着边际。若历代分别讲,又为时间所限。兹仅举要分为五次:一讲汉代,二讲唐代,以后继续讲宋、明、清。一次讲一个朝代,这是中国历史上最重要的五个朝代。只讲此五个朝代,大体上便可代表中国历史之全进程。本来政治应该分为两方面来讲:一是讲人事,一是讲制度。人事比较变动,制度由人创立亦由人改订,亦属人事而比较稳定,也可以规定人事;限制人事。这一番讲演,则只想多讲制度,少讲人事。但要讲制度甚不易。在史学里,制度本属一项专门学问。首先,要讲一代的制度,必先精熟一代的人事。若离开人事单来看制度,则制度只是一条条的条文,似乎干燥乏味,无可讲。而且亦是明日黄花,也不必讲。第二,任何一项制度,决不是孤立存在的。各项制度间,必然是互相配合,形成一整套。否则那些制度各各分裂,决不会存在,也不能推行。第三,制度虽像勒定为成文,其实还是跟着人事随时有变动。某一制度之创立,决不是凭空忽然地创立,它必有渊源,早在此项制度创立之先,已有此项制度之前身,渐渐地在创立。某一制度之消失,也决不是无端忽然地消失了,它必有流变,早在此项制度消失之前,已有此项制度的后影,渐渐地在变质。如此讲制度,才能把握得各项制度之真相,否则仍只是一条条的具文,决不是能在历史上有真实影响的制度。第四,某一项制度之逐渐创始而臻于成熟,在当时必有种种人事需要,逐渐在酝酿,有必有种种用意,来创设此制度。这些,在当时也未必尽为人所知,一到后世,则更少人知道。但任何一制度之创立,必然有其外在的需要,必然有其内在的用意,则是断无可疑的。纵然事过境迁,后代人都不了解了,即其在当时也不能尽人了解得,但到底这不是一秘密。在当时,乃至在不远的后代,仍然有人知道得该项制度之外在需要与内在用意,有记载在历史上,这是我们讨论该项制度所必须注意的材料。否则时代已变,制度已不存在,单凭异代人主观的意见和悬空的推论,决不能恰切符合该项制度在当时实际的需要和真确的用意。第五,任何一制度,决不会绝对有利而无弊,也不会绝对有弊而无利。所谓得失,即根据其实际利避而判定。而所谓利弊,则指其在当时所发生的实际影响而觉出。因此要讲某一代的制度得失,必需知道在此制度实施时期之有关各方意见之反映。这些意见,才是评判该项制度之利弊得失的真凭据与真意见。此种意见,我将称之曰历史意见。历史意见,指的是在那制度实施时代的人们所切身感受而发出的意见。这些意见,比较真实而客观。待时代隔得久了,该项制度早已消失不存在,而后代人单凭后代人自己所处的环境和需要来批评历史上已往的各项制度,那只能说是一种时代意见。时代意见并非是全不合真理,但我们不该单凭时代意见来抹杀已往的历史意见。即使我们此刻所处的时代,已是需要民主政治的时代,我们不能再要有一个皇帝,这是不必再说的。但我们也不该单凭我们当前的时代意见来一笔抹杀历史,认为从有历史以来,便不该有一个皇帝,皇帝总是要不得,一切历史上的政治制度,只要有了一个皇帝,便是坏政治。这正如一个壮年人,不要睡摇篮,便认为睡摇篮是要不得的事。但在婴孩期,让他睡摇篮,未必要不得。我上述的历史意见,单就中国历史论,如今所传历代名臣奏议之类,便是一项极该重视的材料。那些人,在历史上,在他当时,所以得称为名臣,而他们那些奏议,所以得流传下,仍为此后较长时期所保留,所诵览,正因为他们的话,在当时,便认为是可以代表他们当时的时代意见的。只有在当时成为时代意见的,所以到后来,才能成为历史意见。我们此刻重视这些历史意见,其意正如我们之重视我们自己的时代意见般。这两者间,该有精义相通,并不即是一种矛盾与冲突。第六,我们讨论一项制度,固然应该重视其时代性,同时又该重视其地域性。推扩而言,我们该重视其国别性。在这一国家,这一地区,该项制度获得成立而推行有利,但在另一国家与另一地区,则未必尽然。正因制度是一种随时地而适应的,不能推之四海而皆准,正如其不能行之百世而无弊。我们讲论中国历史上的历代制度,正该重视中国历史之特殊性。若我们忽视了这一点,像我们当前学术界风尚,认为外国的一切都是好,中国的一切都要不得,那只是意气,还说不上意见,又哪能真切认识到自己以往历代制度之真实意义与真实效用呢?第七,说到历史的特殊性,则必牵连深入到全部文化史。政治只是全部文化中一项目,我们若不深切认识到某一国家某一民族全部历史之文化意义,我们很难孤立抽出其政治一项目来讨论其意义与效用。

我们单就上举七端,便见要讲历史上的政治制度,其事甚不易。我们再退一步,但就制度言,也该先定一范围。我此刻首先想讲政府的组织:换句话说,是讲政府职权的分配。即就汉唐宋明清五个朝代来看中国历史上政府职权分配之演变,我们便可借此认识中国传统政治之大趋势,及其内在之根本意向。第二范围想讲考试和选举。照理应该先讲此一项,让我们先知道中国历来政治上规定着哪种人才可参加政府,由是再讲这个政府之怎样组织,及其职权之怎样分配,就更容易明了其内在之意义。因为一国的政权,究竟该交付与哪些人,这是第一义。至于政府内部各项职权之究应如何分配,这已属第二义,中国历史上考试与选举两项制度,其用意是在政府和社会间打通一条路,好让社会在某种条件某种方式下来掌握政治,预闻政治,和运用政治,这才是中国政治制度最根本问题之所在。至于政府内部职权之怎样分配,这是政府的组织法,却并非产生政府的根本大法。因此照理言,第二范围更重于第一范围。但我下面所讲,因求简捷易明,故而将此两个项目之先后倒转了。第三个范围则讲政府的赋税制度,这是政府关于财政经济如何处理的制度。这一范围也可看得它很重要。中国以前专讲制度沿革的第一部书,唐代杜佑的《通典》,最先一门是食货,即是上述的第三范围。次讲选举,即上述第二范围。再讲职官,便是上述第一范围。现在为方便讲述起见,先职官,次考试,再次食货。而第三范围又只讲关于田赋的一项。第四范围我想讲国防与兵役制度。养育此政府的是经济,保卫此政府的是武力。这一范围也极重要。其他如学校制度教育制度等,本也很重要,但我想单从此四个范围,来指陈历代政治制度的沿革,纯从历史事实上来比较它的好坏,根据当时人的意见来说明它的得失。在此四范围以外的,则暂不涉及了。

阅读全文 »

寂寞行走的背影

1、心情平静地看完了《千里走单骑》。

2、寂寞,热闹是面具,热闹后面有无尽的寂寞。

3、老人追赶小孩,小孩追赶老人;我看到父辈和我自己互相追赶。

阅读全文 »

自勉

痛思己过,立戒宜之矩以规之,录数条如下。

1、戒妄言,宜慎思
2、戒虚华,宜简朴
3、戒浮夸,宜立行
4、戒骄慢,宜谦和
5、戒杂念,宜守恒

以上自勉,时在乙酉岁末。

阅读全文 »