无论多么稀松平常的日常事务,只要较真、寻源,就会面对学科的边界。
软件开发也是如此,软件开发涉及各种实体各种事情的抽象,一旦较真,要考虑的事情尤其多,更何况是工业级的软件开发。
看温伯格的书,感到他在软件开发方法论上深入的较真了多年。
光看这本书的目录就很有意思,问题、方法、系统与幻觉、观察结果的分解、对行为的描述,一些系统的问题。这个框架,只要解题就会遇到。
其中的中数定律,三个问题:‘为什么我们看到这些--这些事物是怎么来的?为什么某些不变、而有些又变?’
在机械论和量化科学领域的一切尽在掌握的良好感觉、和大数统计领域对于细节的干脆放弃完全只看统计和概率,这两种画风反差之大,谁没见过呢。
一边是只要努力、没有不能控制的;另一边干脆一开始就说,别想着什么完全确定的、一切都只是概率,好像看透了秩序的摇滚乐队。
学物理学到量子纠结、学逻辑学到哥德尔、学语言学到索绪尔和平克的语言本能,都会遇到这种对控制的幻灭、和对学科边界的SOS的感觉吧。
温伯格说,最容易控制的、就是简单又有序,比如机械系统、牛顿的世界;其次,还有虽复杂、但有序,就是虽然量大,但是所涉及的元素,都是各个领域内已经比较有把握的东西;但是,模块内已经比较靠谱的各个模块、数量一多、聚在一起、组合到一起,却未必靠谱。
但是,虽然不靠谱,也不必自暴自弃,不必直接就跳到概率的领域去完全听从概率发落;这中间,还有个叫系统论的学问专治各种不服。
除非是,遇到的问题所涉及的元素,在现有科学的范围内,都属于‘不一定’、模块内的顶级专家都还没找到方案的,而且各个相关因素数量又巨大、交互耦合又多,这种情况,只好靠统计、或者概率了。C.R.劳不是说嘛,“在终极的分析中,一切知识都是历史;在抽象的意义下,一切科学都是数学;在理性的基础上,所有的判断都是统计学。”
虽然,在抽象的意义下,一切科学都是数学。但是,当函数太多、全世界的计算能力也跟不上复杂度指数增长所需要的函数计算能力的时候,说这句话,不还是没什么帮助吗。
温伯格说了,实在完全没法用函数控制,那就交给统计学吧;不过药不能停,我们日常要解决的很多问题,虽然没有想牛顿的世界里那么朗朗乾坤,不过还没有复杂到那个程度,可以称之为中数的世界,在这个世界里,系统论这个学问还是找到些门道可以借鉴滴。
后面的几章,让人反复的自问‘你以为你看到的就是你所看到的,你以为的就是你所以为的吗’,看着难免艰深,还要慢慢啃。
不过,第一章的思考题,一共十道,我看一道就有一种被点中穴位的感觉,看到第十题,有浑身发冷的感觉,高手啊,我的多年的疑问短穴都在这里集合了。。。。。。。
考古学、运筹学、诗歌,被牛顿世界的迷人沉醉的时候,这些存在就好像鞋子里的石子一样。。。。。
稳定性、存续性、同一性,调节与适应,这些问题,也是复杂问题的老朋友了。。。。