模型: 分层思想

现在的我们已经习惯了到达陌生城市, 随手打开手机上的地图软件, 搜索你的目的地, 可以轻易直观地查看到达路线, 并且可以轻松知道不同交通工具到达所需的时间。

我还隐约记得, 十几年前, 第一次去外地读书, 下了火车后, 面对完全陌生的城市 和口音, 整个人的迷茫状态。 下车后第一件事就是在一堆呼喊着武汉地图的小贩 手中买下地图, 一点点去找学校的位置和到达的路线。

信息技术只有区区二十来年的时间, 却给这个世界带来了翻天覆地的变化。 在这个变化过程中, 分层 思想功不可没。

分层思想

All problems in computer science can be solved by another level of indirection.

如果你仔细地想下, 计算机其实是一件非常复杂的设计。一个小小地芯片上面包含 着N 多的晶体管, 你平时双击下鼠标, 打开了电脑上面的浏览器, 但你仔细想下, 那么多的晶体管, 他们是怎么协作, 才能实现那个打开浏览器的动作的?

计算机设计人员,用的就是 分层 思想。 从逻辑上建立了一层层的抽象, 每一层 都建立在前一层的基础之上, 所有分层自下而上建立, 完全不用考虑前一层的实现 细节的事儿。

CPU 是电脑的核心, 大脑一样的存在, 但不管CPU 有多复杂多高级, 本质上它就是用各种逻辑门组成的, 而逻辑门是由开关做的, 所以整个CPU 就是一个开关网络。

开关的功能是如此的简单, 它只能根据命令完成开或关这两个动作, 纯机械化地执行,没有任何智能, 但是亿万个这样的开关组合在一起, 就形成了CPU, 就能运行各种软件功能, 就能实现人工智能。

在硬件层面上看, 至少包含了四个层次的抽象:

  1. 最底层的是半导体物理学,
  2. 晶体管开关,是建立在半导体物理学上的模型,
  3. 逻辑门,是建立在开关上的模型,
  4. CPU,是建立在逻辑门上的模型。

软件层面也类似, 计算机本来只能认识0和1两个状态, 编写程序就需要使用机器语 言,写的程序就类似 001101101 之类的代码, 但后来程序员们增加了一层抽象, 发明了汇编语言,不用再去记忆0101之类的代码意义, 只需要记一些汇编词语就可 以了。再后来出现的高级语言, 不管是C还是 Python, 可以说是在汇编语言之上 又进行了一层抽象, 让程序员写程序变得更加方便简单。

分层是解决复杂问题最好的方法。

应用层

iPhone 出现时, 其所使用的所有技术都已经存在, 并没有什么独特的发展技术优 势。 但iPhone 还是和当时所有的其它手机有了质的区别,它的革命性贡献在于其 提供的APP 开发平台。 苹果在现有的技术框架之上又增加了一层--应用开发层, 提供了一个新的开发环境, 任何人都可以在这一层上开发手机应用。

增加了一个新的抽象层, 就增加了一种新的范式。无数的机会就在这个范式中涌现 出来。开头说的到陌生城市, 打开地图软件, 可以轻松到达任意目的地的功能, 就 是在这个抽象层中涌现的代表。

如果你想和你的对手彻底拉开同质化竞争, 可以思考下, 是不是有可能定义出一个 新的抽象层, 能把生态链中的伙伴拉到这个新的抽象层中发展。

新机会

电脑或手机上同时运行的绝大多数的应用, 不论哪个应用先启动或者哪个应用运行 得快一点, 都无所谓。

但像汽车或者飞机上面的应用程序就不一样了, 各种机械动作必须协调得非常好才 行, 启动时间和运行速度必须分毫不差。 而这种时间协调并不是通过操作系统之 类的调度中心统一指挥的, 各个参数都是在实验中分别微调出来的。

这就意味着芯片一旦调好就不能更换了。新一代的芯片的计算速度会大幅提升, 放 到原有的系统中, 之前的协调就会被打破。有了更好的便便宜的芯片, 你也不能随 便更换到之前的系统中, 这明显是种浪费, 也是一个巨大的机会。

现在互联网新贵们都涌向了造车市场, 如果单纯拼生产链和供应链, 明显和传统车 厂不在一个段位上, 如果只是在车机上放各种APP, 那就忽视了汽车出行的本质。

一个可能的新机会, 就是这些互联网新贵们, 去解析重构汽车运行的流程,不再像 之前的车厂一样, 去 调校 汽车的参数, 而是通过定义抽象层次, 在不同层次解决 相应的问题, 从而实现各层次的解耦。 这样既能解决硬件层面汽车性能更新换代 的问题, 又能在应用层发挥自己的优势。