二、追求定论
这篇文章的标题就叫定论,那么什么是定论呢?就是不再有异议的结论。就是每个人都能同意的结论。A方法比B方法好,好在哪里?好多少?为什么好?我们追求定论,就是追求一种有效的比较和评价标准。
软件开发有那么多方法,有那么多过程,那么多“最佳实践”,但是却从来没有定论,为什么没有定论呢?因为软件开发的“方法学”还处于蒙昧的“隐喻时代”,各家各派,都从自己的隐喻出发来看问题,所谓“鸡同鸭讲”,指的就是这种情况。
但是追求定论的努力,并不是从我才开始的。在此之前也有人追求过,这样的努力,统称为——“软件度量”,这当然是典型的西方观点:能够量化,就能够比较;能够比较,就能够改进。这 ...
- 22:33
- 浏览 (354)
- 评论 (0)
网易可能是中国最早的公众BBS了,现在的网易社区,我已经不再去了,但是在从1999年到2005年的六年时间里,那里几乎是我每天必去的地方。在网易能够找到的我的第一篇帖子,发于“1999年1月7日”,最后一贴发于“2005年2月25日”。正好六年的时间。在这六年里,我去网易,基本上只去一个地方,就是宗教信仰版,从来不在别的版上看帖回帖,更不要说灌水。在六年的时间里,网易的虚拟社区从最早的Telnet,到第一版Web,到分为广州、北京、上海三个社区,再到第二次改版,在到三板合一,我也算是全程经历了,最大的感触是,网易是自败家业,自作孽,不可活啊。
整理些老帖子,放在这里吧。我在网易的I ...
- 21:49
- 浏览 (363)
- 评论 (0)
我的妈妈是一个小学教师,她的大部分教师生涯都是在做大队辅导员,然后是做校长,在工作30多年以后,现在已经退休了。在多年以后的今天,还有不少当年她做班主任时的学生,会在教师节给她打电话,会在过年的时候同学们一起到我们家来拜年。他们这一群小学同学,20多年的感情,到现在依然常常聚会。
大家都有这个经验,我们跟自己的大学同学最熟悉,其次是中学同学,再其次是小学同学。而我妈妈的那些学生,却正好相反。他们关系最好的朋友,都是小学同学。这真是很奇怪的事情。
要解释这个现象,只有一个原因,就是他们的小学生涯,给他们留下了最为深刻的印象,带给他们最愉快的记忆。我想,这只能有一个原因,他们有 ...
- 21:22
- 浏览 (378)
- 评论 (0)
一本厚厚的305页的书,我实在是不可能都抄在这里的。只能拣最紧要的抄出来。而这个紧要的判断,也是以我在读书的过程中的理解为准,最困难的部分,自己总是想不清楚的部分,我就认为是最紧要的了。今天打算抄的是LL与LR的概念。在我看到的很多关于编译原理的书中,都会反复出现LL(1),LR(1)这样的东西,这究竟是什么概念呢?
我们这次从第72页开始抄起:
4.1 语法分析综述
4.1.1 语法分析程序的功能 语法分析(Syntax Analysis)是编译程序的核心部分。编译程序在完成了词法分析之后,就进入语法分析阶段。语法分析的任务是,按照语言既定的语法规则,对字符串形式 ...
- 23:22
- 浏览 (556)
- 评论 (0)
我老婆的blog写的很不错,看过的人,都说她的文笔非常好。但是她的blog,平时里的访问量,也就是两位数。偶尔有一两次,在我的blog里,提到她的blog,加上link,那么她那一天的blog的访问量,就会达到三位数。
我的blog以前是放在blogcn的,在搬家到MSN Spaces之前,每天的访问量也是少得可怜,在搬家之后,每天的访问量达到了三位数。而在CSDN将我每天的BLOG加入他们专家Blogs之后,我的BLOG每天的访问量都会超过四位数。
CSDN已经是一个不小的网站了,他的Alex排名,也不过是第620位。而且还是在World/Chinese Simplifi ...
- 23:27
- 浏览 (423)
- 评论 (0)
今天早上我去听了Ivar Jacobson博士在交大的演讲,总体的评价是:“没什么意思,但是很划算。”
先说说为什么没意思,不是说博士的演讲水平不够,他的演讲是非常出色的,对于对手的攻击,也实在是非常的有效。Jacobson博士尖锐的指出了UP与敏捷方法的最重要的区别,一个是建立在明确的知识的基础上的,而另一个则是建立在“心照不宣”的知识的基础上的。而通过他的严密的逻辑分析,建立在这种模模糊糊的知识基础上的软件开发,是不可能取得成功的。
接下来,Jacobson博士很谦虚的提出了“明确的知识”的一个弱点,就是知识太多了。然后我第一次了解到,UP的手册,已经有6000多页了 ...
- 21:51
- 浏览 (403)
- 评论 (0)
最近出了一件大案子,是咱们程序员同行干的。超市收银员上演“无间道”。正好我的一个朋友,是在这家超市工作,才透露了一些内情给我知道。
按照公开的说法:“乐购超市几家门店货物缺损率大大超过了业内千分之五的物损比例,缺损的货物五花八门,油盐酱醋等日常用品的销售额与实际收到的货款差别很大。”;“经过深入调查,侦查人员发现超市原有的收银系统被装入了一个攻击性的补丁程序,只要收银员输入口令、密码,这个程序会自动运行,删除该营业员当日20%左右的销售记录后再将数据传送至会计部门,造成会计部门只按实际营业额的80%向收银员收取营业额。另20%营业额即可被侵吞。”
按照我朋友的说法,超市的货 ...
- 21:27
- 浏览 (414)
- 评论 (0)
BJUG,北京Java用户组,全球Java User Group Top 50之一。我虽然人在上海,也有幸加入了BJUG的邮件列表,常常会参与一些有价值的技术讨论。但是,在2005-8-25 下午3:34我收到了这样的一封邮件:
Xiaogang Cao 致 javaparty
诸位,你们看超级女声吗?你们知道那个唱得最好的张靓颖吗?投票了吗.....没投的话,记得发AX到8088,然后等到短信回来后,回101,每个人可以投15张票...我们的口号是:爱JAVA,爱靓颖~~~
惊啊!没想到啊,晓钢也是“凉粉”啊!其实呢,我也是个“凉粉”,那天我也用自己的手机投了靓颖15票,但是 ...
- 22:00
- 浏览 (435)
- 评论 (0)
这是我在网上看到的一个关于“火星帖”的极有趣的描述,唯一的问题是:“我不知道,究竟什么是火星帖?”有谁能告诉我一下吗?
─┼───┼─────┼────┼──────┼─→ ↑ 盘 商 唐 今 楼 古 朝 朝 天 主 开 ↑ 天 大 辟 伙 地 在 时 ...
- 22:33
- 浏览 (361)
- 评论 (0)
4)工匠、工艺隐喻
说到工程隐喻,现在大家自然会想到最近出来的《软件工艺》这本书。如果工程的隐喻有问题,那么工艺怎么样?如果工程师的隐喻有问题,那么工匠怎么样?按照软件工艺的说法:“如果项目中的成员不具备执行项目过程所必备的技能,那么纵有世界上最好的过程,也无法挽救项目失败的命运;与此相反,真正优秀的开发者,能够让任何过程,发挥最大的作用。”真的就这么简单吗?
工匠与工艺的隐喻,与工程相对,但是这样的对立,并非如《软件工艺》所理解的那样,是由于不同的复杂程度而做出的不同的选择。如果2000个人年的项目,我们应该采用工程的隐喻,5个人年的项目,我们应该采用工艺的隐喻,那么50个人年呢 ...
- 22:17
- 浏览 (417)
- 评论 (0)
透明的一篇长文:《论坛七宗罪之一》《之二》《之三》看得我很有些感触,然后就没有下文了。因此我也打算回顾一下自己的BBS生涯,算是为他的大作,再做一个注脚吧。
这个标题要说明一下,不是1,而是0,也就是前传的意思。在我还没有上BBS之前的故事。
1998年的时候,我还在启明软件公司,那时候公司的上网条件在当时可以说是非常好的了,24小时的ISDN专线,速度虽然非常慢,但是还是可以接受,毕竟网上花里胡梢的东西也很少。那时候的BBS还是通过Telnet访问的,人气最旺的公众BBS,自然是网易的BBS,域名是:telnet://bbs.nease.net
在上网易BBS之 ...
- 23:57
- 浏览 (431)
- 评论 (0)
分析各种现有的隐喻:
1)工程隐喻
在各种隐喻中,建筑工程与软件开发的关系最为密切,这个隐喻与软件开发的相似之处最多,因此影响也最为深远。这个隐喻有四个要点:分解、分配、设计和阶段化。
分解是一种极为深刻的思想,将整个过程分为几个阶段,将整个任务分解为几个子任务,将系统分解为多个层次,多个模块,将需求划分为多个类型等等。这样的思路,是解决复杂问题的唯一正确的方法,一团乱麻的需求、任务、项目、设计,根本不可能成功。但是分解也意味着它最好第一次就划分正确,当任务被层层分解,变成了很多很多的子任务、模块、子模块、类的时候。你发现有一个子任务的分解有问题,修改的困难可能极为惊人,而 ...
- 22:46
- 浏览 (435)
- 评论 (0)
这一期的《中国国家地理》,一共有550页,依然只要16元,实在是太超值了,里面的照片美得惊人,让人想哭,转贴过来,给大家欣赏一下:
第一张封面:
赛里木湖春天显示给人的是静谧之美,仿佛深藏的闺秀,又如天上的瑶池。赛里木湖是“山脊梁上的湖”的意思,确实它就是隐藏在天山西段高山盆地中的山间大湖。坦荡、明丽、纯净。摄影/居建新
第二张封面:
天空之神一样屹立着的就是世界第一高峰——喜马拉雅山的主峰珠穆郎玛峰。金字塔状的山体,威严、神圣,昂首天外,仿佛君临天下。它的美是高不可及的圣洁。摄影/杨桦
第三张封面:
清寒俊秀,如银色月光一样的是梅里雪山的美女峰缅茨姆 ...
- 20:55
- 浏览 (438)
- 评论 (0)
这是以前写的一篇文章,当时就没有写完,一直保留在我自己的机器上,现在打算贴出来见人,也好激励我把它写完。
一、消除隐喻
1、隐喻
软件开发这件事情,出现得很晚。距今只有几十年的时间,关于它的定义,我们可以简单地说:“就是把软件做出来。” 这基本上等于什么都没有说。而软件开发究竟是怎么回事,大家也没有搞明白,于是隐喻就派上用场了。当你要向一个完全没有概念的朋友,解释什么是软件开发的时候,你无法向解释建筑工程那样把他带到现场去看——案件开发的现场,你的朋友会以为软件开发就是一群人坐在电脑前面打键盘——你只能打比方:它就像是造一幢楼,有基础,有结构,有可以使用的房间,在这之前必 ...
- 22:06
- 浏览 (519)
- 评论 (0)
关于给定文法G,如何产生语言L(G),将进一步给出其形式化定义。为此,首先给出一些基本术语的定义。 · 定义2.11(直接推导“→”) 有V=αA β=αγ β=W (α,β,γ∈(VN∪VT)*),当且仅当P中存在一条规则A→Y,称V直接推导出w(或W直接归约到V),记作:V→w。 · 定义2.12(直接推导序列) 如果存在V=a0→a1,a1→a2,...,an-1→an=W或a1→a2→a3→...→an-1→an,则V经过n步(n>0)可以推导出W,记作:v→+w。当v→+W或v=w,记作:v→*w。 · 定义2.13(最左(右)推导) 在推导过程中,总是对 ...
- 21:42
- 浏览 (555)
- 评论 (0)
1、我们的软件——RECool网络录像机在10月5日开始出现在华军软件园,供大家下载,因此注册用户数大大增加,而另一方面,因为机器的数量,配置不够以及一些小bug,导致有些节目没有能够正常的录制下来,特向各位用户致歉!
2、国庆七天,天气实在是差,2、3、4、5都下雨,简直没办法出去玩,只能在家里呆着,借了一部车,总算是勉强开了几次,原本打算带儿子去动物园的,也没去成。
3、12年没有联系的高中老师到上海来了,总算是请他们家吃了一顿饭,以弥补多年没有联系老师的罪过。
4、新手上路,果然很是紧张刺激,还好基本上是有惊无险,平平安安的把车还给人家了。
5、看了一本书《失禁校园》,初 ...
- 23:02
- 浏览 (501)
- 评论 (0)
- 浏览: 692992 次
- 性别:

- 来自: 上海

- 详细资料
搜索本博客
我的相册
匪夷所思
共 19 张
共 19 张
最近加入圈子
最新评论
-
敲响OO时代的丧钟——设计 ...
你应该写成英文的与GoF讨论,各说各有理。
-- by bpm -
《Dreaming in Code》似乎 ...
哈哈,技术书看得极少,也没啥好介绍的。其实,单纯讲技术的书,好坏都无所谓的,只要 ...
-- by 庄表伟 -
《Dreaming in Code》似乎 ...
老庄看的书多,要多介绍介绍,别影响了积极性!
-- by haizhong -
《Dreaming in Code》似乎 ...
老庄都差点成书托了哦!!!新人都不敢发关于书的帖子了,呵呵
-- by haizhong -
《Dreaming in Code》似乎 ...
这个是g9写的, 他的文笔很幽默,技术也很好.
-- by 白发红颜






评论排行榜