[易 易 部 落]--分 享 技 术 和 思 想

英语“复数”之罪及其带给软件编程的麻烦

作者:Eureka

英文中名词会有一个“复数”的概念,英文为“Plural”,其复数为“plurals”(真是复数的复数呀!),例如”boy”的复数形式为“boys”,并且由于拼写等等原因很多单词的复数并不是简单的加一个“s”了事,这是每个学过英文的人都知道的事!给我们这些本来撑握方块字的人学习英文的人带来很多的麻烦,必须去记忆各种单词的复数形式,这也算是复数的罪孽了!而中文并没有所谓“复数”的概念,如果要表示复数这个意义,我们一般都加一个“们”字就行了,如“男孩”的复数意义为“男孩们”。然而,“男孩”这个单词本身就会指一类人,对于中文来说根本无需考虑这个单词的单复数意义。

基于本体的软件设计方法

作者:Eureka
这是我在浙江大学写软件工程硕士论文的核心内容,虽然答辨时那些砖家老师叫我要把这些内容要去掉,但我坚持把它写在里面,内容如下: 基于本体的软件设

“易则易知,简则易从”和《对象健身操》

作者:Eureka

对象健身操

我在《易经》简易之道与软件开发方法 说《易经》中已经讲到了软件开发简易之道,最近又看了一本薄薄的书《软件开发沉思录–Thought Works 文集》,里面有Jeff Bay写的的一篇短短的文章,文章名称《对象健身操》,论述了九步迈向优秀软件设计:

Design By Contract 及思想永存

作者:Eureka

如果您使用Visual Studio 2010并且使用.net framework 4.0,则在项目属性中可以看到Code Contracts这个选项,Code Contracts源自于Design By Contract,由于Desing By Contract已经被Eiffel注册,因此我想微软就换个名称叫Code Contracts,而其思想却来自于Deisgn By Contract,我今天终于找到了这本七年前由人民邮电出版社出版的《Desing By Contract 原则和实践》书。

Null引用,十亿美元损失,和软件设计的一点思考

作者:Eureka

图灵奖得主Tony Hoare,在这个Infoq办的大会上,在主题“Historically bad ideas”,它讲了一个主题“Null References: The Billion Dollar Mistake”,详细视频参见: http://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare   

他在讲演摘要中是这样写的:

    I call it my billion-dollar mistake. It was the invention of the null reference in 1965. At that time, I was designing the first comprehensive type system for references in an object oriented language (ALGOL W). My goal was to ensure that all use of references should be absolutely safe, with checking performed automatically by the compiler. But I couldn't resist the temptation to put in a null reference, simply because it was so easy to implement. This has led to innumerable errors, vulnerabilities, and system crashes, which have probably caused a billion dollars of pain and damage in the last forty years. In recent years, a number of program analysers like PREfix and PREfast in Microsoft have been used to check references, and give warnings if there is a risk they may be non-null. More recent programming languages like Spec# have introduced declarations for non-null references. This is the solution, which I rejected in 1965. 

《易经》简易之道与软件开发方法

作者:Eureka

摘自易经系辞:

乾以易知,坤以简能。
易则易知,简则易从。
易知则有亲,易从则有功。
有亲则可久,有功则可大。
可久则贤人之德,可大则贤人之业。
易简而天下之理得矣。
天下之理得,而成位乎其中矣。

细读了,深觉《易经》“乾”、“坤”简易之道实乃软件开发之王道,如果能按照上述规则来构建软件,则不至于将项目限入到《人月神话》所述的焦油坑之中了。 下面我用软件开发过程以解释简易之道:

乾以易知,坤以简能”,软件开发之道就是让设计和代码保持尽量的“简”,尽量的“易”,如果在面向对象设计中,“简”就是该重用就重用,绝不重复(DRY),方法要设计的短小,类要设计的简单。(详见Bob大叔的《代码整洁之道》**“易”就是设计要让人容易理解,代码要自说明,读代码就象读文章一样。任何让人不容易理解的设计方法都无益于软件的可持续发展。

我对人工智能的一点理解

作者:Eureka
这篇blog是我以前写的,由于以前的整个blog被河蟹了,但当时有些网友在我这帖子后留言,所以我重新发一下,希望又能找到一些同好者讨论。 主要

《易经》和.Net框架——描述人类的框架和描述类库的框架

作者:Eureka

框架之“要(Do)”、“考虑(Consider)”、“避免(Avoid)”、“不要(Do not)” 和 易学之“吉”、“凶”、“悔”、“吝”

框架编写规则

“兲”朝是哪个朝代?及一些古字和电脑输入方法。

作者:Eureka

“兲”(读tiān),是“天”字的古体,跟王八没什么关系,“兲”朝就是“天”朝,是古代中华文化圈国家对中国正统皇朝的官方称呼

说到古体字,在网络世界里还有很多得以重见天日,这些字有:

晒一晒我的Windows 体验指数和详细装机配置

作者:Eureka

组装电脑

这是去年年底自己DIY配置的电脑,价格除显示器约四千多点,虽然价格不高,但性能堪比当时上万元的台式机。玩玩“阿凡达”游戏把所有特效全部开最高以1920X1200玩没有一点问题。为了其他人配电脑可以参考我的配置,这里我将配置单晾一下,以便参考。当时在电脑市场没有买到固态硬盘。现在用的是1T的杀捷Sata硬盘。整个体验指数就是被硬盘分数拉下的,不然就上7.3以上了。

上一页 下一页