zoukankan      html  css  js  c++  java
  • 为什么操作系统会一代比一代慢?——Raymond Chen《Windows启示录》(The Old New Things)读书札记

    因为为了兼容旧版本的程序(backwards compatibility)。

    为什么要这样呢?因为Win API有一些设计失误的地方:没错,Win API也有设计失误的地方。

    比如,一个消息A会引起不相关的另一个消息B。在新版本的Windows中,这个问题被修复了,但是有的老程序用了错误用法,在需要捕获消息A的时候选择捕获消息B——这就出问题了,因为新版本修复了这个问题。(所以,不要用那些undocumentated tricks/APIs....)

    为了让这个老程序运行,就要弄一个补丁,在老程序运行的时候让这个消息正常。

    久而久之,就越堆越多了……

    除了Win API的设计失误,其实更多的是程序的不当使用。例如,明明要用API来完成的工作,却选择hack本地文件——而这个本地文件在之后的Windows里面被删除了,hack失败,程序失败。

    这种事情,Windows也要为它买单……晕倒

    这本书实在是非常有趣。推荐大家来读。

    话说回来,Windows的前后兼容性实在是太好了。Windows 3.1时代的程序能在将近三十年后的Windows 10上运行,试问哪个系统能做到?!

  • 相关阅读:
    在MyEclipse中设置Source folders和output folder
    在Myeclipse中设置源码和webroot目录
    将svn下载的工程转化为web工程
    位运算
    maxSequence
    krusual C++
    Dijkstra And Floyd C++
    Graph And Trave
    Set
    Tree
  • 原文地址:https://www.cnblogs.com/ageane/p/windows.html
Copyright © 2011-2022 走看看