争论与论证从来都不是新鲜事物,作为软件行业的科技工作者,理应对各种论证的手段了如指掌才是。然而,从各种我参与的有争论的场合来看,事实并非如此。许多论证终都停在口号式的结论,或是由于自说自话无法进行下去。科学对人类的贡献之一在于科学的方法,而“合理”的论证方式才是科学真理得以彰显的手段。

  《论证是一门学问》一书中提到了论证的基本规则,以及各种论证的方式:类比论证、因果论证、演绎论证。这些方法都不是什么难度很高的方法,但在实际的争论过程中,尤其是在微博上进行的论证中(字数的限制也是导致误解的原因之一),却并不经常被论证的双方所遵守。

  一个观点包含“前提”和“结论”。前提是为你的结论提供理由的表述。前提一般基于具体的事实或是已经被事实证实的结论,通过前提,借助各种论证的方法能推导出结论。这个过程看似简单,在很多情况下却并非显而易见。《论证是一门学问》一书的第3页给出了《福尔摩斯全集》中的《银色白额马》中福尔摩斯的一个推论过程:

  马厩里养着一条狗,然而,尽管有人进入马厩并牵走一匹马,(这条狗)却没有叫……显然,……来者是这条狗相当熟悉的一个人。

  在这个推论中,福尔摩斯有两个前提。一个显而易见的前提是,狗没有冲着来人叫;另外,福尔摩斯使用了一个他认为我们都会认可的前提:狗会冲着陌生人叫。这两个前提合起来,便能够得出他的结论:来人是狗熟悉的人。

  接下来我们用几个更贴近各位工作实际的例子来展示不合理的推论过程。

  例1:

  软件测试工程师懂得开发后,会从开发的角度思考问题。这样测试工程师不能起到与开发工程师在思路上互相补充的效果了。

  这个推论过程是一个典型的假言三段论(Hypothetical syllogism,见《论证是一门学问》P80),这里的要点是,只有在连续的两个推论都都没有问题的情况下,后的结论才是有效的。这里的两个推论分别是:1,如果软件测试工程师懂得开发,会从开发的角度考虑问题;2,如果测试工程师从开发的角度考虑问题,无法起到与开发工程师在思路上互相补充的效果。

  显然,对第一个推论,其要害在于,是否一个人懂得了某种思考方式,一定会应用这种思考方式?答案显然是否。很容易用反例方法推翻这个推论:成人通常也可以懂得儿童的思维方式,但这并不意味着他一定会用儿童的思维方式去思考问题。实际生活中,大多数父母都能够在懂得儿童思考问题的同时用成人的思考方式考虑问题。

  因此,由于第一个推论不成立,终的结论显然不可靠。

  例2:

  很多组织甚至认为独立的测试团队是不需要的,这种观点是错误的!他们认为测试不重要是因为他们对质量不重视!。

  这里的前提有两个:1,很多组织认为独立测试团队是不重要的;2,这些认为独立测试团队不重要的组织不重视质量。很显然,稍微深入一点探讨这个结论,很容易发现,“很多”这个前提没有数据来源,可能仅仅是推论者的一个主观感觉;另外,由于“很多组织”本身是一个虚拟出来的概念,更谈不上有任何实例来说明“很多组织”中的这些都是对质量不重视的公司。反而,针对这个论断,容易举出好些反例来证明它是不可靠的(大多数互联网创业公司都会在很长一段时间内不设置独立的测试团队)。

  关于例1和例2提到的话题,我并不想在这里进行讨论。拿它们做例子,不过是说明一个有效的论证应该是什么样子的。

  论证中,一方面需要为自己的观点提供可靠的前提,提供合理的逻辑推断过程,同时也需要对自己不认同的观点提出置疑和反驳。与众不同的观点并不可怕,可怕的是无法以符合逻辑的方式捍卫自己的观点。