软件开发技术的第一性原理

1.什么是第一性原理?

       物理学有一个第一性原理,指的是根据 一些最基本的物理学常量,从头进行物理学的推导,进而得到整个物理学体系

       马斯克特别推崇第一性原理,他做电动汽车、做航空火箭,并没有遵守别人的老路,而是从这个产品最本质的需求实现原理出发,重新设计了产品最核心的关键以及发展路径,进而开发出自己独特的创新的产品。

       Google创始人拉里·佩奇说过:“让我自由地从物理规则出发去思考问题,而不是迎合那些所谓的世俗智慧”。

         这就是所谓的第一性原理。

2.简单归纳:什么是第一性原理?

        就是让我们抓住事物最本质的特征原理

3.问题举例

        3.1我们的程序是如何被操作系统调度执行的?

        3.2为什么高并发时系统会奔溃,原理是什么?

        3.3在编程时,什么场合下应该使用链表?什么场合下应该使用数组?为什么?

        3.4当使用hash表的时候,什么情况下他的性能会急剧降低?原理是什么?

        3.5我们使用Redis这样的分布式缓存到底要解决什么样问题?分布式缓存是如何工作的?还有哪些技术看起来和Redis毫不相干,其实工作原理是一样的?

        如果把这些基本问题都搞明白了,问题背后的核心技术原理也都理解了,那我们就开始建立自己的技术思维体系了。当有新的问题和技术出现拉你就可以思考,这是属于哪项技术领域的?它的核心原理和哪项技术方案本质是一样的?

        总结:技术是一朵花,技术思维体系就是一棵树。

你可能感兴趣的:(java,技术的第一性原理)