@shellex说: 对对,他们上辈子都是折翼的新奥尔良鸡翅

Pages

Topics

随便看看

路边社评论员

  • Keith:
    还能用不. »
  • deepblue:
    测试一下浏览器和系统 »
  • abettor:
    “就和CPU特权级别一样”——这的哥难道是Linus的表弟?! »
  • 董英男:
    为什么总提示确认是相册首页呢 到底哪个才是相册首页啊 »
  • kendisk:
    作为一个轻度Linuxer,刚分手后,感觉木有鸭梨。 »
  • MS IE:
    THIS SITE REALLY SUCK! »
  • Alex:
    gnome-women... »
  • liangsuilong:
    GNOME 自己也有鼓励女性参与项目的计划啊.. »
  • infinte:
    对不起,你的“解ban”版本算得有点问题,可以下(9)pp4 测试。ACID3可有95分啊……另外同... »
  • Alex:
    »
  • Randee Saadat:
    Glad you solved your problem, but what is your que... »
  • LinuxRock:
    没想到你也有一台和我一样的破机子......还好现在高三没怎么用,受不了它的发热量.. »

阿西莫夫机器人定律与软件设计

下面是在科幻历史上有名的阿西莫夫机器人三定律:

阿西莫夫机器人三大定律 Isaac Asimov’s “Three Laws of Robotics”

第一定律: A robot may not injure a human being or, through inaction, allow a human being to come to harm.
机器人不得伤害人类,或看到人类受到伤害而袖手旁观

第二定律:A robot must obey orders given it by human beings except where such orders would conflict with the First Law.
在不违反第一定律的前提下,机器人必须绝对服从人类给与的任何命令

第三定律:A robot must protect its own existence as long as such protection does not conflict with the First or Second Law.
在不违反第一定律和第二定律的前提下,机器人可以保护它自己。

在这个有名的三大定律之下,阿西莫夫编造了不少有趣的故事—当然了,还引发了不少有趣的悖论。但是我们可以很容易地将这三大定律Port到软件开发领域。一个设计优秀的软件,应当遵循阿西莫夫机器人三定律的软件版本( Isaac Asimov’s “Three Laws of Software”)。

第一定律: A software may not injure a human being or, through inaction, allow a human being to come to harm.

软件不得伤害人类,或者看到人类受到伤害而袖手旁观。

第二定律:A software must obey orders given it by human beings except where such orders would conflict with the First Law.

在不违背第一定律的前提下,软件必须绝对绝对服从人类给予的任何命令。

第三定律:A software must protect its own existence as long as such protection does not conflict with the First or Second Law.

在不违反第一定律和第二定律的前提下,软件可以保护它自己。

三条定律的优先级是从上往下递减的,第三定律体现的就是软件的鲁棒性,第二定律体现的是对软件的基本要求,而最重要的第一定律是什么?我想有两种解释:一是软件的可靠性,可靠的软件减少了对人类的伤害;二是软件的交互性,为人类开发的软件才是不伤害人类的软件。

但是事实往往令人很恼火,因为总是有那么多软件没有能遵守这三大定律中的某些,软件设计者们以为这些定律只是在科幻小说里面有效?

  1. On May 22, 2008 at 10:16 pm
    匿名: Mozilla Firefox 3.0b5 / Linux

    那么军事软件……

  2. On May 23, 2008 at 1:35 am
    shellex: Unknown browser

    @楼上
    我说的”不伤害人类”指的是用户在使用软件时不会有挫折感或者满足用户需求,嗯,不是肉体伤害。

  3. On July 24, 2008 at 11:50 pm
    被你称之为FQ的同学: Mozilla Firefox 2.0.0.14 / Ubuntu Linux

    这不是这不电影里的东西吗,我说错了吗?

  4. On July 25, 2008 at 7:55 am
    shellex: Mozilla Firefox 3.0.1 / Linux

    [quote comment="275"]这不是这不电影里的东西吗,我说错了吗?[/quote]
    小说里的。

Leave a Reply