下面的文字,有的来自自己微博上的记录,有的来自散写的文章,但总的来看都是自身这些年来的一些思考。

也许对喜欢思考的人有点意思,所以汇总下。

但也正因为时间跨度和来源比较杂,就没什么体系性了。

关于编程

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.社会大多时候是在灰色中前行。在灰色中看多了白的会乐观,看多了黑的则会悲观,但社会自身却只是一如既往。

------------------------------------------------------------------------------------------------------------------------------------

理想流 + 软件 = 《完美软件开发:方法与逻辑》
理想流 + 人生 = ??
理想流 + 管理 = ??
理想流 = 以概念和逻辑推演本质,追求真理。

一个程序员的哲学思考(关于编程、关于人生)相关推荐

  1. [转]一个程序员的哲学思考(关于编程、关于人生)

    原文链接 下面的文字,有的来自自己微博上的记录,有的来自散写的文章,但总的来看都是自身这些年来的一些思考. 也许对喜欢思考的人有点意思,所以汇总下. 但也正因为时间跨度和来源比较杂,就没什么体系性了. ...

  2. 程序员很忙吗_当一个程序员一天被打扰 10 次,后果很惊人!

    来源:不会笑青年 在公众印象中,程序员很忙,没错!不过他们忙碌的原因也许并不只是代码,更多因素应归功于这一次又一次的打断!以下是网上查到的一些信息 一个程序员被打搅后,他需要10-15分钟的时间才能重 ...

  3. 废掉一个程序员最好的方法,让他忙碌着,忙碌到没时间思考

    文|洪生鹏,来自|爱开发 01 好友老张最近又跳槽了,薪资比之前翻了一番,电话里说要请我们吃饭,印象中老张几乎是一年一跳.老张是一名java程序员,工作6年已经跳槽4次了.加上这次算5次了. 对于程序 ...

  4. 一个程序员对2020年的一些思考和总结

    一个程序员对2020年的一些思考和总结 profile-avatar Python123 2020-10-08 14:34 首先这篇文章不等于"2020年总结",因为2020年还没 ...

  5. 转载:每一个程序员要遵守的一些优秀编程风格

    无论你是业余的还是专业的程序员,正确的编程风格,不但有助于提升软件产品的功能,还可以明显减少软件灾难的产生.今天,我们就来探讨一下有助于我们获取更佳编程风格的一些最好的规则. 每一个程序员要遵守的一些 ...

  6. ubuntu c 判断程序是否启动_刚刚接触编程的我,怎么判断自己是否适合做一个程序员?...

    其实对于这个问题,很多刚刚进入大学选择计算机相关专业的小伙伴都会有类似的疑惑,不知道自己该不该学习编程,适不适合学习编程,以后走程序员这条路适不适合自己等等.那么今天,笔者在这里简单来说一下:我们如何 ...

  7. 论一个程序员的编程修养(你品,你细品)

    论一个程序员的编程修养 转自:陈浩 芯片之家 作者:陈浩 来源:嵌入式云IOT技术圈 什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是.对于一些技术细节来说和 ...

  8. repost 编程之路--一个程序员的艰辛经历

    如果对自身的发展迷茫,可以看看这篇文章,这里真实地记载了一个程序员走过的路. 这些日子我一直在写一个实时操作系统内核,已有小成了,等写完我会全部公开,希望能够为国内IT的发展尽自己一份微薄的力量.最近 ...

  9. 程序员编程表达爱情php,用代码书写一个程序员的爱情故事

    今天在csdn上看了一篇帖子:这段代码描述我最近的心情. 才发现原来用代码可以书写人生,对代码的作者十分钦佩. public class MyLoveStory { public static voi ...

最新文章

  1. 军事科学院医学研究院认知与脑科学研究团队2020年诚聘启事
  2. Android UI编程进阶——使用SurfaceViewt和Canvas实现动态时钟
  3. 全局变量、成员变量、类变量、静态变量、实例变量、局部变量的定义与区别
  4. adnroid string拼接_Android开发中string.xml文件中字符串的拼接
  5. java map 实例_java中map集合嵌套形式简单示例
  6. perl亲身试验ini---使用perl读写配置文件
  7. 修改Maven默认编译级别
  8. 计算阶乘的两种实现方式(Java)
  9. 东芝B-SX5T标签打印机安装过程
  10. mysql rm-rf_rm-rf误操作的恢复过程
  11. Java 程序员 金三银四面试必备:高速突击学习框架 + 性能优化
  12. 精辟的人生格言,呵呵
  13. 抱团股会一直涨?无脑执行大小盘轮动策略,轻松跑赢指数5倍【附Python代码】
  14. java多线程12:阻塞队列Queue
  15. 移动硬盘linux逻辑分区的区别,移动硬盘是否需要分区
  16. Ubports安装和使用gedit和ros等记录(仅供参考)
  17. c# 选中dataGridView中的一行将其删除
  18. 树莓派之常用软件(32位/64位)
  19. 测试工程师面试题,你都遇到过哪些呢?
  20. dual_contrastive_loss粗略解读

热门文章

  1. 网络上排名前500的电子电气网站
  2. 手机无线打不开网络连接到服务器,melogin.cn手机上打不开 melogin·cn打开界面解决方法...
  3. mysql 约束基本概念 主键约束 外键约束
  4. Python编程基础之Python语言的输入输出
  5. a href 跳页面 打开新标签
  6. unity中RenderTexture显示图片中如何带透明通道
  7. 汇编语言程序设计DOSBox+MASM文件,解决汇编程序设计入门问题
  8. 七桥问题python_Python系列—一笔画问题的算法研究
  9. osx中的环境变量设置
  10. 快牙传输应用apk原理