代码历史上最昂贵的 7 个错误( 三 )


2012年8月1日上午 , 发生了对任何一位CEO都是噩梦的事情:花了17年的时间建造的东西几乎在几个小时内就崩溃了 。 一些新的交易软件有一个bug , 该bug在当天纽约证券交易所开盘时才被激活 。 这个错误的软件让Knight掀起了一场收购狂潮 , 很快 , 该公司就在交易的第一个小时内购买了约150家不同公司的股票 , 价值约70亿美元 。
Knight试图取消交易 , 但美国证券交易委员会(SEC)主席MarySchapiro拒绝了 。 除六支股票的交易被撤销 , Knight的其他购买狂潮并未达到取消门槛——使所购股票的价格上涨超过30% 。 在其他情况下 , 交易成立 。
这对Knight来说是个坏消息 , 一旦明确交易会成立 , Knight别无选择 , 只能抛售它购买的股票 。 就像早上的疯狂购买推高了这些股票的价格一样 , 大规模的市场抛售很可能会迫使价格下跌 , 可能会跌至Knight无法弥补损失的地步 。
高盛(GoldmanSachs)介入 , 以花费Knight4.4亿美元的价格收购了Knight不想要的全部头寸 。
千年虫:5000亿美元
代码历史上最昂贵的 7 个错误
文章图片
一位数能带来什么危害?早在1999年 , 它就耗资5000亿美元 。 Y2K错误 , 也称为千禧年错误 , 是一种计算机缺陷 。 由于其中的年份只使用两位十进制数来表示 , 因此当系统进行跨世纪的日期处理运算时(如1999年12月31日之后的日期) , 就会出现错误的结果 , 进而引发各种各样的系统功能紊乱甚至崩溃 。
在1960年代到1980年代编写复杂的计算机程序时 , 计算机工程师使用两位数的代码来表示年份 。 “19”被排除在外 。 日期不是1970年 , 而是70 。 计算机工程师缩短了日期 , 因为在那个时代 , 计算机中的数据存储成本高昂并且占用大量空间 。
随着2000年的临近 , 计算机程序员意识到计算机可能不会将00解释为2000 , 而是将其解释为1900 。 每天或每年编程的所有活动都会受到损坏或有缺陷 。 当1999年12月31日变成2000年1月1日时 , 计算机会将1999年12月31日解释为变成1900年1月1日 。
每天计算利率的银行和其他金融机构面临着实际问题 。 计算机将计算负100年的利率 , 而不是一天的利率 。 发电厂、交通运输和许多其他部门也将受到这一变化的影响 。
美国政府通过了《2000年信息和准备披露法》为此次活动做准备 , 并成立了一个由政府高级官员和联邦应急管理局(FEMA)等机构官员组成的总统委员会 , 监督私营公司为活动准备系统的工作 。 研究公司Gartner估计 , 避免千年虫的全球成本可能高达6000亿美元 。
吸取了上述七个教训 , 要记得务必在初始阶段测试软件 , 以避免损坏和修复的高成本 。 返回搜狐 , 查看更多
责任编辑: