你还知道哪些属于历史遗留问题的产品设计

女装的扣子在左边,男装的扣子在右边全世界90%以上的人(无论男女)都是右撇子,用右手从右边扣扣子要容易多了。那么,为什么女装扣子在左边?因为17世纪扣子最初问世的时候,只有有钱人的外套上才钉扣子。按当时的风俗,男士自己穿衣服,女士则由仆人帮着穿。女士衬衣上的扣子钉在左边,极大地方便了伺候女主人的仆人们(多为右撇子)。男士衬衫的扣子在右边,不仅因为大多数男人们是自己穿衣服,还因为用右手拔出挂在左腰上的剑,不容易被衬衫给兜住。如今还有仆人伺候穿衣的女士恐怕所剩无几,为什么女装扣子依然留在左边呢?规范一经确立,就很难改变。既然所有女装衬衫的扣子都在左边,要是有哪家成衣商提供扣子在右边的女士衬衣,那就很冒险。毕竟,女士们早就习惯了从左边扣扣子,一旦扣子换到右边,她们还得培养新习惯,改用新技巧。除却这一实际困难,部分女士恐怕还觉得,当众穿扣子在右边的衬衣叫人尴尬,因为看到的人会以为她穿的是男士衬衣。DVD和CD的尺寸一样大,但DVD包装盒却比CD包装盒要大得多 CD的包装盒是14.8厘米宽,12.5厘米高。DVD的包装盒却是10.45厘米宽,19.1厘米高。为什么光盘的尺寸一样,包装却如此不同呢?同样是历史问题:在数字CD出现之前,大多数音乐是以黑胶唱片的形式出售的。黑胶唱片的包装,是30.2厘米见方的纸盒子。摆放黑胶唱片的货架空间,刚好足够摆上两排CD盒子(包含当中的间隔)。CD盒子相当于从前黑胶唱片的一半宽,使得零售商无需承担更换存储架和展示柜台的切实成本。DVD包装背后也隐藏着同样的考虑。DVD出现以前,大多数租赁店放的是VHS格式的录像带,装在13.5厘米宽、19.1厘米高的纸盒子里。录像带一般是标签朝外并排展示的。在消费者逐渐改投DVD怀抱的过程中,DVD包装盒保持同样高度,方便租赁店在现有的货架上进行展示。此外,DVD盒子跟VHS录像带盒子一样高,消费者也会更乐于投入DVD门下,因为他们能把新买的DVD放在原来存放VHS录像带的架子上。以上信息来自《牛奶可乐经济学2》 弗兰克
■网友的回复
QWERTY键盘你说过了,再举几个计算机业界简单的例子。
Y2K问题又称2000年问题。由于历史原因,计算机通常使用两位数字表示年份,比如说1978年就表示成78. 这在2000年的时候会出错,计算机有可能会把2000年理解成19100年或者1900年,尤其是在银行、证券和人口管理这种关键数据库软件里,这种问题通常十分致命。为了应对这个危机,从企业到用户都投入了大量的精力研究和预防这个问题。最终Y2K问题没有引发太大规模的危机。
这个问题的始作俑者就是程序员的祖师娘,大名鼎鼎的Grace Hopper,搞出来的。她在1946年的Harvard Mark I计算机上使用六位数字表示年月日,进而又在Flow-Matic语言上继承了这个特性。最终,世界上第一种高级语言COBOL(值得注意的是COBOL的开发六人组没有Hopper,但是也有另一位祖师娘级别的人物,Jean Sammet)继承了Flow-Matic的这个特性,进而把问题传播到了全世界。
我猜她们并不是没有意识到这是一个潜在问题。那个年代的存储设备十分紧张,每一个byte都很宝贵。Hopper也好,Sammet也好,可能都没有意识到自己的这个设计会被保留四十年之久。
2. Excel的1900闰年问题。
微软并不准备修复这个问题,而是把它作为了一个feature. 这个问题来自于著名的Lotus 1-2-3,比初版的Excel更早四年。Excel为了抢夺市场,强行继承了Lotus 1-2-3的这个bug,并且出于兼容性的考虑,永久地保存了这个bug,直到现在。可以参看Microsoft的官方文档。
https://support.microsoft.com/en-us/help/214326/excel-incorrectly-assumes-that-the-year-1900-is-a-leap-year 3. 2038年问题
这也是一个贼著名的问题。1970年,Ken Thompson和Dennis Ritchie(啥也别说了,看见这两个人还不赶紧跪下)开发Unix(当然那时候还不叫Unix)的时候,提出用32位带符号的整数,记录从协调世界时1970年1月1日0时0分0秒开始经过的秒数。大神们掐指一算,跑满31位整数要到2038年,嗨,妥妥的,我们就不操这个心了,谁知道这个Unix能不能传这么久。
现在的情况是:*nix真的有很大可能用到2038年。
【你还知道哪些属于历史遗留问题的产品设计】 2038年问题最彻底的解决方案是改为64位表示时间。这样足可以使用到2900亿年之后(这已经超越了宇宙迄今的年龄;太阳在50亿年后会膨胀为红巨星,届时其轨道半径将有可能达到目前的日地距离)。
不怎么彻底的解决方案就是把时间戳理解为无符号整数,凭此可把这个问题推迟到2106年。但到那时世界戳又会从0x0U开始,这就是另一个新的问题了。
如果不解决,在2038年1月19日03:14:08,计时整数的符号位将变为1,从而导致一个负数时间戳。系统会自动从1970年1月1日倒推,变成1901年12月13日20:45:52。
目前计算机业界正在逐步推进修改这个问题,可以预计的是,绝大多数使用64位架构的硬件、操作系统以及应用程序将会免受这个问题的干扰,比如MySQL就已经在2017年发布了更新,解决了这个问题。估计影响最大的应该是嵌入式系统,它们仍大量使用32位结构,并且具有非常长的使用寿命;在某些极端场合,它们甚至不具备更新软件的能力,许多关键设备最终将不得不被提前更换以确保不发生任何意外。
■网友的回复
电视遥控器中的数字键


    推荐阅读