工程师的科幻读后感

 

小说虽然是虚构的,但一定要编得像真的一样才行。...



《红楼梦》“史太君破陈腐旧套”一回里,贾母对于女先儿说的才子佳人故事很不以为然,说那些故事 “编的连影儿也没有”。的确如此,小说虽是虚构,但也要符合常理。“尚书家的小姐只一个贴身丫鬟”之类的情节,哄一哄老百姓罢了,怎么能瞒得住真正钟鸣鼎食人家教养出来的贾老太太呢。
身为一名电脑工程师兼科幻小说爱好者,我在读科幻小说时常和贾老太太有心心相通之感。科幻小说固然是虚构中的虚构,不用太斤斤计较,但显而易见的技术错误依旧是个败笔。我想说的技术错误并不是指这些技术在现实中能不能实现,而是指对于技术问题的处理方式完全不符合逻辑。
《我,机器人》是我少年时的挚爱(是原著,不是后来的电影。那部电影完全是渣)。这本出版于50年代的小说围绕着机器人心理学家Susan讲述了几个人类与越来越先进的机器人之间斗智斗勇的故事,算是对于机器人伦理学的早期思考,是科幻小说中的经典。
然而近来重读这部小说,却发现了一些问题。在《Catch That Rabbit》中,两个机器人测试工程师发现一款新型机器人在面临危机状况时会行动异常。为了找出引起异常的原因,他们不得不连轴转地盯着监视屏幕,肉眼观察机器人的行动。看到这里我心里那个急呀。难道设计机器人的时候都不设计log么?那个机器人异常其实就是因为过载,需要处理的事情太多脑子不够用了。这是IT系统运维中的常见问题,检查系统资源消耗log是第一件要做的事。不知道是设计机器人时没有设计log,还是工程师们忘了检查,这样一个简单的问题居然闹得两个工程师差点丧了命。
另一个故事《Little Lost Robot》讲的是一个特殊版本的机器人消失在了一群外形完全一样的机器人之中。可笑的是,除了外形,机器人公司没有别的任何方法识别一个特定机器人。就好像一锅饺子里有一个包了辣椒,谁吃到就要完全看运气了。然而电脑系统是不能这样凭运气的。同一款系统有不同版本的时候,一定要有版本编号,有注释,有各个版本的备份,以备不时之需。汽车的发动机还有编号呢,更何况是一款极其特殊的机器人呢。我深深怀疑作者写这个故事是不是要告诫后世的工程师们版本管理的重要性。
其实除了科幻小说,其他影视作品的情节中不符合技术常识的地方也很多。某个美剧中,为了阻挡电脑病毒的蔓延,神勇探长居然枪击服务器的显示屏。病毒程序不知道是运转在世界上那个角落的服务器里呢,要是打显示屏管用的话,就不用那么多系统安全工程师了。
还是贾老太太说的对,小说情节虽然是虚构的,但一定要符合常理。


    关注 不识字斋


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册