一个程序员的哲学思考(关于编程、关于人生)
下面的文字,有的来自自己微博上的记录,有的来自散写的文章,但总的来看都是自身这些年来的一些思考。
也许对喜欢思考的人有点意思,所以汇总下。
但也正因为时间跨度和来源比较杂,就没什么体系性了。
关于编程
1.和世界格局一样,软件开发里也是多维力量(商业、公司政治、技术等)在冲突,单纯地斗争和避让其实都不太行。
2.很多时候人们争论是因为都不清楚问题自身。比如:软件工厂可能么?
软件和工厂都是巨大且模糊的概念,A或B的理解中又为之注入了各自色彩,所以即使讨论激烈,却可能说的根本不是一个东西。
这对脑子转数快的人有利,因为面对面讨论时,事实上他可以随便立论。
3.能否处理模糊的东西是判断力的关键。现代管理里老说用数据说话,就给人一种误解,以为数据是判断的基础,但其实不是。
如果一切都可量化,判断就半点价值也没有,猪也能干,恰是因为有些东西无法量化,判断才有价值,人才有差异。
软件里问题尤甚。
4.如果说抽象是软件设计的核心,那么抽象不充分则是软件要面对的核心问题,可以说本质上讲OO,设计模式等要解决的首先是抽象不充分。
但抽象本身并非毫无代价,比如:抽象充分的同时,概念数目、层次往往会增加,究到底在设计上追求的其实是最佳均衡点。
5.如果说软件是固化的思维,那软件就必然同时具备思维以及思维所承载之物之特质。
思维的特质是指:思维的澄清通常是渐进的,思维自身是不可度量的等等。
思维承载之物之特质是指:当思维的对象是数学的时候,思维就有数学的特质;当思维的对象是商业逻辑的时候,思维就具有商业逻辑的特质。
6.在软件这个江湖里,政治和技术是两个完全不同的维度,最怕的就是政治的问题用技术来解决或者技术的问题用政治来解决,两者十有八九都十分惨烈且结局悲催。
7.一个人从代码里看到什么大致取决于其心境。年青的时候往往只能看到技术,可看着看着,就看到了利益纠葛,人生无奈,世道人心。
8.对方法论而言,不只要描述方法自身,还要描述方法论自身的能力边界---除非你是对立统一这个级别的普遍真理。也许是因为人心狂妄,所以后者大多时候做的不好。
9.在软件开发中,数字含义的模糊性会导致使用数字进行评价包含非常多的不公正,这种不公正会对工作意愿构成致命伤害。
所以个人层面的量化管理在软件开发面前,必然崩溃。
10人和项目特征决定了开发模型,而非反过来需要根据开发模型来调整人员配置等。这是因为在特定时空背景下,调整人和项目特征的可能性小。
11.假如人和项目的变化是连续的,那么无疑绝对的瀑布和迭代之间程度的变化也是连续的。
作为结果,最优的开发模型必然既不是绝对的瀑布,也不是绝对的迭代,而是一种具体情境下的选择,可能偏向于瀑布,也可能偏向于迭代。
关于人生
1.比神话像神话的其实是科学,据说宇宙是在那么一个时点突然间就从无到有的,据说人是从微生物一点点变来的,从这个角度看,幻想人长翅膀在天上飞,那是相当的现实了。
2.也许思维是神性的残留,在纯思的世界里更容易认知事物的本质,却也真的冰冷无情。
相比之下,也许真的是诗词更有价值,可惜的是就搞这个的真没战斗力,很容易被KO。
对个人而言倒是真适合在两者间找个均衡,惟其如此,才能既不失了智慧,也不失了情趣。
3.人是靠精神支撑的,所以心无所寄者必然在生活中无所作为,无聊度日。
而功利来看,所谓寄托者实与道德没半点关系,这点与教科书不同,报效祖国之外,杀人放火也是寄托,只要它是心中一种真实的期望。
4.年纪小的时候很容易和人争论这,争论那,目的往往倒不是因为是非,而是单纯因为气盛。
等真能心平气和听听别人意见,又不盲从时,大致是有点年纪了。等到听什么都如风过耳,保持冷淡时,没准是离挂不远了。
5.佛家有个题目叫“万法归一,一归何处”。
后半句题目难做,大师可以用来消遣,我们不理它,但假如前半句成立,争议就可以分为:0.5和0.2的争议,1和0.5的争议。
前者是都在盲人摸象,后者是高处不胜寒。
6.读书的关键前提是心里有”我“,否则读来读去,自身会脑子乱掉,变为矛盾体。
想象一下一个人和马克思坐而论道,必然会输,所以信了马克思;再和凯恩斯坐而论道,必然也会输,所以信了凯恩斯。
所以观点上会一会马克思,一会凯恩斯,但关键是这两个人某些想法可能是对冲的。这就会走火入魔,自废武功。
7.凡本质的必然抽象,而具体的则大多偶然。管理公司是具体的,管理学则是抽象的,但管理学更贴近于管理的本质。
喜欢思考的人往往无视细节,这有助于追索本质,但言语就容易抽象。
本质在大时间尺度下可以经受得住考验,但确实对成功影响不大,因为成功往往是种偶然。
8.一个人如果过度务实,那么就容易迷失于现实而找不到道路;一个人如果过度务虚,那么就容易飘的过高而无法落地。
所以世上事,最难的往往是尺度的把握,而非一些可见的难度。
9.老有很有名的人讨论很奇怪的问题,比如:教管理的教授开的公司挂了是不是就说明理论没用,殊不知这类问题被讨论好几千年了,相当的初级。
真的是:好多人自以为什么都不信,其实不过是三流哲学家的信徒。
10.如果把普通人的人生抽象为一个方程式,那么变量真的不多,10年时光足够把大部分偶然变量都打磨掉,而只剩下作为支撑的必然。
所差别的只是当事人究竟以何种心态来面对。
11.社会大多时候是在灰色中前行。在灰色中看多了白的会乐观,看多了黑的则会悲观,但社会自身却只是一如既往。
--------------------------------------------------------------
理想流 + 软件 = 《完美软件开发:方法与逻辑》
理想流 + 人生 = ??
理想流 + 管理 = ??
理想流 = 以概念和逻辑推演本质,追求真理。