从一本书说起
布莱恩·阿瑟是著名的经济学家,是研究经济正反馈机制的先驱。他在1990年获得“熊彼特奖”。投身复杂性科学领域,让他打通了技术和经济之间的关系。两本著作《复杂经济学》和《技术的本质》,诠释了他的主要思想。
《技术的本质》这本书,介绍了一套关于技术产生和进化的系统性理论,被誉为一把打开“技术黑箱”的金钥匙。
我们的世界因技术而改变,但是,技术的本质是什么呢?
从本质上看,技术是被捕获并加以利用的现象的集合,技术是对现象有目的的编程。这样讲有些抽象,不好理解。我们举个例子。
当谈论编程思想时,我们常会比较面向过程的编程和面向对象的编程。“面向什么”其实就是把“什么”作为主要的加以利用的现象,通过把这些现象集合起来、组织起来、操作起来,以此实现最终解决实际问题的目的。
看趋势和变化
我们回顾编程思想的进化,面向对象的编程发展的态势,优于面向过程的编程。这是为什么?
面向过程,会让一个类越来越全能,似乎要去完成所有的事情。而面向对象的编程,核心思想是’一切皆对象’,每一个类只需要做好自己的一件事,就可以了。大家各司其职,合作起来,做大事。
因为根据物质的熵增定律,世界的演变方式,一定是走向分化,分化就是残化。而残化后,若想求存,就必须互相媾和,彼此依托。
面向对象的编程,能够成为主流,是递弱代偿定律的必然结果。
基本原则的背后又是什么
敏捷开发对瀑布式开发的替代,也反映了这一定律。我们看敏捷开发的四项基本原则。
1、递增,而不是连续的:交付的工作软件是一小部分一小部分递增的。不必等到一个阶段完全完成后才开始另一个,完成的工作,也并不是业务最终期限,这驱动敏捷交付,也是熵增定律的力量体现。
2、避免不必要的开销:团队要尽可能多地减少项目计划和文档。想到了,就赶紧动手去做,不把时间浪费在整理文件上。这是最小作用力原则的体现。
3、协作:根据需求,团队成员一直与其它人进行交互,以及一些外部利益相关者。每个成员在承担自己的任务外,还需要与团队协作。没有人的工作是孤立的,也没有团队本身是独立工作的。这对应了分化后必求媾和的样态。
4、说真话:为了保证真正的敏捷,团队探讨的与项目相关的一切都要是真实的。大家一起正视问题,并一起解决。看似松散的团队,实际上是一个有机的整体,形散而神不散。
技术的本质是什么,我们从内驱力的角度观察。技术的内驱力,在于不断分化的必然动势,然后它们之间又彼此依存,而无法做到有效依存的哪些,进了故纸堆,成为了历史。