《毛泽东选集》(第一卷)读书笔记之二

《星星之火,可以燎原》(1930)

单看标题,容易让人以为文章是在谈论对于革命前途的信心的问题。但实质上,通篇围绕了一个核心:中央主张分散打游击,毛泽东建立政权。在这个问题上,双方的观点是很对立的。 毛泽东在这封通信中的“直陈”令人惊讶:“中央二月来信的精神是不好的”;“中央要我们将队伍分得很小…这是一种不切实际的想法”;“中央…对客观形势和主观力量的估量,都太悲观了”。

恐怕自三十年代以后,就再也没有人敢在给中央的公开信里面这么说话了。

《中国革命战争的战略问题》(1936)

这篇洋洋洒洒七十页的长文绝对值得读!原本毛泽东是打算把这个题目写成一本书的,但因为西安事变发生而没有写完,收了写完了的部分收在毛选里。文章不但浓缩凝练了老毛打仗十年来的心得,更有价值的是渗透于整篇文章中的思维方式——如何认识战争规律,如何学习战争规律,如何运用战争规律:

  • “战争的规律——这是任何指导战争的人不能不研究和不能不解决的问题
  • “中国革命战争的规律——这是任何指导中国革命战争的人不能不研究和不能不解决的问题
  • “我们应该研究一般战争的规律;也应该研究革命战争的规律;最后,我们还应该研究中国革命战争的规律
  • “有一种人的意见是不对的,…他们说:只要研究一般战争的规律就得了,具体地说,只要照着…那些军事条令去做就得了
  • “又有一种人的意见也是不对的,…他们说:只要研究俄国革命战争的经验就得了
  • “再有一种人的意见也是不对的,…他们说:…北伐战争的经验是最好的,我们应该学习它,具体地说,学北伐战争的长驱直进和夺取大城市。他们不知道:北伐战争的经验是应该学习的,但是不应该刻板地抄用
  • “战争和战争指导规律都是发展的,各个历史阶段有各个历史阶段的特点
  • “要求战役指挥员和战术指挥员了解某种程度的战略上的规律,何以成为必要呢?因为懂得了全局性的东西,就更会使用局部性的东西
  • “作战时选择突击方向和突击点,要按照当前的敌情、地形和自己兵力的情况去规定。在给养丰富的地方要注意不使战士吃得太饱
  • “学习战争全局的指导规律,是要用心去想一想才行的。…不用心思去想,就不会懂得
  • “一切带原则性的军事规律,…都是前人或今人做的关于过去战争经验的总结
  • “反对红军的游击主义,却又承认红军的游击性;反对战役的持久战和战略的速决战,承认战略的持久战和战役的速决战;反对固定的作战线和阵地战,承认非固定的作战线和运动战;反对击溃战,承认歼灭战;…反对绝对的集中指挥,承认相对的集中指挥;…

我们完全可以按照《中国革命战争的战略问题》的框架和线条写一篇《中国软件开发的方法问题》。把战争替换成软件,便直指中国软件开发方法认识诸多误区。

  • 软件开发的规律——这是任何开发软件的人不能不研究和不能解决的问题
  • 中国软件开发的规律——这是任何中国开发软件的人不能不研究和不能不解决的问题;
  • 我们应该研究一般软件开发的规律,也应该研究中国软件开发的规律,最后,我们还应该研究中国商业软件(commercial software)的开发规律;
  • 有一种人的意见是不对的,他们说:只要研究一般软件的开发规律就可以了,具体说,只要按照CMM或RUP说的去做就可以了;
  • 又有一种人的意见也是不对的,他们说:只要研究中国的特殊国情就可以了。
  • 再有一种人的意见也是不对的,他们说:求伯君开发WPS的经验是最好的,我们应该学习他,具体说,就是鼓励编程英雄。他们不知道,求伯君的经验是应该学习的,但不应该照搬。
  • 软件和软件开发方法都是发展的,各个历史阶段有各个历史阶段的特点;
  • 要求基层程序员了解某种程度上的软件开发的方法,何以成为必要呢?因为懂得了全局性的东西,就更会使用局部性的东西;
  • 软件测试选择的方法和重点,要按照当时的项目进度、资源、受众、团队水平、人员能力、人员数量去规定。在测试已经相当充分的领域注意不要过分追求100%自动化;
  • 学习软件开发的方法,是要用心去想一想才行的。不用心思去想,就不会懂得;
  • 一切带原则性的开发方法,都是前人开发过的项目的总结;
  • 反对流程决定论,但也坚持必须先设计后编码;反对理想化的测试驱动,但承认最终定义产品的是测试用例;反对文档中心论,承认文档作为agreement的重要性;反对会山会海,承认沟通的重要性;反对“万般皆下品,唯有编程高”,承认software maker和software breaker的差异;…

每一个关心软件开发方法论的人都值得读一读《中国革命战争的战略问题》,边读边思考如何借鉴毛泽东同志研究中国革命战争战略的眼光、思维方式、态度、基本观念,并用于研究探讨中国软件开发方法。

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s