1 
                    
                    yangzhezjgs      2019-06-20 17:20:23 +08:00 
                    
                    个人理解就是出现了旧软件无法解决的新问题,就造一个新的轮子。 
                裸机无法解决多道并发问题和易用性问题————操作系统。 操作系统的文件系统无法解决数据持久化问题 ————关系数据库。 关系数据库不够灵活—————— nosql。 c 语言不支持面向对象—————— c++。 c++太复杂了—————— java。 要隔离应用但是又不想用虚拟机———— docker。  | 
            
     2 
                    
                    saluton      2019-06-20 17:21:08 +08:00 
                    
                    请证明 P = NP 
                 | 
            
     3 
                    
                    Raisu      2019-06-20 17:37:45 +08:00 
                    
                    谁说的? 
                 | 
            
     4 
                    
                    undeflife      2019-06-20 17:42:07 +08:00    每个 css 样式问题都可以通过套一个 div 来解决 🐶 
                 | 
            
     5 
                    
                    huangzhe8263      2019-06-20 17:43:09 +08:00 
                    
                    成功的在毕设答辩时用上了,效果不错 
                其实可以参见计算机网络的七层,五层  | 
            
     6 
                    
                    u823tg      2019-06-20 17:44:59 +08:00 
                    
                    分层思想在计算机里面很常见。 
                 | 
            
     7 
                    
                    jydeng      2019-06-20 17:47:58 +08:00 
                    
                    “这个 api 太难用了,我们再封装一层把。” 
                “嗯,好用多了。”  | 
            
     8 
                    
                    Vinty      2019-06-20 17:55:03 +08:00 
                    
                    计算机科学和软件工程并不是一回事,计算机科学的主要领域 密码学、信息论、数据结构、算法这些好像没一个能通过中间层解决的 
                 | 
            
     9 
                    
                    kcirtap      2019-06-20 18:06:57 +08:00 via iPhone 
                    
                    把科学换成工程,还能讨论 
                 | 
            
     10 
                    
                    ai277014717      2019-06-20 18:10:49 +08:00 
                    
                    没有什么问题不是封一层解决不了的,如果有那就再封一层 
                 | 
            
     11 
                    
                    TomatoYuyuko      2019-06-20 18:10:53 +08:00 
                    
                    @undeflife #4 如果解决不了就套 2 层 
                 | 
            
     12 
                    
                    zaima   OP @Raisu 此句话是我在看《游戏引擎架构》这本书中所看到,书作者说是滑铁卢大学教授 Jay Black 的一句名言,译者 miloyip 在备注中指明此句应沿自 David John Wheeler。英文原句是“ All problems in computer science can be solved by another level of indirection.”。 
                 | 
            
     13 
                    
                    mcfog      2019-06-20 18:23:25 +08:00 
                    
                    ---- 除了间接层数量过多的问题之外 
                 | 
            
     14 
                    
                    pi1ot      2019-06-20 18:35:35 +08:00 
                    
                    指针,接口,索引,缓存,队列,助理,秘书 
                 | 
            
     15 
                    
                    libook      2019-06-20 18:48:29 +08:00 
                    
                    所有计算机问题都可以用两个思想来解决:分层和解耦。 
                分层可以将整体复杂度分解到每个层中,使得每个层的复杂度相比以前的整体复杂度要低。 解耦可以将问题和风险封锁在一个模块内,提升解决问题的效率,降低风险的影响范围。 不过也要辩证去看,因为很多问题的解决方案都只是权衡之计,解决了一方面问题又出现了另一方面问题,最合理的方式是从实际出发,平衡各方面,选取最适合当前情况的方案。  | 
            
     16 
                    
                    liuzhiyong      2019-06-20 18:55:03 +08:00 via Android 
                    
                    我来说个最通俗易懂的:就是“圆环套圆环娱乐城”。一层套一层,大事化小,小事化了,就这么简单。 
                 | 
            
     17 
                    
                    Aruforce      2019-06-20 19:53:29 +08:00 via Android 
                    
                    不断向高层抽象吧…… 
                 | 
            
     18 
                    
                    russian      2019-06-20 20:01:57 +08:00 
                    
                    编译器就是你的 c++/java/python 和机器之间的中间层,没问题 
                 | 
            
     19 
                    
                    SuperMild      2019-06-20 20:05:04 +08:00 
                    
                    这是一句正确的废话,相当于说一切问题都可以通过另一家外包公司来解决。 
                一层套一层,到了最后,总要有一个 间接层 /公司 /人 来兜底啊,底层的东西总得有人做。  | 
            
     20 
                    
                    gavindexu      2019-06-20 20:19:25 +08:00 via iPhone 
                    
                    一个 SQL 写不出来的需求, 
                可以再套一层👻  | 
            
     21 
                    
                    deming      2019-06-20 20:25:18 +08:00 
                    
                    netty in action 中也提到了这句话。Java 原生的网络编程太难整了,所以,我们搞出了 netty。 
                 | 
            
     22 
                    
                    hoyixi      2019-06-20 21:36:44 +08:00 
                    
                    我感觉不仅计算机科学,现实中也是,如果可以来一层,难度会降低。只不过现实中很多情景不允许加一“层” 
                单说计算机科学,本质原则是:简单地做最专业的事 函数、类、指令等等,一些功能单元,越简单越好,然后该单元工作起来容错性、稳定性达到极致 然后用这些单元的时候,根据情况包“层”~, 怎么包,包完怎么组织这些“层”等等, 这学问归纳起来可以称之为: 面向对象技术,设计模式  | 
            
     23 
                    
                    wr410      2019-06-20 21:43:43 +08:00 
                    
                    因为你没有看到本质 
                这个宇宙的工作模式,其实就和计算机系统一样,所以它们解决问题的方式都是互通的,只是你没有找到接口而已。  | 
            
     24 
                    
                    Takamine      2019-06-21 08:06:50 +08:00 via Android 
                    
                    适配器转换器足够,我能键盘发电上网。:doge: 
                 | 
            
     25 
                    
                    halokings      2019-06-21 09:12:20 +08:00 
                    
                    一件事我搞不定,那怎么解决?我可以找一个可以搞定的人 
                 | 
            
     26 
                    
                    troywinter      2019-06-21 20:25:42 +08:00 
                    
                    @Raisu 丹尼斯 - 里奇 
                 | 
            
     27 
                    
                    joyee      2019-06-27 07:02:02 +08:00 
                    
                    我听说过的版本是,所有兼容问题都可以通过加一层抽象解决,所有性能问题都可以通过去掉一层抽象解决…… 
                 | 
            
     28 
                    
                    tinxing      2020-12-21 17:54:56 +08:00 
                    
                    不要误导人哈, 这句话是 David Wheeler 说的, 本意也不是我们理解的那个意思. 
                https://en.wikipedia.org/wiki/David_Wheeler_(computer_scientist)  |